Některé z těchto postupů nejspíš znáte, ale možná jste na ně pozapomněli. Pro jistotu zmiňujeme i notoricky známé věci. Detaily 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(1)
. Pokud chcete
vědět, jaké sdílené knihovny používá nějaká binárka, prozkoumejte ji
programem ldd(1)
. Nevíte-li, v jaké knihovně (programu,
.o
souboru) je který symbol (funkce), vypíše vám je program
nm(1)
.
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
nebo journal
. 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(1)
(-f
puštěný na další
konzole, třeba i přes grep(1)
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(1)
– většinu problémů s provozem
odzkoušených programů vám pomůže odhalit strace(1)
. 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(1)
– 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(1)
, duální k němu je
fuser(1)
, o síti na vašem počítači vám asi nejvíc řekne
netstat(1)
.
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(1)
. 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
programem telnet(1)
na konkrétní port testované služby a
dráždit ji ručně. Mocnějším nástrojem je nc(1)
(nikoliv
Norton Commander, ale netcat
) – umí na specifikovaném portu
i naslouchat a pracuje i nad UDP (kromě jiného). Ke službě zabezpečené
protokolem SSL/TLS se obdobně připojíte pomocí
openssl s_client
.
Sledujte, co se děje na vašem počítači
Nezapomínejte ani na notoricky známé (doufejme) prográmky
top(1)
a ps(1)
, ze kterých vidíte, co a jak
intenzivně běží. Zátěž na discích posoudíte programem
iostat(1)
.