Linuxen "ldd" komandoa erabiliz

Ldd komandoa erabil daiteke programa jakin batek eskatzen dituen biblioteka partekatuak erakusteko.

Hau erabilgarria da galdutako mendekotasuna dagoenean lan egiteko eta falta diren funtzio eta objektuak zerrendatzeko erabil daiteke.

ldd Komandoaren sintaxia

Hau da sintaxia egokia ldd komandoa erabiltzean:

ldd [OPTION] ... FITXATEGIA ...

Hemen daude erabilgarri dauden ldd komandoak [OPTION] lekuan sartu ahal izateko goiko komandoan:

--help inprimatu laguntza hau eta irteera --version inprimatu bertsioaren informazioa eta irteera -d, --data-relocs prozesuaren datuak lekualdatzeak -r, --function-relocs prozesu datuak eta funtzioen lekualdaketak -u, --unused inprimatu gabeko erabilerarako mendekotasunak -v, --verbose inprimatu informazio guztia

Nola erabili ldd komandoa

Hurrengo komandoa erabil dezakezu ldd komando batetik informazio gehiago lortzeko:

ldd -v / path / to / program / executable

Irteerak bertsio informazioa eta liburutegi partekatuetarako bideak eta helbideak erakusten ditu, honela:

ldd libshared.so linux-vdso.so.1 => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)

SO fitxategia ez badago, liburutegiak falta zaizkizu hurrengo komandoa erabiliz:

ldd -d bide / to / programan

Irteerak ondokoen antzekoak dira:

linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => ​​no foundlibc.so.6 => usr / lib / libc.so.6 (0x00007fd0c6259000) / lib64 / ld-linux-x86 -64.so.2 (0x00007fd0c65fd000)

Garrantzitsua: Inoiz ez exekutatu komando fidagarria den ldd komandorik, komandoak benetan exekutatzen duenez. Hau alternatiba seguruagoa da, zuzeneko mendekotasunak besterik ez dituena eta ez mendekotasun zuhaitz osoa: objdump -p / path / to / program | grep NEEDED .

Nola aurkitu bide bat aplikazio bati

Aplikazio baten bide osoa eman behar duzu bere mendekotasunak aurkitu nahi badituzu ldd-rekin, hainbat modutan egin ditzakezun.

Adibidez, hau da nola Firefox-en bidea aurkituko duzu:

aurkitu / -name firefox

Aurkitu komandoaren arazoa, ordea, ez dela exekutagarria bakarrik zerrendatuko, baizik eta Firefoxen kokatzen den edonon, hau bezalako:

Hurbilketa hau gehiegizko apur bat da eta sudo komandoa erabili behar duzu zure pribilegioak altxatu ahal izateko, bestela litekeena da baimenik gabeko akatsak lortzea.

Horren ordez, errazagoa da aplikazioa bidaltzea komeniko den lekuan.

non firefox da

Une honetan, irteerak itxura hau izan liteke:

/ usr / bin / firefox

/ etc / firefox

/ usr / lib / firefox

Orain, Firefoxen liburutegi partekatuak bilatu behar dituzun guztia idatzi komando hau:

ldd / usr / bin / firefox

Komandoaren irteerak honelako zerbait izango du:

linux-vdso.so.1 (0x00007ffff8364000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007feb9917a000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007feb98f76000)
libstdc ++. beraz.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 liburutegiaren izena da eta hex zenbakia liburutegian gordeko den helbidea da.

Beste lerro batzuk nabarituko dituzu => sinboloa bidea jarraitzen duen. Hau da fisiko bitarraren bidea; hex zenbakia liburutegia kargatuko deneko helbidea da.