[165] Většina lidí o OOM Killeru neví, ale autoři aplikací by snad měli znát systém, pro který píší ;). Autoři aplikací pro Linux píší typicky aplikace pro Linux, a ty se možná později portují jinam. Podobně autoři aplikací pro Solaris píší typicky pro Solaris, a později se možná portuje jinam. Protože unixy jsou jedna platforma (byť rozbitá do řady produktů, a v případě Linuxu i dister), portování zpavidla neznamená větší přepisování.
S KB 249694 jsem se strefil celkem dobře. Pořídit backup, poté nainstalovat čistý systém na cílový stroj, a provést restore toho backupu, to je celkem možnost v tom článku popsaná. Pokud jste na disk nakopíroval data ze stávající instalace, chtělo to nakopírovat je nějakým programem pro imaging disků, který podporuje danou verzi NTFS (třeba Norton Ghost je oblíbený). Samotné kopírování totiž nemůžete provést z běžícího systému, ani na běžící systém. A i kdybyste ho provedl pomocí třetího systému, stejně musíte označit cílovou partition jako aktivní, mít správný MBR a boot sector (to dovede zajistit volba Restore Startup Environment z instalačního CD). A znovu, pokud nenaběhne ani Safe Mode, udělal jste někde chybu, a je třeba provést repair instalace, nebo si alespoň nechat vypsat log bootu systému. Jak říkám, zřejmě jste prostě neměl potřebné informace. Alternativně jste s těmi informacemi neuměl zacházet, ale to se mi nechce věřit.
Já když naposledy měnil počítač, tak jsem Windows XP překopíroval na nový disk nějakým nástrojem. Svoji instalaci Linuxu jsem překopíroval úplně stejně. Windows chodily bez problémů, a když jsem jednou zkusil nabootovat Linux, tak to na první pokus prošlo, jen nenaběhl X11 server. Jenže druhý start Linuxu už neprošel. Po bootu z cd jsem zkusil FS přimountovat, ale dozvěděl jsem se, že je corrupted superblock. Tak jsem na něj pustil fsck. Ten hlásil, že je FS v pohodě, a to i na fsck -f. Přimountovat bohužel nadále nešel. Když jsem to tu někde psal, bylo mi řečeno, že je určitě problém mezi klávesnicí a židlí, a že jsem si FS zničil sám. Ve skutečnosti ho zřejmě nabourala ta utilita pro disk imaging. Ale to nic nemění na tom, že FS je buď corrupted, nebo clean. Těžko může fsck tvrdit "je to OK", mount tvrdit "FS je v háji", a někdo to komentovat "chyba není na straně FS, ale uživatele".
Jako další zábavné příhody bych uvedl na prvním místě připojení projektoru k počítači. Prostě jsem strčil kabel do druhého VGA konektoru, a ve windows spokojeně fungoval. Jednoho dne jsem zkusil nabootovat Linux, a místo grafické session na mě vyběhla barevná změť. Log X11 serveru vypadal OK, stroj v principu reagoval (při pohybu myší se v té změti něco měnilo), rekonfigurace X11 serveru nepomáhala. Nebudu vás napínat, byl to bug open source driveru nv (asi autoři neměli k dispozci dva monitory). Stáhnul jsem si driver nvidia, zdrojáky jádra, správnou verzi gcc, a ještě nějaký další required balíček. Instalace s kompilací poté prošla, ale bohužel driver se sám nijak neaktivoval. Je super, že byla instalace dokončena, ale proč proboha poté musím ještě v konfiguraci X11 ten driver vybírat? No, v SaX2 nastalo překvapení. Po jeho spuštění nebyl vidět kurzor myši, i když klikat naslepo šlo. Po čase jsem zjistil, že na obou monitorech byl shodný obraz, ale v důsledku nějakého bugu byl kurzor myši vidět jen na primárním monitoru. Bohužel si driver jako primární monitor vybral ten vypnutý projektor. Takže editace konfiguráku, a pak už X11 server konečně fungoval jak měl. Snahu o přepínání mezi monitory jako ve Windows (přepnout na LCD, přepnout na projektor, přepnout na LCD a rozšířit plochu o projektor, změnit rozlišení toho či onoho) jsem vzdal ze třech důvodů. 1) se mám rád a tohle nemám zapotřebí, 2) představa dalšího hrabání v konfigurácích, stahování, kompilování a kdo ví čeho ještě me znechucovala, 3) nemám co bych z Linuxu pouštěl na projektor - neměl jsem na něm aplikace, hry ani mplayer (ten jsem si později zkompiloval - také zábavné).
Druhá příhoda je kratší. Víte, že Linux může díky svému zaostalému device managementu na RAIDu založit maximálně 15 partitions? Zjistěte si, co je major number a minor number, a k čemu se interně používá. A zjistěte si, jak se adresují partitions. V krátkosti na partition u RAIDu v minor number připadají jen 4 bity, přičemž 0 je celý disk. Průšvih je, že tohle omezení mají jen některá zařízení. Bohužel utility o tom nevědí, a při vytváření 16. partition hlásí dost nesmyslné chyby. Nenapíší "smůla, tohle zařízení umí max 15 partition", ale něco typu "ioctl xyz selhal, v modulu abc, na řádce 123". To fakt potěší, že. Jako dodatek musím uvést, že snahy Linux admina o zprovoznění RAID1 na tom samém RAIDu pravidelně končily tím, že se po hodině až dvou zrcadlo rozbilo, a data se ztratila. Jenže tak je to na Linuxu se vším. Všechno funguje v lepším případě napůl, a admin je kvalifikovaný tím, že tyhle chyby zná a umí je obcházet (například admin ví, že názvy souborů s češtinou jsou zvěrstvo a hnus, a chyba je na straně uživatele - i když z hlediska FS je to OK, a problém působí vždy jen vadná aplikace). Kdo počítá s tím, že věci fungují, jak mají, tak Linuxu prostě vůbec nerozumí, je lama, a neměl by na něj hrabat. Jenže mě tenhle model nějak nesedí.
Kdo mi říkal, že jiná distribuce používá standardně CONFIG_PREEMPT? Jistě to dohledáte, jestli to někdo opravdu říkal.
Nevím, proč byste nenasazoval poslední Kubuntu, když máte možnost výběru. Možná tu možnost výběru nemáte, a jen si to myslíte. Pokud se bavíme o jádru, tak tam typicky skončíte u 2.4.cosi, a dále vaše distro nedostanete, protože byste přeboural velkou spoustu závislostí (totéž s glibc). Pokud byste upgradoval celé distro (tedy včetně kernelu, X11 serveru, GTK, Qt, Gnome a KDE), rychle byste zjistil, že s novými vlastnostmi přichází nové požadavky na HW.
Z NT hard real time modulem prostě uděláte. Jde o často používané řešení. Je trochu zvláštní, když vám ve zkratce popíšu, jak jsou RT extensions udělané, a vy mi k tomu řeknete, že to "prostě nejde". Zjevně jde:
http://msdn.microsoft.com/en-us/library/ms838340.aspx
Pokud měníte zdroják jádra vlastním patchem, musíte patch integrovat po každé změně jádra - po každém patchi, pro každou minor verzi jádra. Samozřejmě je třeba vždy provést sloučení patche, kompilaci, testování, a samozřejmě přicházíte o podporu jádra. Modulární systém vypadá úplně jinak - viz výše.
NTFS umí řadu věcí. V současné době například TxF, tedy ACID transakce. Ne nad jedním souborem, ale nad celým FS, a to s dvojfázovým commitem. V důsledku toho můžete začít transakci, zapsat do souboru, zaloit adresář, zapsat do databáze, poslat data na mainframe, a potom vše potvrdit jako jednu transakci, nebo provést rollback. Z dalších zajímavých věcí třeba šifrování na úrovni jednotlivých souborů (EFS) a online kompresi. Umí online defragmentaci, což je také na unixech dost neobvyklé. A mimo jiné má reparse points. To je možnost přiřadit objektům na FS speciální atribut, který způsobí, že zpracování objektu bude postoupeno registrovanému pluginu. Představte si, že máte 10TB FS, a 15TB z něj přesunete na pásky. Na FS vám pak zůstanou reparse points, a když k takovému souboru přistoupíte, plugin vám ho zcela transparentně vytáhne z pásky. To je samozřejmě jen jeden příklad využití, možnostem se meze nekladou. A co je nejlepší je fakt, že NTFS má všechny features najednou - kvóty, ACL, kompresi, šifrování, online defrag atd. Není pak třeba volit mezi různými FS, kde každý umí jen něco.
Zkoušel jste přimountovat novější verzi RFS se starší verzí driveru? A zkoušel jste to u ostatních FS? A jak to dopadlo? Neprošel mount (špatně), nebo prošel ale data nebyla čitelná (hůře), nebo dokonce došlo k poškození FS (nejhůře)?
To "zprasení" není důsledkem návrhu. Konfigurace uložená v Registry je v tomhle úplně stejná, jako konfigurace uložená v konfigurácích. Co si program při odinstalaci odstraní, to odstraní, a zbytek zůstane. Když na Linuxu odinstalujete Oracle, zbudou vám například konfiguráky ve /etc, environment variables v různých skriptech, a hromada souborů v ORACLE_HOME. Data uložená v uživatelských profilech (třeba jiného než aktuálně přihlášeného uživatele) se typicky také při odinstalaci balíčku neodstraňují. Navíc při odstranění balíčku X se normálně neodebírají balíčky, na kterých byl závislý, a které potřeboval jen on (čímž se Linux zanáší).
Linux mají Windows Installer, proti kterému jsou balíčkovací systémy na Linuxu chudými příbuznými. Abyste tohle věděl, musíte ale vědět o existenci Windows Installeru, a alespoň něco z něho znát (podporuje výběr instalovaných komponent, reair instalace, odinstalaci, umí custom dialogy, custom instalační akce, a samozřejmě i několik úrovní GUI, včetně instalace zcela bez interfacu). Naopak linuxový systém balíčků nepodporuje uživatelské volby, takže si například uživatel při instalaci OpenOffice nemůžete vybrat cestu pro instalaci, nemůže vybrat komponenty (Writer ano, Calc ne, asijské fonty ano, další fonty ano, cliparty ne, slovníky ne, speller jen anglický a český). Nebyl jste to vy, kdo zmiňoval tu důležitou možnost volby? Jak jistě víte, OpenOffice na tyhle věci používá vlastní instalátor, který má GUI ve stylu Windows Installeru.
Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. GNU/Linuxem a Unixem obecně se zabývá již více než deset let a věnuje se především jeho nasazení v počítačových sítích a bezpečnostní politice. Zde bloguje o Root.cz, Linuxu, internetu a světě kolem sebe.
Přečteno 114 057×
Přečteno 90 395×
Přečteno 73 784×
Přečteno 58 461×
Přečteno 54 674×