Ldd тушаал нь тухайн програмын шаарддаг хуваалцсан сангуудыг үзүүлэхэд хэрэглэгддэг.
Энэ нь алга болсон хамааралгүй үед ажиллахад ашигтай, алга болсон функц болон обьектуудыг жагсаахад ашиглагдаж болно.
ldd Тушаалын синтакс
Энэ нь ldd тушаалыг ашиглахад тохиромжтой синтакс юм :
ldd [OPTION] ... FILE ...Дээрх тушаалын [OPTION] цэг рүү оруулагдаж болох ldd тушаалын сэлгүүрүүд энд байна:
- энэ тусламжийг хэвлэх, гарах - хэвлэх хувилбарын мэдээллийг болон exit -d, --data-relocs процесс шилжүүлэх өгөгдөл шилжүүлэх -r, --function-relocs өгөгдөл болон функцийг шилжүүлэх -u, - хэвлэх ашиглагдаагүй шууд хамаарал -v, - бүх мэдээллийг хэвлэнэLdd тушаалыг хэрхэн ашиглах талаар
Та ямар ч ldd тушаалаас нэмэлт мэдээллийг авахын тулд дараах тушаалыг ашиглаж болно:
ldd -v / path / to / program / ажиллах боломжтойГаралт нь хувилбарын мэдээллийг болон хуваалцсан сан уруу чиглэсэн замууд болон хаягуудыг үзүүлдэг:
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 path / to / programГаралт нь дараахтай төстэй байна:
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)Чухал: Тухайн тушаал үнэн байж магадгүй тул ldd тушаалыг итгэмжлэгдсэн програмын эсрэг хэзээ ч хэзээ ч ажиллуулахгүй. Энэ нь хамааралтай модны хамаарал биш зөвхөн хамааралтай хамааралтайг харуулж байна: objdump -p / path / to / program | Шаардлагатай байна.
Хэрэглээ рүү хэрхэн замыг олох вэ
Хэрэв та өөрийн хамаарлуудыг ldd-ээр олохыг хүсвэл програмыг бүрэн гүйцэд илгээнэ үү. Үүнийг хэд хэдэн аргаар хийж болно.
Жишээ нь, та Firefox- ийн замыг олох болно:
find / -name firefoxТушаалын тушаалын хувьд асуудал нь зөвхөн гүйцэтгэх боломжтой боловч Firefox-ийн хаана ч байрладаг төдийгүй дараах байдалтай байна:
- /etc/skel/.mozilla/firefox
- / home / cache / mozilla / firefox
- /home//.mozilla/firefox
- / usr / bin / Firefox
- / usr / lib / Firefox
- / usr / lib / Firefox / Firefox
Энэ хандлагыг хэтэрхий их хийдэг бөгөөд та өөрийн эрх ямбыг дээшлүүлэхийн тулд sudo тушаалыг ашиглах хэрэгтэй болж магадгүй юм.
Энэ нь аппликешний замыг олохын тулд whereis тушаалыг ашиглах нь илүү хялбар байдаг:
whereis firefoxЭнэ удаад гаралт иймэрхүү харагдах болно:
/ usr / bin / firefox
/ etc / firefox гэсэн нэртэй
/ usr / lib / firefox
Firefox-д зориулсан хуваалцсан сангуудыг олохын тулд дараах тушаалыг бичээрэй:
ldd / usr / bin / firefoxТушаалын гаралт иймэрхүү байна:
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 нь номын сангийн нэр бөгөөд hex дугаар нь санах ойд багтах хаяг юм.
Та бусад олон мөрөнд => тэмдгийг дагах болно. Энэ бол биет хоёртын зам; hex дугаар нь номын сангийн ачаалах хаяг юм.