A 'cleachdadh an "ldd" Command ann an Linux

Faodar an t-ùghdarras ldd a chleachdadh gus na leabharlannan co-roinnte a tha a dhìth oirbh le prògram sam bith a shealltainn dhut.

Tha seo feumail airson obrachadh a-mach nuair a tha eisimeileachd air chall agus faodar a chleachdadh gus liosta de dh 'obraichean agus nithean a dhìth.

ldd Command Syntax

Seo an co-rèiteachadh ceart nuair a chleachdas tu an ldd:

ldd [RIAGHLAS] ... CLÀR ...

Seo na h-innealan ldd a ghabhas a chur a-steach don àite [ROGHADH] san òrdugh gu h-àrd:

- cuir taic ris a 'chuideachadh seo agus fàg air - bidh fiosrachadh tionndaidh clò-bhuailte agus pròiseas fàgail -d, --data-relocs a' gluasad data -r, - fionnaidh-ath-ghluasad a 'pròiseas dàta agus ath-ghluasadan obrachaidh -u, - a' cleachdadh prionnsabalan dìreach gan cleachdadh -v, --verbose clò-bhuail am fiosrachadh uile

Mar a chleachdas tu ldd Command

Faodaidh tu an t-òrdugh a leanas a chleachdadh airson barrachd fiosrachaidh fhaighinn bho ghin de ldd sam bith:

ldd -v / path / to / program / intable

Bidh an toradh a 'sealltainn fiosrachadh dreach a bharrachd air na slighean agus na seòlaidhean gu na leabharlannan co-roinnte, mar seo:

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

Mura h-eil am faidhle SO ann idir, faodaidh tu na leabharlannan a tha a dhìth a lorg a 'cleachdadh an òrdugh a leanas:

ldd -d path / to / program

Tha an toradh coltach ri na leanas:

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)

Cudromach: Na ruith a-rithist an t-òrdugh ldd an aghaidh prògram neo-earbsach bhon a dh 'fhaodadh an t-òrdugh a chur an gnìomh. Tha seo na roghainn nas sàbhailte a tha a 'sealltainn dìreach na eisimeileachd dìreach agus chan e an craobh eisimeileachd gu lèir: objdump -p / path / to / program | AN T-EILEANACH .

Mar a lorgas tu an t-slighe gu iarrtas

Feumaidh tu an làn shlighe a thoirt gu tagradh ma tha thu airson a cuid eisimeileachd a lorg le ldd, agus faodaidh tu grunn dhòighean a dhèanamh.

Mar eisimpleir, seo mar a lorgas tu an t-slighe gu Firefox :

lorg / -name firefox

Is e an duilgheadas leis an àithne lorg , ge-tà, nach bi e a-mhàin a 'clàradh na h-obrachail ach anns a h-uile h-àite far a bheil Firefox, mar seo:

Tha an dòigh-obrach seo beagan thar-dhuilleag agus is dòcha gum feum thu an t-òrdugh sudo a chleachdadh gus na sochairean agad a thogail, air neo ma dh'fhaoidte gum bi tòrr cead agad air mearachdan a dhiùltadh.

Tha e na b 'fhasa an àite an òrdugh whereis a chleachdadh airson slighe an iarrtais a lorg:

far a bheil firefox

An turas seo dh'fhaodadh an toradh a bhith a 'coimhead mar seo:

/ usr / bin / firefox

/ etc / firefox

/ usr / lib / firefox

Feumaidh tu a h-uile dad a-nis gus na leabharlannan co-roinnte a lorg airson Firefox a sgrìobhadh san òrdugh a leanas:

ldd / usr / bin / firefox

Bidh an toradh bhon àithne mar rud mar seo:

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)

Is e an linux-vdso.so.1 ainm an leabharlainn agus is e an àireamh hex an seòladh far am bi an leabharlann air a luachadh mar chuimhneachan.

Nochdaidh tu air mòran de na loidhnichean eile gu bheil an => samhla air a leantainn le slighe. Is e seo an t-slighe chun a 'bhuinnse fiosaigeach; Is e an àireamh hex an seòladh far am bi an leabharlann air a luchdachadh.