Ldd naredba može se koristiti za prikazivanje zajedničkih knjižnica koje zahtijeva bilo koji program.
To je korisno za izvođenje kada postoji nestalna ovisnost i može se koristiti za popis funkcija i objekata koji nedostaju.
ldd Sintaksa naredbi
Ovo je ispravna sintaksa kada koristite naredbu ldd:
ldd [OPTION] ... FILE ...Evo dostupnih ldd naredbi koje se mogu umetnuti u [OPTION] točku u gornjoj naredbi:
- pomoć ispisati ovu pomoć i izlaz - verzija informacije o inačici ispisa i izlaz -d, --podataka podataka o preseljenju procesnih podataka -r, --funkcija-relocs procesnih podataka i premještanja funkcija -u, - neiskorišten ispis neiskorištenih izravnih zavisnosti -v, --verbose ispisati sve informacijeKako koristiti ldd naredbu
Možete upotrijebiti sljedeću naredbu da biste dobili više informacija iz bilo koje naredbe ldd:
ldd -v / put / u / program / izvršnu datotekuIzlaz prikazuje informacije o verziji, kao i putove i adrese u dijeljene biblioteke, ovako:
ldd libshared.so linux-vdso.so.1 => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)Ako SO datoteka uopće ne postoji, knjižnice koje nedostaju možete pronaći pomoću sljedeće naredbe:
ldd -d put / u / programIzlaz je sličan sljedećem:
linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => nije foundlibc.so.6 => usr / lib / libc.so.6 (0x00007fd0c6259000) / lib64 / ld-linux-x86 -64.so.2 (0x00007fd0c65fd000)Važno: Nikad nemojte pokrenuti ldd naredbu protiv nepouzdanog programa jer naredba zapravo može izvršiti. Ovo je sigurnija alternativa koja pokazuje samo izravne zavisnosti, a ne čitav stablo ovisnosti: objdump -p / put / to / program | POTREBAN .
Kako pronaći putanju aplikaciji
Morate osigurati puni put do aplikacije ako želite pronaći svoje ovisnosti s ldd, što možete učiniti na više načina.
Na primjer, na taj ćete način pronaći put do Firefoxa :
pronađi / -name firefoxProblem s naredbom za pronalaženje je , međutim, da neće samo popisati izvršnu već i svugdje gdje se nalazi Firefox, ovako:
- /etc/skel/.mozilla/firefox
- / Home // cache / Mozilla / Firefox
- /home//.mozilla/firefox
- / Usr / bin / Firefox
- / Usr / lib / Firefox
- / Usr / lib / Firefox / Firefox
Ovaj je pristup malo prekoračenja i možda ćete morati koristiti sudo naredbu za podizanje svojih privilegija, inače ste vjerojatno dobili puno dopuštenja odbijenih pogrešaka.
Umjesto toga je mnogo lakše koristiti naredbu whereis da pronađe put programa:
gdje je krijesnicaOvaj put izlaz može izgledati ovako:
/ usr / bin / krijesnica
/ etc / krijesnica
/ usr / lib / krijesnica
Sve što morate učiniti da biste pronašli zajedničke knjižnice za Firefox upišite sljedeću naredbu:
ldd / usr / bin / firefoxIzlaz iz naredbe bit će ovako:
linux-vdso.so.1 (0x00007ffff8364000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007feb9917a000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007feb98f76000)
libstdc + +. so.6 => /usr/lib/libstdc++.so.6 (0x00007feb98bf4000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007feb988f6000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007feb986e0000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007feb9833c000)
/lib64/ld-linux-x86-64.so.2 (0x00007feb99397000)
Linux-vdso.so.1 je naziv biblioteke, a heksadecimalni broj je adresa na kojoj će se knjižnica učitati u memoriju.
Na mnogim drugim redovima primijetit ćete da je simbol => slijedi put. Ovo je put do fizičkog binarnog; heksadecimalni broj je adresa na kojoj će biti učitana knjižnica.