Izmantojiet ldd komanda parādīt koplietojamās bibliotēkas, kas nepieciešamas kādā konkrētā programmā - noderīga, lai izstrādātu, kad trūkst atkarības. Komanda arī norāda trūkstošās funkcijas un objektus.
ldd komandas sintakse
Lai izvairītos no kļūdām, ievērojiet pareizu komandas ldd sintakse:
ldd OPTION … FILE …
Izmantojiet vienu vai vairākus pieejamos ldd komandu slēdžus, kas ievietoti mapē OPTION vietas iepriekšējā komandā: --palīdzība | izdrukājiet šo palīdzību un izejiet --versija | drukas versijas informācija un izeja -d, -data-relocs | apstrādāt datu pārvietošanu -r, --funkcijas-relocs | apstrādāt datus un funkciju pārvietošanu -u, --unused | drukāt neizmantotās tiešās atkarības -v, --verbose | drukāt visu informāciju Lai iegūtu vairāk informācijas par programmu, izpildiet šādu komandu: $ ldd -v / path / to / program / executable
Izvade parāda informāciju par versiju, kā arī koplietojamo bibliotēku ceļus un adreses, piemēram, šo: $ ldd libshared.so linux-vdso.so.1 => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)
Ja SO fails vispār nepastāv, jūs varat atrast trūkstošās bibliotēkas, izmantojot šādu komandu: $ ldd-d ceļš / uz / programmu
Izvade ir līdzīga: linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => nav foundlibc.so.6 => usr / lib / libc.so.6 (0x00007fd0c6259000) /lib64/ld-linux-x86-64.so.2 (0x00007fd0c65fd000)
Nekad neizmantojiet komandu ldd pret neuzticamu programmu, jo ldd to var faktiski izpildīt. Tā vietā izmantojiet drošāku alternatīvu, kas parāda tikai tiešās atkarības, nevis visu atkarīgo koku: $ objdump-p / ceļš / uz / programmu | NEPIECIEŠAMS grep Jums ir jāsniedz pilnīgs ceļš uz lietojumprogrammu, ja vēlaties atrast tās atkarību no ldd, ko jūs varat darīt vairākos veidos. Piemēram, kā jūs atrast ceļu uz Firefox: $ find / -name firefox
Tomēr problēma ar meklēšanas komandu ir tā, ka tā ne tikai uzskaitīs izpildāmo failu, bet visur, kur atrodas Firefox, tāpat kā šis: Šī pieeja ir nedaudz pārslogota, un, iespējams, jums būs jāizmanto sudo komanda, lai paaugstinātu jūsu tiesības, citādi jūs saņemat daudz atļauju noraidīto kļūdu. Tā vietā daudz vieglāk izmantot šo komandu, lai atrastu lietojumprogrammas ceļu: $ kuris firefox
Šoreiz izlaide varētu izskatīties šādi: / usr / bin / firefox / etc / firefox / usr / lib / firefox Viss, kas jums jādara tagad, lai atrastu Firefox koplietojamās bibliotēkas, ir šāda komanda: $ ldd / usr / bin / firefox
Komandas izeja būs šāda: 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 ir bibliotēkas nosaukums, un hex numurs ir adrese, kurā bibliotēka tiks ielādēta atmiņā. Jūs ievērosiet daudzās citās līnijās, ka simbols seko ceļam. Šis ir ceļš uz fizisko bināro; hex numurs ir adrese, kurā bibliotēka tiks ielādēta. Kā lietot ldd komandu
Kā atrast ceļu uz pieteikumu













