Ano, tim by si clovek opravdu pomohl. Aby nebylo nutne jednou za nekolik let vycistit nadbytecne balicky a konfiguraky, nainstaluje si uzivatel OS, ktery je nutno minimalne jednou za par let (drive i nekolikrat do roka) kompletne preinstalovat + nasledne preinstalovat aplikace. OS ktery ani neni schopen promazat si pri bootu svuj adresar docasnych souboru, kterych se tam muzou valet gigabajty a ve kterem po kazde odinstalaci programu zbyvaji soubory, adresare a klice v registry. A pak to jeste musi pracne aplikaci po aplikaci upgradovat, aby se predeslo pouzivani deravych aplikaci, coz bez pomoci napriklad Secunia PSI je opravdu problem.
Prosim te, bez uz se umlatit motykou. Nebudes jiz vice muset trolovat na linuxovych forech, jak je ten hrozny Linux hrozny. Nebo se bez na protest upalit kanystrem benzinu pred sidlem Red Hatu.
...divím se, že ještě tomu R. Hulánovi nedali BAN na všechny projekty iinfo a spol. :O :-(
_____________________________________
Torproject
EFF
Pro dospělé lidi bych zrovna neříkal.
Linux poskytuje nejvíc možností konfigurace a kdo to umí tak na něj nedá dopustit. Výborně se hodí pro dlouhodobé instalace, jako třeba nejrůznější servery s nepřetržitým provozem, nejrůznější klientská nasazení sestavovaná na míru apod.
Windows mají dlouhou zpětnou kompatibilutu, největší zásobu software, největší podporu HW, ale na druhou stranu trpí třeba tím, že na stejném HW po čtyřech letech a četných záplatách zpomalí na polovinu. Ale že by jeho uživatlé byli v něčem dospělejší bych netvrdil. Jedna zákaznice mi vrátila přeinstalovaný PC s W7, že to není dodělané a že to měla původně jinak. Tak jsem za ní jel a šlo o to, že na ploše měla ikonu Wordu na jiném místě než předtím a nenašla jí. To bych za dospělé chování úplně nepovažoval.
Mac je systém pro ty, kteří nerozumí a nechtějí rozumět ničemu z oblasti výpočetní techniky, chtějí mít především krásný předmět s nádhernými ikonkami a žijí v přesvědčení, že MAC dělá všechno sám. Ve skutečnosti MAC podporuje naprosté minimum HW, SW je pro něj jako jehel v kupce sena, zpětná podpora komerčního sw mezi jednotlivými verzemi MAC OS je všelijaká. Jeho uživaté jsou až na profesionály v grafických a hudebních studiích většinou přerostlé děti, které věří na zázraky a nechtějí se z toho omylu nechat vyvést.
Zajimave si mne vyprofiloval. A to mne ani neznas :-).
Mam Maca a rozhodne na zazraky neverim. Stejne tak nedelam v nejakem grafickem ci hudebnim studiu. Jo a take nemam pocit ze by SW bylo jak jehel v kupce sena (muzes se divit, ale takrka vse co jsem pouzival v Linuxu, pouzivam i na jabku).
No a k veci: Odinstalace programu instalovaneho pres PKG v OS X je des bes - OS X nijak moznost odinstalace neresi, pro nej je to jednosmerna udalost. Odinstalace programu "nainstalovaneho" pretazenim do Applications je oproti cemukoliv podstatne snazsi (pretahne se do kose), ale zase neresi konfiguraky. Ty zustavaji az do kompletni preinstalace celeho OS (pokud clovek nema AppCleaner a podobne nebo dostatek trpelivosti).
V tomhle Apple proste kulha na obe nohy. Nebo mozna jen na jednu - to proto, ze se oproti MS Win nezpomaluje.
Ačkoliv sám používám Windows, protože mnoho věcí lze udělat a nastavit rychleji (v GUI si najdu co potřebuji (a najdu v nápovědě místa, kterým nerozumím) místo toho, abych kvůli každé prkotině četl stovky manuálových stránek), tak zrovna s tímto názorem jednak velmi silně nesouhlasím a jednak mi přijde velmi nevhodný v rámci tématu.
Vždyť Windows jsou pověstné tím, že tam zůstává spousta balastu! V Linuxu (v rámci Debianích distribucí) jsme se zde naučili, jak odinstalovat nepotřebné balíky a jak čistit staré konfigurační soubory. Hotovo konec. Tohle se využije jen při instalaci a odinstalaci.
A Windows? Pro skutečné odinstalování programu je potřeba speciálního nástroje, jako je Revo Uninstaller, který odstraní zbytkové soubory a záznamy v registrech. Systém je dále potřeba průběžně čistit, např. CCleaner, protože mnoho programů neumí po sobě čistit dočasné soubory a podpora v OS (jako je např. automatické mazání /tmp/) je... no, není. Prostě lahoda :3.
Odinstalace programu ve Windows odstraní přesně to, co autor odstranit nechá. Pokud zůstanou například záznamy v Registry, je to obdobou konfiguráků, které vám na Linuxu běžně zůstanou po odinstalaci aplikace. Chleba to nežere.
Čištění dočasných souborů je ve Windows fakt věda. Je potřeba stisknout tlačítko start napsat "cleanup" (bez uvozovek) a stisknout enter. Wizard vás provede.
Pokud jde o zbytky v registrech - analogii s konfiguráky v Linuxu chápu a plně s ní souhlasím, problém ale vidím v jejich čištění. V případě Linuxu tu mám kupříkladu dříve zmíněné "aptitude purge ~c" (které sám používám už nějakou dobu), ale v případě Windows k tomu není nějaký nástroj (AFAIK) kromě specializovaných odinstalátorů.
Ohledně čištění dočasných souborů - tipuji, že máte na mysli Windows Vista a/nebo Windows 7. Já ještě běžím na Windows XP (zatím mě nikdo - Microsoft ani komunita - nepřesvědčil o přechodu) a nic takového tu nemohu najít. Nicméně pokud Windows Vista a/nebo 7 obsahuje nástroj pro pravidelné čištění a je to použitelné BFU (včetně informací v začátečnických příručkách), pak samozřejmě beru na vědomí a omlouvám se za neznalost. Sice to pořád není takové, jako je automatické čištění /tmp/ v Linuxu, ale je to o dobrý krok dále. (O hodně dobrý krok; už jsem viděl složky s dočasnými soubory o velikosti víc, jak cca 10GB a uživatel nešťastný z docházejícího místa na disku.)
A aptitude purge vám opravdu smázne i konfiguráky z adresářů všech uživatelů? Dost by mě to překvapilo.
Tenhle nástroj je i ve Windows XP.
http://support.microsoft.com/kb/310312
Pokud někomu dochází místo kvůli 10GB, dělá něco špatně. Disk by se obecně neměl zaplňovat přes 90%, jinak vzrůstá fragmentace. Na unixech bylo dokonce tradičně posledních 10% kapacity rezervovaných pro roota a emergency maintenence.
No, ono to bylo tak - je to člověk, co pracuje pouze s fotkami a velkými videi (nic víc na PC nedělá). Právě pro ty videa potřebuje velké množství místa, takže jsem po dohodě rozdělil disk na 30GB systém (kde byly Windows a programy, které používal, dohromady nějakých 10GB - možná méně - zbytek na tomto oddílu bylo volno kvůli fragmentaci), zbytek disku druhý oddíl na fotky (a zároveň soubor který má funkci swapu) a druhý samostatný harddisk na videa. A ano, uznávám, moje chyba, měl jsem si zjistit, že ty programy kromě dočasných souborů v adresáři s videi (na což jsem spoléhal) vytváří (a nikdo nečistí) dočasné soubory i přímo v tmp adresářích (a toto po pár videích naroste na těch 10GB). A ano, moje chyba, měl jsem si udělat průzkum o průměrném zatížení těchto tmp adresářů, moje osobní zkušenost totiž byla, že to většinou nepřesahuje 100MB, když se něco instaluje tak může až 500MB a nikdy se mi nestalo, že by to přesáhlo 1GB (a teď samozřejmě přeháním, v drtivém množství případů to bylo 10x méně, s takto přehnanými čísly pracuji celkem často abych to nepoddimenzoval).
Jo a pokud jde o konfiguráky v adresářích uživatelů - určitě víte, že ne, ale ve Windows to žádný odinstalátor taky nedělá. Uznávám, toto je balast, který se umí hromadit v obou systémech, ale pro Linux mluví to, že to máte aspoň na jednom místě. Byť bych o snadném nalezení nemluvil - to uznávám. (Sám jsem si kdysi potřeboval něco vyčistit a vím, že některé byly v "~/.nazevProgramu", ale taktéž "~/.config/cosi/nazevProgramu" apod. takže to není sjednocené). Ale aspoň vím, kde to zhruba je.
Pokud jde o nástroj ve WIndows XP - aha, tak to máte pravdu, omlouvám se. Tohle jsem nevěděl.
Jinak, mám pocit, že bych měl uvést svůj postoj k oběma systémům - zdá se mi totiž, že mne považujete za takového toho člověka "Linux is only right way", což tak ale necítím. Na PC mám momentálně Windows XP, protože se mi na něm celkově pracuje daleko snáze a nové věci zařizuje mnohem rychleji, než na Linuxu, ale zároveň uznávám, že Linux má zase svoje výhody. Kupříkladu ve Windows se mi dobře programuje (a to používám stejné IDE - dříve Code::Blocks, nyní QtCreator), v Linuxu je ale kompilace rychlejší a zrovna tak debuggování. Ve Windows se mi snadno spravují soubory (TotalCommander :3), v Linuxu je to horší, ale zase některé úkony přes příkazovou řádku jsou daleko rychlejší a jednodušší. A tak dále. Tento odstavec je pouze pro ujasnění mého postoje, nechci řešit jeho jednotlivé body (např. jsem si plně vědom toho, že existují náhrady za TotalCommander; používal jsem TuxCommander, GnomeCommander cosi z KDE a pár dalších a v ničem z toho se mi nepracuje tak snadno a rychle).
Konfiguraci najdete na jednom místě leda u jednoduchých aplikací. Když máte velký balík provázaných programů typu OOo, který sdílí komponenty mezi aplikacemi, začíná to být trochu složitější.
Váš postoj chápu, nic proti tomu. Mě Linux zklamal tím, že za sebou táhne vlak unixové historie, která je v principu k uživateli nepřátelská. Snahy to různě maskovat jsou dost neúspěšné, asi protože na vývoj Linuxu není dost prostředků.
To se pak člověku stávají takové ty věci, jako že připojí druhý monitor a zabootuje do rozpadlé grafiky (chvála open source driverů), FS se dostane do stavu "can't mount" a fsck -f hlásí "FS is clean", že se opakovaně hroutí SW RAID5 atd. Všechny problémy se dají řešit, ale proboha proč? Vždyť je počítač jenom nástroj, stejně jako kladivo. Když k tomu člověk přičte nízkou kvalitu open source aplikací, a fakt že jsou většinou k dispozici i pro Windows, nezbývá mi moc argumentů pro Linux.
Jo, to je pravda, ale zrovna s OOo nemám problém. Ve Windows mám vše v "~/Data aplikací/OpenOffice.org/" a v Linxu taky tak nějak (a pokud je to rozlezlé i jinde - teď nepočítám registry - tak jsem si toho nevšiml a udělal ze sebe BFU XD). Ale jinak jasně, chápu.
Souhlas. "Všechny problémy se dají řešit, ale proboha proč?" - no tak tahle věta docela dost trefně vystihuje občas moje pocity. Taky mám takové všelijaké zkušenosti :3. Druhý monitor pro jistotu v Linuxu ani nepřipojuji po té, co ve škole (VŠB) jeden učitel Linuxový guru připojoval svůj notebook na projektor a po pár minutách vzdal nastavování, protože se zobrazoval pouze výřez obrazu (nezávisle na rozlišení) a spokojil se s tím, že přesunul okno s prezentací do tohoto výřezu. A minulé verze Ubuntu mě udělaly paranoidním tak, že i ve spolehlivých systémech (např. herní handlendy) si po zapojení sluchátek kontroluji, zda se opravdu vypnuly hlavní reproduktory (např. v čekárně) :3.
Vyjma toho máte například položky v RPM databázi, možná nějaké registrace objektů, registraci pre-loaderu atd.
MS Office má konfiguraci v HKLM\Software\Microsoft\Office, a uživatelskou tamtéž v HKCU. Vyjma toho má ještě registrované COM objekty, ze kterých je poskládaný. Ty ale není třeba řešit, neobsahují nastavení.
Vida, pocity z Linuxu máme podobné.
...Mě Linux zklamal tím, že za sebou táhne vlak unixové historie, která je v principu k uživateli nepřátelská. Snahy to různě maskovat jsou dost neúspěšné, asi protože na vývoj Linuxu není dost prostředků...
Ad vlak UNIX-ové historie
Já jsem moc rád, že Linux ten vlak UNIX-ové historie táhne. Protože UNIX-ová historie není o přátelství nebo nepřátelství, ale spíše o filozofii. A UNIX-ová filozofie spočívá především v těchto pravidlech:
1) Vezmi malý úkol a udělej na něj utilitku, která bude řešit jen tento úkol a nic jiného, zato ho bude řešit dobře.
2) Pokud se vše podaří, nevypisuj žádné hlášky (tedy za předpokladu, že to uživatel nechce, neřekne ti to apod.), zatímco když se něco nepodaří, musíš skončit s co nejpodrobnějším chybovým hlášením.
3) Důsledně odděl jádro od uživatelského prostoru
4) Knihovny se linkují k aplikacím a ne k jádru
Mě především ty první dva body na Windows chybí. Protože IE se udělá tak, že je to nejen prohlížeč, ale taky desktopové prostředí, umí spouštět binárky... Protože v Excelu je možno ve VisualBasicu programovat sériový port... Sorry, ale jak tohle může dobře fungovat?
A chybová hlášení v podání Microsoftu? Na to abych měl ještě od Microsoftu speciální školení, abych to byl schopen rozluštit. Když na mě Windows vyplivnou chybové hlášení "Nastala chyba 0x235abc na adrese 0x59bcd" tak mám dojem, že si ze mě buď někdo dělá blázny, anebo že ze mě někdo dělá blázna.
A ještě k těm dvěma posledním bodům - ty byly prvotní a hlavní příčinou všech BSOD. Ano, Windows-y byly rychlé, ale stačila malá chybička v .dll knihovně a šly do BSOD. A navíc - já na všech mašinách nepotřebuju grafické prostředí - ostatně, na to už MS kupodivu taky přišel... A co otázka virů?
Ad nepřátelský k uživateli
Asi je to pocit, ale když se podívám na předchozí odstavec, tak opravdu nevím, kdo je víc nepřátelský vůči uživateli... Na Linuxu mám i bez speciálních drahých školení povětšinou dostatek informací, abych byl schopen problém vyřešit - obvykle stačí nahlédnout do správných log-ů a trochu se zamyslet.
Nevím, zda jste se někdy setkal s jiným UNIXEM, hlavně trochu staršího data. Já jsem kdysi měl čest s SunOS-em, UNIXWarem a ještě nějakou odnoží DEC UNIX-u, IRIX-u a kdysi jsem si chtěl nainstalovat OpenBSD (ale je to už též starší zkušenost, myslím, že dost pokročili). Ano, tam bych mluvil o absolutní nepřívětivosti. Linux si zkušeného uživatele hýčká. A to myslím zcela vážně.
Ad kvalita OS driverů
Řekl bych, že kvalita OS driverů je přímo úměrná kvalitě a množství informací, které o HW poskytl výrobce. Zdvižený prostředníček Linuse vůči nVidii je vcelku jasné znamení.
Ad Snaha maskovat
Já myslím, že maskování není. Ani není proč. Vývoj je otevřený, maskovat nic nelze. Každý se může zapojit nejen do vývoje, ale i do debaty o kernelu, o jakémkoliv prostředí...
OpenSource je taky o nějakém vlastním příspěvku - ať už chybovým hlášením, nebo patchem, nebo třeba příspěvkem do diskuse.
K ostatním výtkám zkratkovitě:
RAID5 už jsem na Linuxu opravoval, protože mi chcíply dva disky, jeden z nich se mi podařilo oživit. Opravil jsem ho a napořád. Jestli jde řeč o nedávné chybě v RAID vrstvě, pak už by měla být opravena.
Oprava FS se buď podaří a pak jej mount namountuje, nebo nepodaří a pak jej nenamountuje. Pokud bych došel k Vámi popisované situaci, pak bych vzal nějaké LiveCD, nabootoval a fsck provedl z něj.
A kromě toho - PC je nástroj, ale Vámi popisované problémy se mi rozhodně nedějí každý den, řeším je sotva jednou do roka a to těch Linuxů mám na starosti poměrně dost. A nízká kvalita OS aplikací? Asi jak kterých, stejně jako u Win aplikací.
Víte, mohu s vámi souhlasit do určité míry a zároveň souhlasit s tím, na co reagujete. Výjimkou je to o "Mě Linux zklamal tím, že za sebou táhne vlak unixové historie" k čemuž jsem se nikdy nijak nevyjadřoval, poněvadž nemám dost znalostí na to, abych tak mohl činit.
Ad UNIXová filozofie: v tomto ohledu znám tyto body a do určité míry souhlasím. Ta míra je dána tím, že když jsem si cosi kompiloval v MinGW na Windows, bylo to úžasně pomalé, protože to spouštělo miliony utilitek (ano, jsem si vědom toho, že k tomuto Windows nejsou stavené, pro někoho je to feature, pro někoho bug). A dost mě rozčiluje např. Latex, který při zpracování souboru vychrlí miliony hlášek :3.
Pokud jde o ta chybová hlášení, tak souhlasím prakticky bez výhrady; momentálně programuji ve Windows (protože IDE je výrazně rychlejší a pohodlnější na práci), používám kompilátor z MS Visual 2008 (protože je výrazně rychlejší než MinGW 4.4.0) ale občas mě některé ty chybové hlášky zaskočí a když je nerozluštím, tak si přepnu kompilaci do MinGW a ta už mi poradí lépe.
Ad nepřátelský k uživateli
V tomto ohledu ale s vámi zase souhlasit moc nemůžu. Důvody jsou prosté; kdykoliv, kdy chci něco v Linuxu vyřešit (např. vypalovací program nedokáže pracovat s vypalovačkou) tak se to většinou děje podle následujícího scénáře:
1.) Googlím
1.1.) Najdu řešení, pomůže mi a jede to. (Stává se jen u triviálních úloh.)
1.2.) Najdu řešení, ale nepomůže mi. Velmi často zkouším různé řešení, Google mi jich nabídne více. Občas nakonec k řešení dojdu. (Většinou zabere několik hodin.)
2.) Když tohle selže, zeptám se na fóru.
2.1.) Dostanu odpověď, pomůže. (Opět, jen u triviálních úloh.)
2.2.) Dostanu odpověď, nepomůže. (Tohle se mi vlastně snad ani nestalo.)
2.3.) Dostanu nepřímou odpověď - čti si manuály.
2.4.) Nedostanu vůbec žádnou odpověď.
3.) Čtu manuály. (Tohle sebere taky spousty času, protože jsou značně obsáhlé.)
3.1.) Najdu řešení. (Vzácně.)
3.2.) Nenajdu řešení. (Je potřeba odborný pohled shora na věc a znalosti, které nemám.)
4.) Zkouším iterovaně výše uvedené výsledky
4.1.) Nenajdu řešení (Asi tak 50% všech mých problémů.)
Příklady problémů:
- Vypalovací program nedokáže vypalovat. Řešení: přiřadit uživatele do určité skupiny. Hledání řešení: den, vypalovací program ani návody pro začátečníky na toto neupozorňují.
- Software AP v Linuxu. Řešení: hostapd + správný konfigurační soubor + nepožívat Debian; padá a nepodařilo se mi nalézt problém. Hledání řešení: cca 5 dní (z toho konfigurační soubor sebral asi tak 2 hodiny studia; defaultní byl dobře okomentovaný, ale velmi podobná klikací GUI aplikace ve Windows mi pomohla ke správnému a stejnému nastavení asi tak za 5 minut, akorát jsem zase ve Windows nerozjel DHCP pro ten Soft AP a neumožňuje to běh druhé WiFi).
Obecně bych řekl, že důvod, proč Linux je velmi nepřátelský k uživatelům (resp. k uživatelům, jako jsem já) je ten, že krátké stručné a jasné návody má pouze k těm nejzákladnějším úkolům (např. jak nastavit připojení k domácí Wifi). Ve chvíli, kdy je potřeba něco komplikovanějšího, neexistuje často stručný návod (how to), neexistuje klikací GUI aplikace, kde si rychle nastavím co potřebuji, teprve až čím si nejsem jistý prostuduji v návodě a zbytek nechám defaultně a tedy k vyřešení je potřeba nejprve nastudovat problematiku obecně a pak manuálové stránky jednotlivých programů, což sebere hodiny a hodiny času, který ztratím naprosto zbytečně, protože mám mizernou paměť, takže na druhý den můžu studovat znova. A neříkám, že ty manuálové stránky jsou zbytečné, to vůbec ne, ale není zde žádná urychlovací struktura ve stylu GUI. Navíc díky mé paměti když pomocí manuálu připravím příkaz ve stylu "cmd -vZjKpLMnah -f6 -UiU 897" a dospěji k závěru, že chci vypnout to a to chování, už dávno nevím, který ten přepínač jej způsobil a mohu číst nanovo. Což je často problematické, protože v příkazové řádce se mi čte v dlouhém textu blbě, když potřebuji něco vyhledat a jen narychlo projíždím textem.
Váš příspěvek je velmi zajímavý (to myslím opravdu vážně). Docházíte v něm k (pro mě) dvěma skvělým věcem.
1) Algoritmus řešení problému.
Taky to tak dělám, proč se nepřiznat. Akorát že ty procenta u 4.1 mám výrazně nižší. A taky ještě hledávám HOWTO, což sice je návod, ale trochu obsažnější.
2) Způsob přemýšlení nad problémem
Píšete, že je Linux velmi nepřátelský k uživatelům - já bych spíše napsal, že je velmi nepřátelský k lidem, kteří nechtějí jít ke kořenům věci. Když pochopíte kořen věci, dokážete danou věc nastavit správně (a to v Linuxu i Windows). Akorát že Windows Vám obvykle nabídne možnost změnit jen základy a v Linuxu si (velmi často) můžu změnit téměř vše, co změnit lze. Ano, pak by se dalo říci, že je Linux nepřátelský, protože těch nastavení je tu mnohem více a kdo se v tom má vyznat, že. Já zase častěji v takových případech nadávám na Windows, že mě nepustí k nastavení něčeho, co v Linuxu udělám přímo.
Windows-y tím, že jsou tak "přátelské" vedou mnohem častěji k nesprávným nebo nedodělaným řešením, které bývají "předpřipravené" jen zčásti a uživatel si nedal tu práci, aby to nastavení prošel celé a ty fajfčičky zkontroloval všechny.
Extrémním případem byl jeden můj (už bývalý) kolega. Jednou mi volali odkudsi, že jim nejde tisknout na jedné síťové tiskárně. Tehdy tam byl počítač s WindowsNT. Přišel jsem k počítači a ten skoro nekomunikoval se sítí. Začal jsem zkoumat nastavení sítě a ejhle - na tom počítači byly na síťovce přidány snad veškeré síťové protokoly, co jich WinNT měly. Když jsem se ohromeně ptal, jak se to tam dostalo, odpověděl mi uživatel toho PC, že tam přede mnou byl ten kolega a klikal. Bez znalosti věci. Myslel si, že ta tiskárna komunikuje DECnet-em, SPX/IPX a jánevímčímještě. A nejhorší na tom bylo, že i když neuspěl, tak to tam všechno nechal. Asi nakonec nevěděl, který to protokol tam byl původně.
Píšu, že to byl extrém. Ale řekl bych, že trefně dokresluje můj názor, že Linux je nepřátelský tím, že tlačí uživatele k pochopení podstaty věci, zatímco ve Windows podstatu věci pochopili jiní, všechno předpřipravili a tak si uživatelé Windows myslí, že to "naklikají". Samozřejmě nechci a nemůžu házet všechny do jednoho pytle, například mám dojem, že Lael Ophir má v oblasti Windows (a taky velkých databází) opravdové znalosti a ví, o čem píše. Ale třeba už když srovnám odbornou úroveň fóra, kde se schází uživatelé a správci Linuxu a úroveň různých fór, kde se schází uživatelé Windows - to jsou tedy rady... Zase existují výjimky, např. www.viry.cz, tam když někdo něco napíše, tak to většinou opravdu sedí, ale opravdu bych řekl, že jsou to spíše výjimky.
A ještě ad projíždění textu (předpokládám, že man stránky): pokud víte, co chcete hledat a umíte trochu anglicky, kdykoliv v man stránce stiskněte znak '/' , pak napište hledaný výraz a dejte Enter. Pokud je tam výskytů více, stačí mačkat 'n' (jako next), případně vrátit se k předchozímu výskytu lze stiskem 'N' (jako next, ale v opačném směru). Na začátek manové stránky se dostanete kombinací '1G' (ne dohromady, postupně), zatímco na konec (kde bývá rozcestník na další manové stránky) se rychle dostanete stiskem 'G'. Pět příkazů, které výrazně zrychlí hledání v manových stránkách (a když už jsme u toho, tak i ve vi(m), protože tam je tento typ posunu v textu implementován taky).
No rozhodně taktéž nemůžu říct, že by váš příspěvek byl nezajímavý.
1) Algoritmus řešení problému.
No, popravdě řečeno, na "howto" jsem pozapomněl - když si vzpomenu, tak hledám i ty :3. Pokud jde o ty procenta; asi chci moc složité věci (jako je vytváření NTFS symlinků v Linuxu).
Nepřátelství Linuxu k uživatelům - no, musím zahanbeně říct, že máte naprostou pravdu a že už dávno jsem toto vypustil z hlavy. Byly časy, kdy jsem říkal, že "Linux je vhodný buď pro lidi, co chtějí základ (tj. internet, skype, OO) (a pak se nehrabou v systému - takový jsem nainstaloval doma na jeden starý notebook, který by dnešní Windows nerozdýchal) a pak až pro ty, co se rádi hrabou ve věcech a/nebo chtějí znát věci do hloubky a/nebo jsou ochotni nad tím strávit spousty času" a aniž bych si to všiml, změnil jsem to na "Linux je nepřátelský k uživatelům".
Takže vlastně na tomhle bychom se shodli - Linux umožňuje spousty nastavení do hloubky, problém je prostě v tom, když nemám čas se v tom vrtat. Bohužel, je to často, takže bych se měl opravit, že není moc vhodný pro mě; ve Windows jsem si zvykl, že spousty věcí prostě fungují a mohu je případně lehce nastavit ke svým potřebám.
Na druhou stranu je potřeba přidat: pokud to jde. S tímto taky s vámi souhlasím, též mě občas rozčiluje, že ve Windows si toho tolik člověk nenastaví a nejsou tu takové možnosti. Přesto ale ve výsledku se mi ve Windows pracuje poněkud rychleji...
Příklad s tou tiskárnou: no toto nastavení je to, co mě vyhovuje; mám tam seznam protokolů, co neznám vygooglím, zaškrtnu co chci, kliknu na ok a mám to nastavené. V Linuxu bych nad tím strávil více času hledáním konfiguračního souboru/souborů, nastavením, restart služby apod. Opět se ale s vámi shoduji, že to umožňuje hrabat se v nastavení lidem, kteří udělají přesně to, co jste popsal. A pak to (např. doma) musím(e) řešit. (Mj. z těchto důvodů jsem si velmi oblíbil sudo - můžu uživatelům nastavit, co mohou a co ne dost detailním způsobem a přizpůsobit to jejich znalostem a potřebám.)
Popravdě řečeno podle mého názoru by bylo nejlepší, kdyby se to spojilo. Konfigurace by byla Linux-like, ale existoval by k tomu i GUI nástroj, dalo by se říct editor tohoto konfiguráku plus případně nějaké ty Wizardy. (O ne příliš velké reálnosti jsem srozuměn.)
Odbornost a úroveň fór - to je taky pravda.
Ad projíždění textu - ok, díky za info :). (Lepší než "'a' jako 'insert'" když mě učil jeden spolužák vim :3.)
(Mimochodem, pokud budete považovat za vhodné napsat ještě nějakou odpověď, chtěl bych upozornit, že brzy jedu pryč, takže nejspíš už odpovím až za víc, jak týden a půl.)
Já myslím, že k Vašemu příspěvku není moc co dodat...
Snad bych jen řekl, že tím, že využívám Linux každodenně v práci (a to i na pracovní stanici), tak jsem vycvičený v řešení problému natolik, že na to spotřebuju už asi mnohem méně času :-) O to víc času potřebuju pro řešení problému ve Windows, takže je jasné, co je pak moje první volba.
A ještě pár poznámek k tomu vim-u:
'a' znamená 'add' a vkládá písmenko ZA písmenko, na kterém stál kurzor.
'i' znamená 'insert' a vkládá písmenko na místo kurzoru
Osobně se mi asi nejvíc líbí 'x' jako výmaz písmenka na místě kurzoru (škrtnu písmenko jak na psacím stroji) :-)))
Kouzlo vim-u začíná u zkratek 'cw', 'c$', 'dw', 'd$', 'dd', '5dd', 'p' (překlad: 'ChangeWord', 'Changeto$(end-of-line)', 'DeleteWord', 'Deletetoend-of-line', 'DeleteDelete' (na to jsem nenašel vhodný výraz, ale je to výmaz celé řádky), dále smazání 5-ti řádek (opakuj 5x dd), vlož předchozí smazaný text na nový řádek za pozici kurzoru). No a když k tomu následně přidám regulární výrazy se schopností nahrazovat víceřádkový text víceřádkovým textem (tzn. mám v subjektu hledání znak newline), tak je to dělo, kterému se vyrovná opravdu máloco.
Na vi mě osobně štve, že nevidím ani aktuální režim, ani výběr použitelných příkazů. Je to učebnicová ukázka špatného interfacu. Když neznáte konkrétní příkaz, neuděláte vůbec nic. Naopak v GUI můžete vidíte možnosti před sebou. Když něco neznáte, najdete to v menu. Když to používáte časteji, naučíte se zkratkovou klávesu. Je to mnohem lepší interface.
Operace se slovy, řádkem, zbytkem řádku apod. můžete provádět i v Notepadu. CTRL+Right, psaní nebo DEL; Shift+End, psaní nebo DEL. HOME, DOWN, DEL. Regexpy s víceřádkovým textem Notepad neumí, ale třeba Visual Studio (dostupné zdarma) ano.
Otázka: fakt chcete jít ke kořenu věci? A jak moc ke kořenu? Pro většinu lidí je počítač prostě pracovní nástroj, případně stroj na zábavu. A ke kořenu věci rozhodně jít nechtějí. Podobně nechtějí být automechaniky aby mohli řídit auto, elektroniky aby mohli používat BluRay player, nebo elektrotechniky aby mohli používat žehličku. A kupodivu ani profesionální řidič není automechanik, nejvýš "power user".
Odvolávat se na upravitelnost systému mi přijde nesmyslné. Ve Windows můžete udělat spoustu věcí. Systém je poskládaný z komponent a má obrovskou spoustu nastavení. Samozřejmě lze customizovat nebo vyměnit shell atd. Ale skoro nikdo to nedělá, podobně jako si řidiči běžně nemontují do aut hranaté volanty.
Ve Windows je troubleshooting poměrně jednoduchý, samozřejmě pokud Windows znáte. Na Linuxu je troubleshooting v podstatě životním stylem uživatele, takže s ním typický uživatel většinou nemá problém. Ale logicky je pak těch uživatelů málo.
Otázka: fakt chcete jít ke kořenu věci? A jak moc ke kořenu? Pro většinu lidí je počítač prostě pracovní nástroj, případně stroj na zábavu. A ke kořenu věci rozhodně jít nechtějí. Podobně nechtějí být automechaniky aby mohli řídit auto, elektroniky aby mohli používat BluRay player, nebo elektrotechniky aby mohli používat žehličku. A kupodivu ani profesionální řidič není automechanik, nejvýš "power user".
Chci jít ke kořenu věci, protože já jsem automechanik. Já opravuju druhým auta a sám samozřejmě taky auto používám. A na autech s Windows mě štve, že se mi opravujou opravdu hodně špatně, viz moje předchozí nářky o kryptičnosti chybových hlášek (případně jejich totální absenci) a možnosti opravy aut, které jsou po nějaké větší "bouračce" (napadení agresivním virem, selhání nějakého ovladače nebo podobně).
Řidiči si sice do aut nemontují hranaté volanty, ale přesto někteří chtějí do auta namontovat např. volant od firmy momo, nebo něco pohodlnějšího obšitého kůží - protože např. jezdí víc, než uživatel, pro kterého automobilka auto vymyslela, nebo to auto chtějí mít hezčí, rychlejší, výkonnější - to už samozřejmě nemluvím o volantu. Je mi jasné, že existuje tunning a tuzzing, ale to už je asi nad rámec diskuse.
Pokud mě navedete na způsob, jak ve Windows jednoduše řešit problémy, budu Vám vděčný. Taky by mě zajímalo, jak dokážu jednoduchým způsobem rozluštit ty hlášky typu "Tohle by BFU jako jsi ty nemělo vůbec zajímat, zašli to výrobci a zapomeň na to".
Linux je možná pro hračičky, ale každopádně řešení problému většinou spočívá v důkladném přečtení chybové hlášky a krátkém zamyšlení. Protože v chybové hlášce je povětšinou obsaženo, od jakého je programu nebo případně ovladače a co se nepodařilo při jaké operaci. Když už nevím kudy kam, mám možnost pustit strace a vidím, kde program hledá které knihovny, zda je našel, které konfiguráky a kde otvíral, jestli se mu to povedlo... Ale vidím velmi podrobně, co se při běhu programu děje a kde se co pokazilo. Tenhle vhled do systému Windows prostě nemám a je otázka, zda je vůbec možný.
Celkově bych to shrnul asi takto: Linux má stejně jako další UNIX-like sytémy UNIX-ovou filozofii, je stavěn "odspodu nahoru", takže jsou zde jasné vrstvy (jako jádro, knihovny a programy) a je stavěn tak, aby šel dobře opravit. Pokud jej však chce někdo opravit, tlačí jej k tomu, aby dost důkladně porozuměl podstatě věci, ale pak si může být jistý, že jednou něco nastaví a ono to tak bude fungovat dále a to naprosto spolehlivě a když to fungovat z nějakého důvodu přestane, dostanu vcelku podrobný rozbor, proč. Navíc si můžu vybrat, zda potřebuju grafické rozhraní, nebo se spokojím s CLI (to dneska už, kupodivu, pochopil i MS).
Windowsy jsou však navrženy tak, aby byly rychlé za cenu menší bezpečnosti (spojení jádra a knihoven, teď už se to začíná pomalu oddělovat, tedy domnívám se), o uživateli se předpokládá, že nic extra neumí a moc tomu nerozumí, takže ho nikam moc nepustíme... Ale co my, opraváři, správci? Jaká školení musím absolvovat, abych se ve Windows vyznal stejně jako v Linuxu?
Copy-paste mého staršího textu, s lehkou aktualizací.
Ve Windows se provádí troubleshooting jinak, než na unixech. Na prvním místě musíte systém trochu znát, což je podobné jako na unixech. Doporučuji nějaké školení administrace Windows, a poté si přečíst Resource Kit (ukázková kapitola: http://download.microsoft.com/download/4/5/E/45E70ABC-C224-4CC7-BB1C-23AA33FDC685/Win7_RK_SampleChapter_29.pdf ). Je to pár tisíc stran, ale jsou tam důležité koncepty. Ve většině případů vystačíte s prostou úvahou o možné příčině problémů. Pak je tu samozřejmě Event Log. Pokud není popis události dost podrobný, viz níže support.microsoft.com/search
HW kupujte ten, na který jsou slušné reference, a je podporovaný na cílovém OS. Je důležité, aby byl listovaný v Hardware Compatibility Listu. Co není listováno jako kompatibilní či lépe Designed For, neberte.
http://www.microsoft.com/windows/compatibility/windows-7/en-us/default.aspx
V případě blue screen se vyplatí vědět, že na MSDN najdete seznam bug check codes, včetně popisu parametrů. Ve spustě případů se také vyplatí po rebootu zaslat data na OCA (online crash analysis). Jednak to mnohdy řekne užitečné věci, a pak to MS řekne, že se stal problém. Oni to pak vyhodnocují, a kopou do vlastních vývojářů i do vývojářů driverů třetích stran.
Popis detailů BSOD a seznam stop codes:
http://msdn.microsoft.com/en-us/library/ff547224.aspx
Případně si můžete vyhrát i s debuggerem, howto najdete tady:
http://blogs.technet.com/b/askcore/archive/2008/11/01/how-to-debug-kernel-mode-blue-screen-crashes-for-beginners.aspx
Ve Windows je i nástroj pro reportování chyb, který umí ověřit status chyby, případně si přes něj MS umí vyžádat detaily chyby (pokud dáte souhlas). Ve Sitě je ve Start Menu\Programs\Maintenance, Problem Reports and Solutions. Ve Windows 7 je v Action Center, sekce Maintenance. Mimo jiné Windows obsahují i měřák spolehlivosti systému, kde jsou přehledně vidět problémy. Viz Start Menu\Programs\Administrative Tools, Reliability and Performance Monitor.
V případě jakékoliv chyby je dobré použít adresu support.microsoft.com/search, a vyhledat hlášku. V případě blue screen chyby hledejte například "stop 0x00000079", bez uvozovek.
Numerickou chybu můžete přeložit do textové podoby pomocí utility err.exe, která je k dispozici zde (není to jen pro Exchange):
http://www.microsoft.com/en-us/download/details.aspx?id=985
Obecně je ale na aplikaci, aby vypsala smysluplnou hlášku, a nejlépe se z chyby zotavila. Například serverové aplikace i MS Office se dovedou vzpamatovat z low memory condition - na Linuxu nevídáno (protože OOM Killer).
Windows mají auditování. Můžete nechat auditovat vybrané akce v dané větvi FS, provedené vybraným uživatelem. Například na profilu uživatele, autor uživatel, všechny selhavší pokusy o zápis do souboru. Výsledek najdete v Event Logu v sekci Auditing. Podobně můžete nechat auditovat Registry. Zajímá vás, kde program hledá informace o registraci? :) Když jsme u toho, strace je proti tomuhle dost nuda.
Ve spoustě případů pomůžou pěkné utility od Sysinternals. Doporučuji Process Monitor, FileMon, PageDefrag, TCPView.
http://technet.microsoft.com/en-us/sysinternals/bb545046.aspx
Problémy s výkonem se typicky řeší pomocí Performance Monitoru. Máte možnost sesbírat stovky systémových parametrů do datového souboru (například working pool vybraných porocesů, délku diskové fronty, velikost volné RAM atd), a ten později analyzovat buď graficky, nebo ho exportovat do Excelu.
Různé komponenty lze nastavit tak, aby do něj zapisovaly více. No a máte možnost nechat vytvářet i textové trace logy, viz link. Upozorňuji, že zpravidla textové logy nejsou třeba. Nejprve zkuste ostatní věci, výsledek bývá daleko rychlejší.
http://support.microsoft.com/?id=109626
http://technet2.microsoft.com/WindowsServer/en/library/0907105e-7856-4c93-b97f-a9a306623af51033.mspx?mfr=true
http://technet2.microsoft.com/WindowsServer/en/library/0eeec637-d8f2-49b2-9ef8-6db31c98ca9a1033.mspx?mfr=true
http://technet2.microsoft.com/WindowsServer/en/library/0e797736-5a4a-403f-a3ab-ed634c486b911033.mspx?mfr=true
http://technet2.microsoft.com/WindowsServer/en/library/8fe9f51a-ac45-4213-85c7-1bf5aaa5bd9b1033.mspx?mfr=true
http://support.microsoft.com/?id=907355
http://support.microsoft.com/?id=249621
http://support.microsoft.com/?id=324383
http://technet2.microsoft.com/WindowsServer/en/library/bfd1241c-fc7b-45ca-9fa8-17a579b8d31e1033.mspx?mfr=true
http://technet2.microsoft.com/WindowsServer/en/library/02043c4e-8cec-4db1-9fec-caca07f917cc1033.mspx?mfr=true
http://technet2.microsoft.com/WindowsServer/en/library/63695e21-058b-41e1-b94a-cf25a477f13a1033.mspx?mfr=true
http://support.microsoft.com/?id=262177
http://support.microsoft.com/kb/221833
Seznam pár diskuzních fór a serverů s postupy, není moc aktualizovaný:
http://support.microsoft.com/search
http://forums.microsoft.com/technet/default.aspx?siteid=17
http://www.microsoft.com/cze/technet/komunita/newsgroups.mspx
http://www2.vyvojar.cz/Diskuzn%c3%adf%c3%b3ra/tabid/52/Default.aspx
http://blogs.msdn.com/vyvojari/
http://www.experts-exchange.com/
Díky za podrobný návod.
Musím absolvovat školení o administraci Windows, jestliže je už (pokud tedy nepřijdou nějaké problémy) běžně administruju?
Ad ResourceKit: Zkusím se na to podívat. Doufám, že to nebude mít stejnou úroveň jako když jsem druhdy četl nějakou knihu od MS o počítačových sítích. Bylo to sice v češtině, ale tím to snad bylo horší, protože tam jsem poprvé viděl 'termity' jako 'TCP/IP stoh' apod. Opravdové perly. Jako humoristická příručka dobrý, jako příručka pro správce mi to přišlo dost prostoduchý. Asi mají MS jinou představu o úrovni správců...
Ad zotavení z low memory condition a OOM killer: Zažil jsem několik pokusů o zotavení se z low memory: jeden vedl k asi půlhodinovému zátuhu PC, kdy disk jel na plné otáčky a s PC se prakticky nedalo nic dělat. Nicméně je pravda, že k zotavení došlo - kupodivu se ale daná aplikace (teď už nevím, jestli to byl Word nebo Excel nebo něco podobného) stejně ukončila a při dalším spuštění se začala pokoušet obnovovat editovaný soubor. Podruhé to obsluha PC nevydržela a počítač natvrdo vypnula, takže nevím, zda by se zotavení podařilo. V obou případech to ve své podstatě dopadlo stejně jako s OOM killerem, ve druhém případě to ale bylo horší, protože se trošku pokazil filesystém. Tak nevím, jestli to byla nějaká výhra.
Mimochodem: kdysi jste si stěžoval, že na Linuxu je overcommit memory a ten že vede posléze k OOM killeru: mám pro Vás výbornou zprávu: overcommit paměti lze vypnout, dokonce za běhu pomocí sysctl. OOM killer šel v některých jádrech vypnout taky, zkoumal jsem tuto možnost u jádra 3.2 (aktuálně jedu na 3.2.0), tak tam to zrovna nejde... Zkuste pohledat na google (třeba) termíny jako 'vm.overcommit_memory' nebo 'vm.overcommit_ratio'. Dá se třeba taky (za běhu) v podstatě zakázat swapování ('vm.swappiness'). Co všechno lze za běhu ovlivňovat můžete získat pomocí 'sysctl -a', k jednotlivým klíčům pak pomocí Google najdete dokumentaci (obvykle z dokumentace jádra).
Ad auditování vs strace: Vy jste si strace zkoušel? Já mám takový dojem, že když srovnávám strace s auditováním, tak mi přijde to strace lepší... Je pochopitelné, že mi vznikne textový soubor s výpisem všech volání, takže se tím můžu prohrabovat ex post, nebo to můžu taky sledovat on-line...
Jediný, co by se mi líbilo, by byla auditace změn na filesystému. Ale mám takové nejasné tušení, že kdybych pohledal, tak taky něco najdu, protože jsem slyšel o inotify apod. Akorát jsem to ještě nepotřeboval řešit.
Dva příklady na závěr: Na jednom PC s procesorem AMD a Windows XP Home jsem nebyl schopen spustit Adobe Photoshop 6.0 (je možné, že se jednalo verzi +- jinou, třeba 6.5 nebo tak něco). Po pokusu o spuštění se neobjevila žádná chybová hláška, v process monitoru se mi objevil jakýsi proces od Adobe, ale Photoshop se mi nespustil. Ani když jsem se pokusil jej spustit z příkazové řádky, tak se nic nestalo. Co bych s tím měl příště dělat?
Nebo vím o PC, které po určité době přestane spouštět jakékoliv programy. Viry v tom nejsou (i když možná byly). Programy už spuštěné normálně běží, ale další programy už spustit nelze. Nelze je spustit ani ze Správce procesů, nelze nic, jen PC restartovat. Pak to zase jde všechno normálně. Co s tím? Jak toto debugovat? V system logu nic (podle mě) zásadního není, žádná červená kolečka s 'x', ani žádné žluté trojúhelníčky s vykřičníčkem.
Mít strace, jsem v obou případech na 90% za vodou, resp. bych věděl vcelku dost jasně, kam sáhnout, anebo alespoň kam udělat další krok. Takhle nevím nic.
V takovém případě by asi stačil ten Resource Kit - zkuste to. Jinak doporučuji anglickou verzi; česká dost možná ani neexistuje. Proč mršit knížky překladem?
Pokusy o zotavení z low memory, které jsem viděl já, končily hláškou o nedostatku paměti a zrušené operaci. Aplikace běžely dál (Outlook, Word, Publisher, Exchange, MS SQL Server, Oracle).
Ano, na Linuxu můžete memory overcommit vypnout. Ale nedoporučuje se to, protože to může velmi rychle vést k nedostatku paměti. Například oblíbená kombinace volání fork/exec vyžaduje spoustu volné paměti. Je za tím chybný návrh POSIX API.
Auditování má své výhody. Můžete ho používat na FS, Registry i další objekty, a samozřejmě v real time i odloženě. Existují i další velmi zajímavé nástroje: Performance Monitor (v default instalaci), Sysinternals tools...
http://technet.microsoft.com/en-us/sysinternals/bb545027
Pokud se vám aplikace sekne při startu, je pro uživatele dost obtížné s tím něco udělat. Pokud aplikace má položku na taskbaru, je nejspíš okno mimo obrazovku (chyba autora aplikace). Stačí aplikaci vybrat, stisknout ALT+Space, M (Move), a pak libovolnou šipkovou klávesu. Uživateli bych doporučil repair instalace (Programs and Features, vybrat program, Repair), což přebuší soubory a nastavení výchozí verzí. Vyplatí se také aplikaci opatchovat, případně reinstalovat. Nic složitějšího běžný domácí self-admin zpravidla nezvládne. Power user může zkontrolovat Application Log, System Log, a případně log aplikace (pokud nějaký píše). Pro admina může být dobré se podívat na debug output pomocí utility Sysinternals DebugView. Pokud se nepodaří takhle najít příčinu, můžete prohledat knowledge base výrobce SW. Můžete také zkusit koukat, kam aplikace sahá (Sysinternals Process Monitor), případně kouknout na thready a handles aplikace (Sysinternals Process Explorer). Já například v jednom případě objevil, že aplikace nemůže najít nějaký COM interface, který je součástí MS knihoven. Z neznámého důvodu chyběla registrace té knihovny - stačilo ji znovu zaregistrovat. No a poslední možností je support výrobce produktu.
http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx
Pokud nelze spustit další aplikace, pusťte si na začátku práce Performance Monitor, a nechte si ukládat kompletní log (vizte dokumentaci nebo Resource Kit). Až do začne být mrtvé, restartujte, a log si prohlédněte. Mimochodem si můžete nechat automaticky zaznamenávat log při překročení daných parametrů - vytížení CPU, výskyt hlášení v Event Logu, délka diskové fronty atp. Velmi praktické na serverech, když dochází k obtížně reprodukovatelným výpadkům. BTW troubleshootingu Windows se věnuje celá kapitola v Resource Kitu, jsou tam popsané i další techniky.
Ad "spojení jádra a knihoven"
mám na mysli to, že když se objevila BSOD, občas jsem tam vídal jméno DLL-ka, které s sebou přinesl nějaký konkrétní program.
Můj myšlenkový postup je tedy takový:
Chyba v DLL položila systém. Znamená to, že měla opravdu vysoká práva (v UNIX-u se mi to ještě nestalo). Jestliže to UNIX-u funguje tak, že jádro jede v chráněném režimu v ringu 0 a aplikace spolu s nalinkovanými knihovnami jedou v ringu 1, kde mají nižší práva a k systémovým věcem se nedostanou a když hrábnou vedle do paměti, tak dostanou kill 11, pak ve Windows musí být DLL přilinkovaná k jádru, kde má stejná opravnění, takže dokáže to jádro složit.
Proto tvrdím, že zatímco v Linuxu se knihovny linkují k aplikacím (mají stejná práva jako aplikace), tak u Windows se linkují k jádru (mají stejná práva jako jádro).
To je zajímavá úvaha, která má prakticky jen jednu vadu: je nesprávná. Některé BSOD totiž obsahují seznam natažených modulů a stack trace. Pokud v seznamu vidíte nějakou DLL, nejspíš provedla to volání, které následně někde v kernelu zhavarovalo. DLL obecně běží ve stejném kontextu jako aplikace, která je volá (s možností se za jistých okolností vydávat za jiného uživatele - impersonation).
Myslím že to bylo jasné z předchozího, ale zkusím to vysvětlit znovu. Aplikace zavolá knihovnu, ta zavolá kernel, a v kernelu někde dojde k chybě. Na některých BSOD pak vidíte stack trace, tedy postup volání. V něm se samozřejmě objeví i ta knihovna, ze které volání kernelu přišlo.
Chyba může být v HW nebo kernelu, včetně driverů. Pokud je chyba opakovatelná, můžete ji přivodit opakováním akce v aplikaci (ta samá akce vede k tomu samému volání kernelu, a to vede k tomu samému selhání).
Na prvním místě je problém v tom, že na Linuxu musíte prakticky neustále řešit problémy. Windows zdaleka nejsou dokonalé, ale problémů je daleko méně. Věci prostě fungují. Když něco nefunguje, jsou na tom oba systémy dost podobně - laik si neporadí (případně přeinstaluje, přejde na jiné distro apod).
Když já ve Windows narazím na nějaký problém, zpravidla ho zkusím vyřešit bez konzultace. Pokud to snad nevyjde, zkusím hledání na support.microsoft.com. Pokud to nevyjde, je tu strýček Google. Fóra pro mě nemají smysl, protože jednak většinou nenabízejí dost odbornosti, a potom nemám čas čekat, až/jestli se někdo uráčí se mi věnovat. V některých složitějcích případech jsem kontaktoval i podporu výrobce SW.
Na prvním místě je problém v tom, že na Linuxu musíte prakticky neustále řešit problémy. Windows zdaleka nejsou dokonalé, ale problémů je daleko méně. Věci prostě fungují. Když něco nefunguje, jsou na tom oba systémy dost podobně - laik si neporadí (případně přeinstaluje, přejde na jiné distro apod).
Ano, já prakticky pořád řeším nějaké problémy s Linuxem. Proč ne, jsem za to placen svým zaměstnavatelem, neb se starám o jeho Linuxové servery. Ale řeším je ze své Linuxové stanice a na této stanici prakticky problémy neřeším - proč taky, je nainstalovaná, udržuju si ji aktualizovanou a tu a tam přejdu na novou verzi distribuce (používám Ubuntu), což spočívá v tom, že spustím v jedné konzole příkaz 'do-release-update' a dále pracuju. Vše se mi provede samo a přijde to až k restartu. Ten můžu provést hned nebo nemusím, podle své volby. Až jej provedu, systém mi nabootuje do nové verze distribuce, někdy je třeba cca půl hodiny práce (a to je stále častěji spíše výjimka) s tím něco poladit, ale jakmile je vše hotovo, mám znovu funkční systém se stejným nastavením jako předtím, tj. včetně nainstalovaných OpenOffice a dalších programů, které používám ke své práci, samozřejmě vše v nové verzi. Děláte přechod mezi WinXP a (řekněme) WinVista nebo Win7 taky tak? Jak dlouho Vám to trvá, resp. jak dlouho řešíte jen přeinstalaci PC a nemůžete se věnovat práci? Já takhle upgraduju i servery se živýma službama s tím, že si dovolím ohlásit pouze cca 30-60min. výpadek. Na stejném (stejně už dneska povětšinou virtuálním) železe. Bez zbytečného přetahování dat. Bez zbytečného nového nastavování služeb...
A problém nového PC řeším tak, že vezmu disk, dám ho do nové mašiny a nabootuju. Pokud potřebuju přenést systém na nový disk, pak základ pomocí dd a /home po formátu pomocí cp -a. Poté běžně nabootuju jak jsem zvyklý a nový PC funguje, se stejným nastavením a stejnými programy a stejnými službami, daty, maily... Já prostě na svém Linuxovém PC pracuju a neřeším jeho problémy, mám zato, že to nebude o moc jiné, než Vy s Windows. Jen ty přechody na jinou verzi distribuce (čti novější Windows-y) jsou mnohem rychlejší a pohodlnější, nepočítaje v to přechod na nový HW. A taky neřeším problémy s licencí. A viry. A malware. A antivirus, který by mi zpomalil PC...
Osobně Windows aktualizuji přes Windows Update, a na novou verzi přecházím pomocí Windows Upgrade Advisoru a následného upgradu z instalačního média. BTW chtěl bych viděl, jak byste upgradoval z dostatečně starého distra (třeba 10 let starého, když mluvíte o Windows XP z roku 2002) na nějaké dnešní.
Upgrade za běhu je špatný nápad. Může vést jak k problémům za běhu, tak k dojebání celého systému. Tedy alespoň to tvrdí autoři Fedory. Z toho důvodu zavádějí i aktualizace s restartem, jako ve Windows.
https://fedoraproject.org/wiki/Features/OfflineSystemUpdates#Benefit_to_Fedora
Ad aktualizace Windows: to jsem ještě nezkoušel, až bude třeba, zkusím :-) Díky za tip.
Ad upgrade distribuce z roku 2002 na dnešní distribuci: divil byste se, ale podobné upgrady jsem na Debianu dělal už někdy v roce 1998, akorát nebyly tak pohodlné a té ruční práce tam bylo více. Taky se to nedělalo pomocí 'do-release-update', ale tím, že jsem upravil soubor /etc/apt/sources.list a pak se dalo 'apt-get update' a 'apt-get dist-upgrade'. Šlo to. V Ubuntu jsem pomocí 'do-release-update' upgradoval od verze dapper, což je verze 6.04, tedy z roku 2006. Do té doby to šlo 'Debianovským' způsobem. Ostatně tuším, že Ubuntu jsem začal používat právě od verze dapper. K tomu upgrade viz zde nápovědu:
https://help.ubuntu.com/community/HardyUpgrades
Upgrade za běhu je normální, Debian už v roce 1998 nebo 1999 bylo možno výše popsaným způsobem správně převést i ve chvíli, kdy se měnila major verze (g)libc knihovny z 1.něco na 2.0.cosi. Není v tom žádný problém - prostě si instalátor zjistil služby, které bylo třeba restartnout a v průběhu upgrade po instalaci nové verze (g)libc ten restart (služeb!!!) provedl. Jádro (g)libc nepoužívá, tak jej není třeba restartovat. V tu chvíli se spustily už služby s novou verzí (g)libc a vše bylo v pořádku. To, že to Fedora řeší tak, jak to řeší, nic nemění na tom, že to možné a odzkoušené je a funguje to správně. Jediné problémy bych očekával v případě upgrade z XWindow, ale tam pak stačilo provést restart jen XWindow systému (po odhlášení uživatele) a zase vše fungovalo správně.
Větší problémy nastaly v době, kdy se ze statického /dev migrovalo na udevd (resp. předtím tam byl ještě jiný mechanismus). Předpokládám ale, že to byl poměrně vyjímečný zásah a mechanismus udevd je teď natolik dobrý, aby vydržel poměrně dlouhou dobu.
No, hádám, že mi vážně chybí spousty a spousty znalostí :3. Mě se podaří povýšit distribuci Ubuntu tak, aby fungovalo v cca 2/3 případů, zbytek mě nakonec dokope ke kompletnímu přeinstalování. Proto občas používám LTS. (Na druhou stranu i to je daleko jednodušší, než ve Windows, díky tomu, že není problém mít home složku na samostatném oddílu. Ve Windows jsem tohle zkoušel taky, ale OS to moc dobře nerozdýchal. I když i tady si už pomáhám skripty (bat) a utilitou junction (tvořící normálně funkční symlinky v NTFS).)
Popravdě řečeno, už jsem to dělal. Měl jsem speciální oddíl na profil a pak pomocí symlinků jsem si na něj nastavil cestu. Ten profil jsem měl z předchozí instalace Windows XP (SP3) a když jsem jej pak takto použil po nové instalaci, mělo to velmi zajímavý efekt - nastavení zůstalo zachováno prakticky pouze pro aplikace 3. stran, ale jinak to systém zpomalilo naprosto nehorázným způsobem. Vůbec jsem nepochopil, co jsem udělal špatně, ale od té doby vím, že prosté použití adresáře profilu (jak to jde v Linuxu) ve Windows prostě nelze. Později jsem to neřešil, nastavení Windows si těď dělám pokaždé ručně (naštěstí jsem se naučil udržovat si systém použitelný a rychlý po mnoho let) a nastavení ostatních programů si udržuji na jiném oddílu a velmi jednoduchým bat skriptem si nadělám symlinky po čisté instalaci.
Prosté použití adresáře funguje. Uvědomte si ale co v tom profilu vlastně máte. Pokud tam například máte ve Start Menu reference na disk E: (E:\můj chaos\můj program\executable), a na nové instalaci máte na jednotce E: DVD mechaniku, může to opravdu způsobit značné zpomalení shellu.
Zajímavé, asi jsem něco podělal :3.
Nicméně to rozhodně není ten důvod, co popisujete, já se velmi striktně držím toho, co kde je, pod jakou adresou a jaký disk a jaká mechanika má to které písmeno jednotky. Mám na jednom oddílu programy, které není třeba přeinstalovávat a mám v nabídce start odkazy na ně, ale jsou vždy funkční. Vlastně mám data rozmístěné a udržované tak, že kdyby se zachoval seznam naposledy otevřených dokumentů, byly by všechny na očekávaných místech...
Aha, moje chyba, šlo o upgrade. Windows NT4/2000/XP používají jinou strukturu adresářů, než Windows Vista/7. Pokud například používáte Roaming Profile na síti, Win Vista/7 si vytvoří nový adresář. V takovém případě to můžete vyřešit tak, že použijete wizard Windows Easy Transfer. Umožní vám uložit na externí médium nebo síť nastavení a/nebo soubory jednoho nebo více účtů. Ve vašem případě bych exportoval účet a nastavení, na nové instalaci to naimportoval, a pak přesunul dokumenty a multimédia.
BTW jedním z problémů na Linuxu je ukládání uživatelských hesel. Podobně i ve Windows některá prasata (třeba autor Total Commanderu) šifrují ukládaná hesla na všech instalacích stejně. Stačí vám získat konfigurák, a s klidem si otevřete všechno, k čemu je v něm uložené zašifrované heslo. Ve Windows se obecně hesla vážou na GUID, které se generuje při instalaci (vyjma zmíněných sociálních případů, které tenhle mechanismus ignorují).
UNIX-ová filozofie jasně říká, že uživatel je na posledním místě snažení, a stroji se musí přizpůsobit. Svého času byly UNIXy velmi vyspělé systémy, a to i ohledně uživatelského rozhraní. Bohužel ty doby jsou dávno pryč. Dnes je UNIX synonymem pro příšerný uživatelký zážitek.
Problém s UNIXovým přístupem je v tom, že počítače dnes primárně používají lidé, kteří nestrávili léta studiem principů operačních systémů, administrace, šprtáním příkazů atd. A uživatelé nechtějí nástroje na malé úkoly. Oni mají velké úkoly. Oni chtějí napsat knihu, zaúčtovat doklad, zapařit dobrou hru. Nechtějí obdobu svařování auta ve vlastí garáži. Chtějí hotovou věc, kterou mohou používat jako hloupý telefon nebo běžnou mikrovlnku. Všechny ty vnitřnosti jsou pro ně stejně nepodstatné, jako pro řidiče detaily funkce spalovacího motoru. UNIXy ale tradičně vychovávají uživatele velmi odlišně. Linux se tohle snaží zamaskovat, ale dost neúspěšně.
Chybová hlášení samotných Windows jsou vcelku podrobná. Pokud jde o aplikace, tam to závisí na autorovi. Jinak pro administraci Windows nepotřebujete žádná drahá školení (BTW školení Windows jsou proti profi UNIXům směšně levná).
Kvalita driverů je mizerná i tam, kde vývojáři mají informace k dispozici. Nevšiml jsem si, že by například kvalita open source driverů pro karty ATI byla nějak závratná. Problém často i v tom, že vývojáři vyvíjejí podle dokumentace chipsetu, pro HW který nikdy neviděli a nejspíš neuvidí. Výsledek otestovali v nejlepším případě s jedním modelem HW, a specifické aspekty dané HW implementace jim prostě unikají.
U RAIDu jsem měl problém před cca dvěmi lety na opatchovaném SLES. Po třetím zhroucení to skončilo použitím LVM. A oprava FS (nijak nesouvisející se zmíněným RAIDem) je teoreticky pěkná. Co ale uděláte, když fsck hlásí, žeje FS v pořádku, ale mount ho odmítne namountovat s tím, že je corrupted? Fakt se mi to stalo. Při bootu z CD to dělalo totéž. Nakonec jsem FS přimountoval z Windows (IFS driver), data bez problému vytahal, a partition s Linuxem odepsal.
Nízká kvalita open source aplikací je prostý fakt. Existují samozřejmě výjimky, ale obecně je situace mizerná. U GUI si člověk často říká, jestli ho autor vůbec zkoušel použít. Funkčně jsou open source aplikace daleko za komerčními aplikacemi, a navíc je to bug na bugu. Kvalitní návrh, vývoj a testování totiž stojí řadu prostředků. A kde uživatelé neplatí, prostředky chybí. Nejvýše občas velkým korporacím odpadne drobek od stolu, ale to nestačí.
UNIX-ová filozofie jasně říká, že uživatel je na posledním místě snažení, a stroji se musí přizpůsobit. Svého času byly UNIXy velmi vyspělé systémy, a to i ohledně uživatelského rozhraní. Bohužel ty doby jsou dávno pryč. Dnes je UNIX synonymem pro příšerný uživatelký zážitek.
V tom s Vámi nesouhlasím. Používám Kubuntu a jsem velmi spokojen, a to jak z hlediska stability, tak funkce i pohodlí systému. Možná nemám tak velké nároky, ale prostě jsem spokojen.
Problém s UNIXovým přístupem je v tom, že počítače dnes primárně používají lidé, kteří nestrávili léta studiem principů operačních systémů, administrace, šprtáním příkazů atd. A uživatelé nechtějí nástroje na malé úkoly. Oni mají velké úkoly. Oni chtějí napsat knihu, zaúčtovat doklad, zapařit dobrou hru. Nechtějí obdobu svařování auta ve vlastí garáži. Chtějí hotovou věc, kterou mohou používat jako hloupý telefon nebo běžnou mikrovlnku. Všechny ty vnitřnosti jsou pro ně stejně nepodstatné, jako pro řidiče detaily funkce spalovacího motoru. UNIXy ale tradičně vychovávají uživatele velmi odlišně. Linux se tohle snaží zamaskovat, ale dost neúspěšně.
V tom si, myslím, nerozumíme. Mě primárně nejde o uživatele, ten málokdy něco v PC konfiguruje. Jde mi teď o správce. Protože to funguje (nebo má fungovat) tak, že PC pro uživatele připravuje správce. A uživatel nemá vědět nic o jádru a knihovnách a všech těch střevech, ale správce ano. Windowsy se tváří, jakože správce o tom taky nic vědět nemusí a že je to OK. A proto si taky tolik lidí myslí, že Windows dokážou spravovat... Aby to nakonec nedopadlo takto:
http://www.bugemos.com/?q=node/189
Ad velké úkoly: jednou mi volal jeden člověk z katedry matematiky, že píše skripta a má nějaký problém. Přišel jsem za ním a zjistil jsem, že mu kolabuje Word (tehdy 97), protože tam bylo moc vzorečků a dalších matematických věcí, a Word to na stránce 34 nestíhal. Navrhl jsem tomuto pánovi TeX, nainstaloval nějaké drobné uživatelské rozhraní, on vzal text, zkopíroval jej z wordu do nějakého obyčejného textového rozhraní, já jsem mu ještě vytiskl nějakou dokumentaci k tomu, jak psát vzorce a on mi po měsíci přinesl skripta sázená v TeX-u. Neměl problém. Tak to je tak o těch velkých úkolech. Samozřejmě s TeX-em by neměl problém ani na Linuxu... :-)
Ad podrobné chybové hlášky: ano, nepodařila se operace taata v modulu xxx.dll na adrese 0x152369. Pěkné. A co s tím? Mám vzít nějaký nástroj a zkoumat, co na té adrese v modulu xxx.dll leží? A co se to snažilo zrovna dělat? Typicky podrobné hlášení je BSOD. Nebo mi něco uniklo?
Ad kvalita OSS driverů pro ATI: podle čeho asi tak mají programátoři ty drivery vyvíjet, když ne podle dokumentace? A je jejich chyba, když se výrobce HW nedrží (vlastní) dokumentace? Co to v HW světě znamená "specifické aspekty dané HW implementace"? Že výrobce HW sprasil základní BIOS a neinicializuje vše, jak by měl a nechává to na ovladači, protože pod Windows to funguje? Nebo jak bych tomu měl rozumět?
K RAID-u: nepochopil jsem přesně, jak jste to LVM použil, jestli k vykopírování dat z RAIDU nebo k něčemu jinému...
K fsck kontra mount: nemám důvod Vám nevěřit, ačkoliv mě se to ještě nikdy nestalo... Pak by neodpovídala verze mount-u a fsck pro daný filesystém, protože jestliže fsck prohlásí filesystém za opravený či v pořádku, tak si mount nemá na co stěžovat...
K nízké kvalitě OSS aplikací - nemůžu říci, že jsou zde aplikace 100% srovnatelné s aplikacemi komerčními, ale na druhou stranu já jsem zatím nenarazil na problém, že by aplikace postrádala nějakou funkčnost, kterou jsem nutně potřeboval. Ano, coby správce Linuxových serverů potřebuju hlavně ssh a tak mi toho k práci stačí málo, že... Ale občas píšu nějaké texty (v OOo) dělám nějaké drobné tabulky, tu a tam pracuju s databázemi (obvykle si ale vystačím s CLI, byť CLI pro Oracle, to je teda něco šíleného, ale zato je to asi otestované, to je pravda. CLI pro PostgreSQL je proti tomu Mercedes vůči (sotva) Trabantu), tu a tam něco programuju v Pythonu a používám Eric-a, což je vcelku pohodlné prostředí, jako verzovací nástroj jsem se rozhodl pro git a jsem spokojen, ve vim-u taky umím, co potřebuju, pro různé machinace s textovými soubory (nejen konfiguráky) používám awk, v bash-i tu a tam udělám nějaký skriptík... Mě Linux v práci rozhodně nebrzdí, spíše pomáhá. A KDE nepovažuju za něco zbastleného, naopak mi přišlo, že je to docela pěkné a funkční prostředí...
Vám nejde primárně o uživatele, stejně jako autorům UNIXu. Microsoftu (a Applu) o uživatele naopak jde. Proto se UNIXy nerozšířily mezi laické uživatele. Lidem moc nevyhovuje, když na každý nesmysl složitější než otevření Facebooku potřebují pomoc admina.
Při troubleshootingu samozřejmě musíte vědět, co děláte. Kdo ty znalosti nemá, řeší ve Windows situaci například reinstalací.
Nikdy jsem neviděl, že by Word měl problémy s množstvím vzorečků. A to jsem toho už viděl velikou spoustu :)
Podrobná chybová hláška a případné zotavení z chyby je v režii autora aplikace, nikoliv autora OS. O troubleshootingu jsem tu psal před pár minutami, koukněte na to (jistě to najdete).
Drivery se vyvíjejí podle dokumentace zařízení, a testují se na reálném HW a v reálném nasazení. Tedy pokud nejde o open source. Tam se často vyvíjejí drivery podle dokumentace chipsetu a nikoliv zařízení, a test s reálným HW neproběhl, nebo proběhl nedostatečně. Specifickým aspektem HW implementace je například to, že výrobce scanner naučil natáhnout tabulku gamma korekcí, což autor driveru (třeba z projektu SANE) z dokumentace použitých chipů nejspíš nevyčetl, takže výsledný obrázek je příšerný. Nebo že konkrétní scanner má podavač stránek a razítko, což opět z dokumentace chipsetu nevyčtete. Nebo že některá rozlišení jsou u daného zařízení nekvalitně interpolovaná, takže je driver nemá vůbec nabízet, případně že má rescaling udělat sám.
K RAIDu: po přechodu na LVM se to přestalo hroutit. Věřte mi, že při čtvrté sekvenci vybušení zbytků Oracle, nové instalace, vytvoření DB a instalace aplikačních serverů to začne trochu nudit. Zvlášť když víte, že to už počtvrté "teď už určitě bude fungovat".
K fsck vs mount: Mount si nemá co stěžovat, pokud fsck opravdu zkontroloval všechno. A to se podle všeho nestalo.
Pokud používáte jen aplikace pro správu systému, a možná OOo a Oracle sqlplus, tak možná problém s open source aplikacemi opravdu nemáte (tedy až na ten příšerně pomalý OOo). Jenže většina lidí nepoužívá počítače pro počítače, ale pro podporu primárně nepočítačové věci (DTP, hudba, ekonomické agendy, hraní, a tisíc dalších věcí).
KDE není tak tragické. Ale podívejte se například na kvality Unity. Jak tohle mohlo skončit v nejrozšířenějším desktopovém distru? Použili autoři někdy mozek?
http://www.mail-archive.com/ubuntu-desktop@lists.ubuntu.com/msg02912.html
Ano, vim ovládám slušně a nějaký čas jsem s tím strávil. Ale hlavně jsem si přečetl hezký Úvod do Vim od Pavla Satrapy (v češtině) a v tu chvíli jsem měl vcelku jasno, protože vim je velmi logický.
Kde se dozvím o struktuře Registry databáze? Bude mi na základ stačit cca 2 minuty (víc než 20 minut mi přečtení Satrapova manuálu k vim netrvalo) a budu umět tolik, abych si s tím převážně vystačil? To jako když už srovnáváte vi(m) s Registry.
A BTW: není jen vi, ale také další editory, např. joe umí v podstatě WordStarovskou konvenci (takové to Ctrl+W Ctrl+Q apod.). A samozřejmě jsou i grafické editory...