Koristiti LDD naredba za prikazivanje zajedničkih biblioteka koje je potreban bilo kojem programu - korisno za izradu kad postoji nestala ovisnost. Naredba također navodi nedostajuće funkcije i objekti.
ldd Sintaksa naredbi
Pratite odgovarajuću sintaksu ldd naredbe kako biste izbjegli pogreške:
ldd OPTION … FILE …
Upotrijebite jednu ili više raspoloživih naredbi za ldd, umetnute u OPCIJA mjesto u gornjoj naredbi: - pomoć | ispišite ovu pomoć i izađite --verzija | ispisati inačicu i izaći iz verzije -d, --data-relocs | preseljenja procesnih podataka -r, --funkcija-relocs | procesnih podataka i premještanja funkcija -u, --unused | ispisati neiskorištene izravne zavisnosti -v, --verbose | ispišite sve podatke Izvršite sljedeću naredbu da biste dobili više informacija o programu: $ ldd -v / put / u / program / izvršnu datoteku
Izlaz 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 / program
Izlaz 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)
Nikad nemojte pokrenuti ldd naredbu protiv nepouzdanog programa jer ga ldd zapravo može izvršiti. Umjesto toga upotrijebite sigurniju alternativu koja prikazuje samo izravne zavisnosti, a ne cijelo stablo ovisnosti: $ objdump -p / put / to / program | POTREBAN Morate osigurati puni put do aplikacije ako želite pronaći svoje ovisnosti s ldd, što možete učiniti na nekoliko načina. Na primjer, na taj ćete način pronaći put do Firefoxa: $ pronađi / -name firefox
Problem s naredbom za pronalaženje je, međutim, da neće samo popisati izvršnu već i svugdje gdje se nalazi Firefox, ovako: Ovaj je pristup malo prekoračenja i možda ćete morati koristiti sudo naredbu da podignete svoje privilegije, inače ćete vjerojatno dobiti puno pogrešaka kojima se zabranjuje dopuštanje. Umjesto toga je mnogo lakše koristiti naredbu whereis da pronađe put programa: $ gdje je krijesnica
Ovaj 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 / firefox
Izlaz 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. Kako koristiti ldd naredbu
Kako pronaći putanju aplikaciji