Kutumia amri ya "ldd" katika Linux

Amri ya ldd inaweza kutumika kukuonyesha maktaba yaliyoshirikiwa na programu yoyote iliyotolewa.

Hii ni muhimu kwa kufanya kazi nje wakati kuna utegemezi usiokuwepo na inaweza kutumika kutunga kazi na vitu visivyopo.

Sura ya Amri ya Syntax

Hii ni syntax sahihi wakati wa kutumia amri ya dd:

Ldd [OPTION] ... FILE ...

Hapa ni pumzi za amri za ldd ambazo zinaweza kuingizwa kwenye doa [OPTION] katika amri ya juu:

- shirisha nakala hii ya usaidizi na uchapishaji wa toleo la kuchapisha toleo la habari na uhamisho wa data ya kuondoka -d, - uhamisho-uhamisho wa data - na uhamisho wa kazi -u, - kutumiwa kwa uchapishaji wa moja kwa moja usiotumika -v, -verbose uchapishe maelezo yote

Jinsi ya kutumia Amri ya Ldd

Unaweza kutumia amri ifuatayo ili kupata maelezo zaidi kutoka kwa amri yoyote ya dd:

ldd -v / path / to / program / executable

Pato inaonyesha maelezo ya toleo pamoja na njia na anwani kwenye maktaba yaliyoshirikiwa, kama haya:

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

Ikiwa faili ya SO haipo kabisa, unaweza kupata maktaba haipo kwa kutumia amri ifuatayo:

Njia ya dd / kwa / mpango

Pato ni sawa na yafuatayo:

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

Muhimu: Usitumie amri ya Ldd dhidi ya mpango usio na mpango tangu amri inaweza kuifanya. Hii ni mbadala salama inayoonyesha mtegemezi wa moja kwa moja na sio miti yote ya kutegemea: objdump -p / path / to / program | grep inahitajika .

Jinsi ya Kupata Njia kwa Maombi

Unapaswa kutoa njia kamili kwa programu ikiwa unataka kupata tegemezi zake na ldd, ambayo unaweza kufanya njia kadhaa.

Kwa mfano, hii ndivyo unavyopata njia ya Firefox :

kupata / -name firefox

Tatizo na amri ya kupata , hata hivyo, ni kwamba sio orodha tu ya kutekeleza lakini kila mahali Firefox iko, kama hii:

Njia hii ni kidogo ya overkill na huenda unahitaji kutumia amri ya sudo ili kuinua marupurupu yako, labda uwezekano wa kupata makosa mengi ya ruhusa yaliyokataliwa.

Badala yake ni rahisi kutumia amri ya wapi kupata njia ya maombi:

wapi firefox

Wakati huu pato linaonekana kama hii:

/ usr / bin / firefox

/ nk / firefox

/ usr / lib / firefox

Wote unapaswa kufanya sasa kupata maktaba yaliyoshirikiwa ya Firefox ni aina ya amri ifuatayo:

ldd / usr / bin / firefox

Pato kutoka kwa amri itakuwa kitu kama hiki:

linux-vdso.so.1 (0x00007ffff8364000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007feb9917a000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007feb98f76000)
libstdc ++. hivyo.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 ni jina la maktaba na namba ya hex ni anwani ambako maktaba itawekwa kwenye kumbukumbu.

Utaona juu ya mistari mingi ambayo = = ishara inakufuatiwa na njia. Hii ndiyo njia ya binary ya kimwili; namba ya hex ni anwani ambapo maktaba itatakiwa kubeba.