Rady pro chov tučňáků

Protože svět operačních systémů nejsou již dávno pouze Windows, budou tyto Tipy a Triky pro ty, kteří místo "oken" ...


Protože svět operačních systémů nejsou již dávno pouze Windows, budou tyto Tipy
a Triky pro ty, kteří místo "oken" zvolili tučňáky. I v tomto systému se totiž
několik rad určitě šikne.
Hlavní náplní pak budou zejména tipy věnované logování a odlogovávání
uživatelů, podíváme se také, jak zjistit, na kterých knihovnách který program
závisí a také na to, jak "zabít" zamrzlé aplikace.
Mažeme obrazovku
Jako první se zaměříme na relativně triviální problém, který ale řadu
administrátorů trápí jak smazat obrazovku po odlogování. Tento problém se týká
hlavně superuživatele, který by z bezpečnostních důvodů neměl nechat na
obrazovce historii použitých příkazů. Hesla se sice obvykle v Linuxu
nezobrazují, ale lepší bude obrazovku přece jen smazat. Podobný problém se
jistě týká i uživatelů, kteří by určitě nechtěli, aby si někdo další mohl
prohlédnout, co na počítači dělali. Zde existuje několik řešení, mne ale
nejvíce zaujala následující:
Zaveďte alias stačí dodat do systému alias např. příkazem alias konec = "clear
&& exit". Pak již jen stačí při ukončení práce použít příkaz konec a máte
jistotu, že obrazovka bude smazána.
Zaměstnejte .bash_logout pokud používáte jako shell bash, můžete si vytvořit
soubor .bash_logout ve svém domovském adresáři a do něj zapsat příkaz clear.
Používejte mingetty místo standardního agetty můžete použít i jiné varianty
např. mingetty, fbgetty apod. Po nahrání a přeložení pak stačí jen zaměnit v
/etc/inittab řádky obsahující příkaz aggety za vámi zvolený terminál. Prakticky
to tedy může vypadat následovně:
místo
c1:1235:respawn:/sbin/agetty 38400 tty1 linux
c2:1235:respawn:/sbin/agetty 38400 tty2 linux
c3:1235:respawn:/sbin/agetty 38400 tty3 linux
...
budete mít
c1:1235:respawn:/sbin/mingetty 38400 tty1 linux
c2:1235:respawn:/sbin/mingetty 38400 tty2 linux
c3:1235:respawn:/sbin/mingetty 38400 tty3 linux
...
Další nezanedbatelnou výhodou je pak i zrychlení celého běhu, takovéto
minimalistické terminály jsou totiž často rychlejší a méně náročné než
oficiální varianta.
Ach bože, proč ho nepustím...
Dalším problémem, který musí uživatelé Linuxu řešit, jsou sdílené knihovny.
Velice často se totiž stane, že program nejde spustit, protože mu chybí některá
knihovna. Jak ale zjistit která?
K tomu slouží program ldd, který vyzkoumá: jaké knihovny ten který program
používá. Tedy např. pokud chcete vědět, které knihovny jsou nezbytné ke běhu
perlu, tak použijete následující příkaz: ldd /usr/local/bin/perl, jehož
výsledek bude asi následující:
libperl.so => /usr/lib/perl5/5.00503/i686-linux/CORE/libperl.so (0x4000d000)
libgdbm.so.1 => /lib/libgdbm.so.1 (0x400a9000)
libdb.so.1 => /usr/lib/libdb.so.1 (0x400b0000)
libdl.so.1 => /lib/libdl.so.1 (0x400c0000)
libm.so.5 => /lib/libm.so.5 (0x400c3000)
libc.so.5 => /lib/libc.so.5 (0x400cb000)
V případě, že jakákoliv z těchto knihoven chybí, tak si tento program jen těžko
spustíte.
Na závěr ještě jedno malé upozornění podobné informace lze získat i jinak např.
pomocí programu strace a poté studování výstupu takového programu. Tato velice
užitečná utilita totiž slouží ke trasování systémových volání a signálů z
jejího výstupu lze tedy poznat, u které knihovny došlo k chybě.
Zabít, zabít...
Na první pohled možná trochu brutální titulek, ale pokud máte více zkušeností s
Linuxem, pak víte, že není nad příkaz kill (ten slouží k "odstřelení" zamrzlých
aplikací podobně jako task manager pod Windows). Někdy je ale těžké najít to
správné číslo, pod kterým se hledaný obětní beránek skrývá. V takovém případě
určitě oceníte příkaz lsof nebo pstree. Ten první slouží k vypsání programů,
které běží na specifikovaném terminálu např. lsof /dev/tty1 vypíše všechny
programy, které běží na první konzoly.
Druhý užitečný program pstree zase vypisuje běžící programy ve stromu nejdříve
rodičovský proces a pod ním potomky. Prakticky tento příkaz ale používejte s
parametrem -n, který vypíše i čísla procesů.
Poté, co již znáte hříšníka, stačí zavolat kill -9 s číslem procesu a v klidu
pracovat dál, nemusíte se na rozdíl od Windows obávat, že by došlo k nějakému
narušení systému, "zastřelení" aplikace opravdu celý počítač neshodí.
0 2323 / alsn









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.