Mampiasa ny baiko "ldd" ao Linux

Ny baiko ldd dia azo ampiasaina mba hampisehoana anao ireo tranokala iombonana izay takiana amin'ny programa voatokana rehetra.

Ity dia ilaina amin'ny fanatanterahana rehefa misy fiankinan-dàlana tsy misy dikany ary azo ampiasaina hamaritana ny asa sy ny zavatra tsy hita.

ldd Command Syntax

Ity ny syntax mety amin'ny fampiasana ny baiko ldd:

ldd [OPTION] ... FILE ...

Ireto misy ny ldd baikon'ny baiko izay azo alaina ao amin'ny toerana [OPTION] ao amin'ny baiko etsy ambony:

--hindranao printy ity fanampiana sy fivoahana ity - dika print version vaovao sy fivoahana -d, --data-relocs fikandrana angona angona -r, - dingan-drakitra momba ny dinganina sy ny fifindrana asa -u, - tsy ampiasaina print printy tsy miankina mivantana -v, --verbose mamoaka ny fampahalalana rehetra

Ahoana ny fampiasana ny baiko ldd

Azonao atao ny mampiasa ny baiko manaraka mba hahazoana fampahalalana bebe kokoa amin'ny baiko ldd:

ldd -v / lalana / amin'ny / programa / executable

Ny vokatra dia mampiseho fampahafantarana amin'ny version ary koa ny lalana sy adiresy ho an'ny tranombokim-pifandraisana, toy izao:

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

Raha toa ka tsy misy ny tahiry SO, dia azonao atao ny mahita ireto tranonkala tsy hita ireto mampiasa izao baiko manaraka izao:

ldd -d lalana / amin'ny / programa

Ny vokatra dia mitovy amin'ny manaraka:

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

Zava-dehibe: Aza mihazakazaka ny ldd baiko manohitra ny programa tsy voamarina satria ny baiko dia mety hamoaka izany. Ity dia safidy azo antoka izay mampiseho ny miankina amin'ny miankina fa tsy ny angon-drakitra manontolo: objdump -p / path / to / program | grep NEEDED .

Fomba hahitana ny lalana mankany amin'ny fampiharana

Tsy maintsy manome ny làlana feno amin'ny fampiharana ianao raha te hahita ny fiankinany amin'ny ldd, izay azonao atao amin'ny fomba maro.

Ohatra, ity no fomba hahitanao ny làlana mankany Firefox :

find / name firefox

Ny olana amin'ny baiko finday anefa dia tsy hoe ny lisitra afa-drakitra afa-drakitra afa-tsy ny executable ihany, fa na aiza na aiza misy an'i Firefox, toy izao:

Ity fomba fiasa ity dia kely loatra amin'ny overkill ary mila mampiasa ny baiko sudo ianao mba hampitomboana ny tombontsoa azonao, fa raha tsy izany dia mety ho nahazo fahazoan-dalana be dia be ianao.

Fa mora kokoa ny mampiasa ny baiko whereis hahitana ny lalan'ny fangatahana:

whereis firefox

Amin'ity indray mitoraka ity dia mety ho tahaka izao ny vokatra:

/ usr / Bin / Firefox

/ etc / Firefox

/ usr / lib / Firefox

Ny zava-drehetra tokony hataonao mba hahitana ny tranokala iombonana ho an'ny Firefox dia manondro ity baiko manaraka ity:

ldd / usr / bin / firefox

Ny vokatra avy amin'ny baiko dia toy izao:

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)

Ny linux-vdso.so.1 dia ny anaran'ny tranomboky ary ny laharana hex dia ny adiresy izay ho entina ho fahatsiarovana.

Ho hitanao amin'ny ankabeazan'ny andalana hafa fa manaraka ny làlana ny => marika. Ity no lalana mankany amin'ny vola binary; Ny laharana hex dia ny adiresy izay hikolokoloana ny tranomboky.