Linux je jednou z nejstabilnějších platforem, které vůbec existují. To však neznamená, že každá aplikace, běžící v systému bude stejně tak stabilní. Pravdou je, že aplikace tu a tam havarují. Je to sice k naštvání, ale zkrátka nikdo a nic na světě není dokonalé. Když už tato situace nastane, tak vy jako uživatel musíte vědět, jak aplikaci ukončit, jak se zbavit negativních dopadů svéhlavého programu. Stane-li se to, jak praví klasik, maximálně jednou za deset let, jednoduše si vynutíte zavření aplikace a jedete dál. Pokud se však havárie nějakého programu opakuje častěji, pak potřebujete mít k dispozici nástroje, které vám pomohou zjistit, proč se to tak děje.
Nejmocnější nástroj je samozřejmě příkazový řádek. S nástroji, jako jsou příkazy gdb a strace, máte po ruce vše, co potřebujete k zjištění co je příčinou havárie programu. Existuje však nemalá množina uživatelů, kteří se příkazového řádku bojí jako čert kříže nebo se ho zkrátka nechtějí naučit. Pro ně jsou k dispozici nástroje sice poněkud slabší, ale stále velmi užitečné. Přestože nástroje s grafickým rozhraním neumí zpracovat data, která jsou nutná k odeslání vývojářům pro odstranění případné chyby, mohou vám pomoci poměrně rychle vyřešit váš problém. Tyto nástroje vám také umožní hlubší pohled do vašeho systému … a kdo by se nepodíval, že?
Pojďme si tedy některé z těchto nástrojů představit blíže, neboť vám mohou pomoci, když se některý program nechová tak, jak by měl. Vše budu demonstrovat na systému Linux Mint 16 Petra, a to pomocí nástrojů, které jsou jednak nainstalovány ve výchozím nastavení nebo jsou k dispozici v defaultních repozitářích.
Kde jsou informace?
První věc, kterou musím zdůraznit je, že Linux má neuvěřitelně silné soubory systémových protokolů. Tyto protokoly (nachází se v adresáři /var/log/), jsou tak vaši nejlepší přátelé v řešení problémů s aplikacemi. Dva nejdůležitější souborové protokoly pro řešení potíží systému jsou:
- /var/log/syslog
- /var/log/dmesg
No a normální proces kontroly těchto protokolů se provádí právě pomocí příkazového řádku. Otevře se okno terminálu a zadá se příkaz:
Příkaz terminálu: |
---|
less /var/log/syslog |
Tento příkaz na vás vychrlí celý obsah protokolu. Avšak příkazový řádek bohužel není zrovna to, s čím chce většina nových uživatelů pracovat. Ve svém linuxovém životě jsem se často setkal s hláškou: „Já bych ten Linux zkusil, ale nechci stále spouštět nějaké příkazy z jakési příkazové řádky!“ Naštěstí se však (říkám to nerad) i v Linuxu dá příkazovému řádku vyhnout, a to i v případě prohlížení systémových protokolů.
Glogg
Toto je první (a jediný) nástroj, který budete potřebovat. Glogg je multiplatformní GUI nástroj, který vám umožní procházet soubory systémových protokolů. Tento nástroj je ve skutečnosti mnohem silnější než vypadá (umožňuje použití regulérních výrazů jako nástrojů pro vyhledávání) a je to stále jeden z nejlepších způsobů, jak zobrazit protokoly, aniž by se musel použít terminál. Glogg najdete ve Správci softwaru nebo v Synapticu. Chcete-li si jej nainstalovat, tak postupujte takto:
- Otevřete Správce softwaru nebo Synaptic
- Zadejte heslo
- Vyhledejte glogg
- Poklepejte na nápis glogg
- Klepněte na tlačítko Instalovat (nebo v Synapticu zatrhněte a klikněte na Použít)
- Dokončete instalaci
Po dokončení instalace se vám zobrazí nová ikona v Menu > Příslušenství > glogg. Klepněte na ní pro otevření aplikace. Okno má velmi jednoduchý vzhled, v podstatě se jedná jen o prostor, kam se načte potřebný protokol. Chcete-li to provést, klepněte na ikonu složky v levém horním rohu. Pomocí správce souborů pak přejděte do adresáře /var/log a poklepejte na soubor syslog. Nyní byste měli vidět spoustu textu vloženého do gloggu (viz obr. 1).
Obrázek 1: Zobrazení syslog v gloggu
Nyní můžete vyhledat záznam pro libovolný řetězec, který by mohl souviset s problémem. Pochopte, spousta aplikací, nebude v syslogu zapsána přímo, ale můžete najít tip, který vás dovede k důležitým informacím o dané aplikaci. Další metodou, která může být užitečná, je porovnání přesného času, kdy došlo k chybě aplikace s časovým razítkem v souboru /var/log/syslog. Můžete také otevřít rovnou protokol dané aplikace v gloggu. Musíte však přesně vědět, kam aplikace ukládá protokoly, v opačném případě je tato metoda k ničemu.
Řekněme například, že nemůžete najít umístění protokolu konkrétní aplikace; v tom případě si v gloggu otevřete soubor /var/log/syslog. Přitom víte, že aplikace havarovala přesně v 18:17, takže otevřete systémový protokol a do vyhledávacího pole zadejte čas 18:17 (záznamy jsou ve 24 hodinovém formátu). Zobrazí se výsledky hledání označené červeně (viz obr. 2). Prostřednictvím těchto výsledků zjistíte, zda existují nějaké stopy, proč ta která aplikace havarovala.
Obrázek 2: Možná podezřelá položka v souboru /var/log/syslog
Jedna z nejlepších věcí, kterou glogg umí je, že vám umožní sledovat soubor log v reálném čase. To může pomoci při řešení problému tak, že se při otevření aplikace vše zaznamená do souboru protokolu.
Chcete-li sledovat log soubor, proveďte následující kroky:
- Otevřete glogg
- Otevřete soubor protokolu
- Klepněte na položku View > Follow File.
Následně bude glogg automaticky aktualizovat zobrazení protokolu pokud budou data zapisována do uvedeného protokolu.
Ale co když při hledání je soubor protokolu buď zanořen příliš hluboko do linuxového systému nebo jednoduše nebyly nalezeny žádné výsledky? Pak se můžete rozhodnout pro Occamovu břitvu (pokud pro nějaký jev existuje vícero vysvětlení, je lépe upřednostňovat to nejméně komplikované) a vyzkoušet to nejjednodušší řešení.
System Monitor
Pokud jste používali parodii na OS Windows, pak víte o Správci úloh a také o tom, jak vám může pomoci vyřešit problémy. Řada linuxových distribucí (Mint nevyjímaje) má velmi podobné nástroje. V Linux Mintu se jedná o nástroj Sledování systému. Jděte tedy do Menu > Správa > Sledování systému. Po jeho otevření najdete tři snadno použitelné karty:
- Procesy: Seznam všech běžící procesů podle názvu, uživatele, procenta zatížení CPU, ID, použité paměti a priority.
- Zdroje: Zobrazuje historii CPU, paměti, swapu a sítě.
- Souborové systémy: Zobrazuje zařízení, kde jsou namountována, jejich souborový systém, použitou velikost a kolik volného místa je ještě k dispozici.
Klíčovými kartami k řešení problémů s aplikací budou karty Procesy a Zdroje. Pokud najdete aplikaci, která „zamrzla“ a nejde ukončit, můžete provést následující:
- Otevřete Sledování systému
- Klepněte na kartu Procesy
- Vyhledejte název procesu
- Klepněte pravým tlačítkem myši na název procesu
- Zvolte Otevřené soubory
- V otevřeném okně (obr. 3), zkontrolujte všechny stopy
Obrázek 3: Kontrola otevřených souborů, spojených s havarovanou aplikací
Pokud vám otevřené soubory nic neprozradí, tak nejlepším řešením bude daný proces jednoduše zabít. Pro tuto variantu vyberte zlobivý proces a klepněte na tlačítko Ukončit proces. Tím bude aplikace násilně ukončena. Na tomto místě se můžete vrátit zpět do gloggu, otevřít daný protokol, prohlédnout log a znovu spustit aplikaci.
Řešení problémů s padáním aplikace může být překážkou pro přechod řady uživatelů právě na Linux. Pokud nejste ochotni využít sílu příkazového řádku, tak musíte být kreativní a pomocí výše zmíněných nástrojů zúžit počet možností. Tajně také doufám, že začnete malinko rozumět systému a procesům, nezbytným pro běh Linuxu – i když je to jen jeden malý krůček.