La ldd-komando povas esti uzata por montri al vi la dividitajn bibliotekojn postulitajn de iu ajn programo.
Ĉi tio utilas por funkcii kiam ekzistas manko de dependeco kaj povas esti uzata por listigi mankantajn funkciojn kaj objektojn.
ldd Komando Sintakso
Ĉi tiu estas la taŭga sintakso kiam vi uzas la ldd-komandon:
ldd [OPTION] ... FILEO ...Jen la disponeblaj lrd-komandaj ŝaltiloj, kiuj povas esti enmetitaj en la lokon [OPTION] en la supra komando:
--helpi presi ĉi tiun helpon kaj eliri --version presi versio kaj eliro -d, --data-relocs procesi datumoklokiĝojn -r, --function-relocs procesi datumojn kaj funkciojn anstataŭigoj -u, --unis presitajn neuzitajn rektajn dependecojn -v, --verbose presas ĉiujn informojnKiel Uzi la Ldd-Komandon
Vi povas uzi la sekvan komandon por ricevi pli da informoj de iu ajn ordinara ldd:
ldd -v / path / to / program / executableLa eligo montras informajn informojn same kiel la vojojn kaj adresojn al la dividitaj bibliotekoj, kiel ĉi tiu:
ldd libshared.so linux-vdso.so.1 => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)Se la SO-dosiero ne ekzistas, vi povas trovi la mankantajn bibliotekojn uzante la jenan komandon:
ldd -d vojo / al / programoLa eligo estas simila al la sekvaj:
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)Grava: Neniam kuru la lrd-komandon kontraŭ nefidita programo, ĉar la komando efektive efektivigas ĝin. Ĉi tio estas pli sekura alternativo, kiu montras nur la rektajn dependecojn kaj ne la tutan dependan arbon: objdump -p / path / to / program | grep bezonata .
Kiel Trovi la Vojon al Apliko
Vi devas provizi la plenan vojon al aplikaĵo se vi volas trovi ĝiajn dependaĵojn kun ldd, kiujn vi povas fari plurajn manierojn.
Ekzemple, jen kiel vi trovos la vojon al Firefox :
Trovu / -nomon fajranfumilonLa problemo kun la komando troviĝas , tamen, ke ĝi ne nur listigos la ejektablan, sed ĉie, ke Firefox situas, kiel ĉi tiu:
- /etc/skel/.mozilla/firefox
- / hejmo // cache / mozilla / firefox
- /home//.mozilla/firefox
- / usr / bin / Firefox
- / usr / lib / Firefox
- / usr / lib / Firefox / Firefox
Ĉi tiu enfokusigas estas iom da overkill kaj vi eble bezonos uzi la sudo-komandon por levi viajn privilegiojn, alie vi eble ricevos multajn permesojn malkonfirmitajn erarojn.
Estas multe pli facile uzi la komandon kie trovi la vojon de aplikaĵo:
kie firefoxĈi tiu fojo la eligo povus aspekti kiel ĉi:
/ usr / bin / firefox
/ ktp / firefox
/ usr / lib / firefox
Ĉio, kion vi devas fari nun por trovi la elektitajn bibliotekojn por Firefox, tajpas la jenan komandon:
ldd / usr / bin / firefoxLa eligo de la komando estos io simila al ĉi tio:
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 estas la nomo de la biblioteko kaj la heksa nombro estas la adreso, kie la biblioteko estos ŝarĝita en memoro.
Vi rimarkos multajn aliajn liniojn, ke la => simbolo sekvas vojon. Ĉi tiu estas la vojo al la fizika binara; la heksa nombro estas la adreso, kie la biblioteko estos ŝarĝita.