Gellir defnyddio'r gorchymyn ldd i ddangos i chi y llyfrgelloedd a rennir sy'n ofynnol gan unrhyw raglen benodol.
Mae hyn yn ddefnyddiol ar gyfer gweithio allan pan fydd dibyniaeth ar goll a gellir ei ddefnyddio i restru swyddogaethau a gwrthrychau coll.
Ldd Command Syntax
Dyma'r cystrawen gywir wrth ddefnyddio'r gorchymyn ldd:
ldd [OPSIWN] ... FFILE ...Dyma'r switsys gorchmynion ldd sydd ar gael y gellir eu mewnosod i'r fan [DEWISIAD] yn y gorchymyn uchod:
- helpu i argraffu'r help a'r ymadawiad hwn - gwybodaeth fersiwn argraffu ac adleoli data proses broses adael -d, --data-relocs -r, - ffasiwn-adleoli data proses a adleoli ffwythiannau -u, - defnyddiwyd argraffiadau dibynadwy uniongyrchol heb eu defnyddio -v, --verbose argraffwch yr holl wybodaethSut i Defnyddio'r Ldd Command
Gallwch ddefnyddio'r gorchymyn canlynol i gael mwy o wybodaeth o unrhyw ldd command:
ldd -v / path / to / program / executableMae'r allbwn yn dangos gwybodaeth fersiwn yn ogystal â'r llwybrau a'r cyfeiriadau i'r llyfrgelloedd a rennir, fel hyn:
ldd libshared.so linux-vdso.so.1 => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)Os nad yw'r ffeil SO yn bodoli o gwbl, gallwch ddod o hyd i'r llyfrgelloedd coll sy'n defnyddio'r gorchymyn canlynol:
ldd -d path / to / programMae'r allbwn yn debyg i'r canlynol:
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)Pwysig: Peidiwch byth â rhedeg y gorchymyn ldd yn erbyn rhaglen anhysbys gan y gallai'r gorchymyn ei weithredu mewn gwirionedd. Mae hon yn ddewis mwy diogel sy'n dangos dim ond y dibyniaethau uniongyrchol ac nid y goeden dibyniaeth gyfan: objdump -p / path / to / program | ANGEN ANGEN .
Sut i ddod o hyd i'r Llwybr i Gais
Rhaid ichi ddarparu'r llwybr llawn i gais os ydych am ddod o hyd i'w ddibyniaethau gyda ldd, y gallwch chi ei wneud mewn sawl ffordd.
Er enghraifft, dyma sut y byddech chi'n dod o hyd i'r llwybr i Firefox :
darganfyddwch / -name firefoxY broblem gyda'r gorchymyn dod o hyd , fodd bynnag, yw y bydd nid yn unig yn rhestru'r gweithredadwy ond ym mhobman y mae Firefox wedi'i leoli, fel hyn:
- /etc/skel/.mozilla/firefox
- / home // cache / mozilla / firefox
- /home//.mozilla/firefox
- / usr / bin / Firefox
- / usr / lib / Firefox
- / usr / lib / Firefox / Firefox
Mae'r dull hwn yn rhywfaint o or-lwythi ac efallai y bydd angen i chi ddefnyddio'r gorchymyn sudo i godi eich breintiau, neu os ydych chi'n debygol o gael llawer o ganiatâd gwadu gwadu.
Yn hytrach mae'n llawer haws defnyddio'r gorchymyn lle i ddod o hyd i lwybr y cais:
whereis firefoxY tro hwn gallai'r allbwn edrych fel hyn:
/ usr / bin / firefox
/ etc / firefox
/ usr / lib / firefox
Y cyfan sydd raid i chi ei wneud nawr i ddod o hyd i'r llyfrgelloedd a rennir ar gyfer Firefox yw math y gorchymyn canlynol:
ldd / usr / bin / firefoxBydd yr allbwn o'r gorchymyn yn rhywbeth fel hyn:
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)
Y linux-vdso.so.1 yw enw'r llyfrgell a'r rhif hecs yw'r cyfeiriad lle bydd y llyfrgell yn cael ei lwytho i gof.
Byddwch yn sylwi ar lawer o'r llinellau eraill y mae'r = = symbol yn dilyn llwybr. Dyma'r llwybr i'r deuaidd corfforol; y rhif hecs yw'r cyfeiriad lle bydd y llyfrgell yn cael ei lwytho.