ldd (Unix)
ldd (zkratka z anglického List Dynamic Dependencies – vypiš dynamické závislosti) je programátorský nástroj na systémech unixového typu, který pro zadaný spustitelný soubor nebo zadanou knihovnu vypíše všechny závislosti na dynamických knihovnách.[1]
Jedná se o shellový skript kompatibilní s Bournovým shellem a jeho první verze pochází z roku 1996.
Používám je například při potřebě zkopírovat závislosti programu do chrootu.[2]
Bezpečnost a alternativy
Protože skript ldd v rámci svého běhu zkoumaný program zkouší, neměl by být používán na programy nedůvěryhodného původu.[3] Přímo manuálová stránka nabízí pro zkoumání potenciálně nebezpečných programů alternativu v podobě volání programů objdump a grep:[4]
user@home ~/ $ objdump -p /cesta/program | grep NEEDED
Příklad užití
user@home ~/ $ ldd /usr/bin/mp3blaster
linux-vdso.so.1 => (0x00007fff8fdff000)
libsidplay.so.1 => /usr/lib/libsidplay.so.1 (0x00007f4ea98ec000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x00007f4ea96e4000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f4ea94b6000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00007f4ea9273000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f4ea9056000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f4ea8d41000)
libm.so.6 => /lib/libm.so.6 (0x00007f4ea8abe000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f4ea88a7000)
libc.so.6 => /lib/libc.so.6 (0x00007f4ea8523000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f4ea831c000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f4ea8118000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4ea9b59000)
user@home ~/ $ ldd /usr/lib/i386-linux-gnu/libstdc++.so.6.0.20
linux-gate.so.1 (0xb7733000)
libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb75da000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb742f000)
/lib/ld-linux.so.2 (0xb7734000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7411000)
Odkazy
Reference
V tomto článku byl použit překlad textu z článku ldd (Unix) na anglické Wikipedii.
- BRABEC, Stanislav. Kompilujeme ze zdrojového kódu - knihovny. Root.cz [online]. 2002-08-19. Dostupné online. ISSN 1212-8309.
- ŠTRAUCH, Adam. Jailkit: snadné chrootování služeb. Root.cz [online]. 2008-11-28. Dostupné online. ISSN 1212-8309.
- ldd arbitrary code execution. Catonmat [online]. Dostupné online. (anglicky)
- ldd(1) [online]. Dostupné online. (anglicky)
Externí odkazy
- Manuálová stránka (anglicky)