Až budete vypracovávat úkoly spočívající většinou v rozchození nějakého programu, může se vám hodit několik užitečných utilit, které už většinou sice znáte, ale možná jste na nějakou pozapomněli. Zmíníme tedy pro jistotu i některé zcela triviální, samozřejmě je možné, že na nějakou zapomeneme.
Bližší údaje o možnostech a spouštění najdete v příslušných manuálových stránkách.
Zjistěte, si co je co
Typ souboru, tedy i to, zda se jedná o binárku či například shellovský skript
vám řekne program file
. Pokud chcete vědět, jaké sdílené knihovny
používá nějaká binárka, prozkoumejte ji programem ldd
. Nevíte-li,
v jaké knihovně (programu, .o
souboru) je který symbol (funkce),
vypíše vám je nm
.
Sledujte, co vám program říká
Většina programů buď sama od sebe vypisuje údaje o svém běhu, nebo se dá
spouštět s přepínači (-d, -v, -i
), které tuto možnost zapnou,
případně i nastaví obsažnost těchto hlášek. Ty lze sledovat a odchytávat
buď z (chybového) výstupu, nebo zejména v případě daemonů ze souboru, do
kterého je zapsal syslog. Najdete je většinou v adresáři /var/log
,
nejčastěji jde o soubor messages
. Vhodným nástrojem ke sledování
přicházejících hlášek je tail
(-f
puštěný na další
konzole, třeba i přes grep
s vhodným vzorkem pro výběr toho, co vás
zajímá).
Sledujte, co program dělá
Chcete-li vědět, co se děje při spuštění nějaké binárky, nemusíte používat
hned gdb
-- většinu problému s provozem odzkoušených programů vám
pomůže odhalit strace
. Sleduje systémová volání, takže snadno
zjistíte např. s jakými soubory se program snaží pracovat, jak končí pokusy
o síťové spojení a podobné věci. Můžete ho napojit i na běžící procesy
(-p
), sledovat i potomky původního procesu (-f
), můžete
omezovat, co vám bude hlásit (-e
), a mnoho dalších věcí.
Podobným programem je ltrace
-- sleduje volání knihovních funkcí.
Sledujte, s čím program pracuje
Vidět, jaké soubory (včetně síťových spojení) daný proces používá vám umožní
program lsof
, duální k němu je fuser
, o síti na vašem
počítači vám asi nejvíc řekne netstat
.
Sledujte, co se děje na síti
Chcete-li vidět, co běhá po síti, kdo s kým komunikuje, použijte
tcpdump
. Pokud chcete přímo otestovat chování nějakého serveru,
máte v případě textových protokolů nad TCP možnost připojit se
telnet
em na konkrétní port testované služby a dráždit ji ručně.
Mocnějším nástrojem je nc
(nikoliv Norton Commander, ale
netcat
) -- umí na specifikovaném portu i naslouchat a pracuje i
nad udp (kromě jiného).
Sledujte, co se děje na vašem počítači
Nezapomínejte ani na notoricky známé (doufejme) prográmky top
a ps
, ze kterých vidíte, co a jak těžce běží.