Выкарыстанне «LDD» Command ў Linux

Каманда LDD можа выкарыстоўвацца, каб паказаць вам падзяляем бібліятэкі, неабходныя для любой дадзенай праграмы.

Гэта карысна для працы, калі ёсць адсутнічае залежнасць і можа быць выкарыстана для адлюстравання адсутнічаюць функцый і аб'ектаў.

LDD Сінтаксіс

Гэта правільны сінтаксіс пры выкарыстанні каманды LDD:

LDD [КЛЮЧ] ... ФАЙЛ ...

Вось даступная L каманда перамыкачы , якія могуць быць устаўленыя ў [OPTION] месца ў камандзе вышэй:

--help надрукаваць гэтую даведку і выйсці --version Выдаць інфармацыю аб версіі і выйсці з -d, --data-relocs пераездаў дадзеных працэсу -r, дадзеныя працэсу --function-relocs і функцыі пераездаў -u, --unused друк невыкарыстоўваныя прамыя залежнасці -v, --verbose друкаваць ўсю інфармацыю

Як выкарыстоўваць каманду LDD

Вы можаце выкарыстоўваць наступную каманду, каб атрымаць больш інфармацыі з любой каманды LDD:

LDD -v / шлях / да / праграмы / выкананы

Выснову паказвае інфармацыю аб версіі, а таксама шляхі і адрас для агульных бібліятэк, як гэта:

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 не існуе, вы можаце знайсці не хапае, бібліятэкі, выкарыстоўваючы наступную каманду:

LDD -d шлях / да / праграме

Выхад падобны на наступнае:

Linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => ня foundlibc.so.6 => USR / Бібліятэка / libc.so.6 (0x00007fd0c6259000) / lib64 / LD-Linux-x86 -64.so.2 (0x00007fd0c65fd000)

Важна: Ніколі не запускайце каманду LDD супраць ненадзейных праграмы , паколькі каманда можа рэальна выканаць. Гэта больш бяспечная альтэрнатыва , якая паказвае толькі непасрэдныя залежнасці і не дрэва залежнасцяў усяго: objdump -p / шлях / да / праграме | Grep ПАТРАБУЕЦЦА.

Як знайсці шлях да дадатку

Вам трэба будзе падаць поўны шлях да дадатку, калі вы хочаце, каб знайсці яго залежнасці з LDD, якія вы можаце зрабіць некалькі спосабаў.

Напрыклад, гэта, як вы б знайсці шлях да Firefox :

знайсці / -name Firefox

Праблема з камандай знаходзяць , аднак, заключаецца ў тым , што ён не толькі спіс выкананых , але ўсюды, дзе Firefox знаходзіцца, напрыклад:

Такі падыход з'яўляецца трохі залішнім , і вы , магчыма , спатрэбіцца выкарыстаць каманду судо , каб падняць свае прывілеі, інакш вы , верагодна, атрымаць шмат дазволу памылкі адмовы.

Гэта замест таго, значна прасцей выкарыстоўваць WhereIs каманду , каб знайсці шлях прыкладанняў ':

WhereIs светлячок

На гэты раз выснова можа выглядаць наступным чынам:

/ USR / бен / светлячок

/ І г.д. / светлячок

/ USR / Бібліятэка / светлячок

Усё, што вам трэба зрабіць цяпер, каб знайсці агульныя бібліятэкі для Firefox з'яўляецца увядзіце наступную каманду:

LDD / USR / бен / светлячок

Выснова каманды будзе выглядаць прыкладна так:

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 гэтае імя бібліятэкі і шаснаццатковы лік з'яўляецца адрасам, дзе бібліятэка будзе загружаная ў памяць.

Вы заўважыце на многіх іншых лініях, что => сімвал ідуць шляху. Гэта шлях да фізічнага двайковым; шаснаццатковы лік з'яўляецца адрасам, па якім будзе загружаная бібліятэка.