အဆိုပါ ldd command ကိုသငျသညျမဆိုပေးထား program ကလိုအပ်သော shared စာကြည့်တိုက်ကိုပြသရန်အသုံးပြုနိုင်ပါသည်။
ဒီအရှိတစ်ဦးပျောက်ဆုံးမှီခိုဖြစ်ပြီးပျောက်ဆုံးနေလုပ်ဆောင်ချက်များကိုနှင့်အရာဝတ္ထုစာရင်းပြုစုဖို့အသုံးပြုနိုင်ချိန်တွင်ထုတ်အလုပ်လုပ်ဘို့အသုံးဝင်သည်။
စစ်ဌာနချုပ် Syntax ldd
ဒါဟာသင့်လျော်ဖြစ်ပါတယ် syntax အဆိုပါ ldd command ကိုသုံးတဲ့အခါ:
ldd [Options] ... FILE ကို ...ဤတွင်အထက်ပါ command ကိုအတွက် [Options] အစက်အပြောက်သို့ဖြည့်စွက်နိုင်ပါသည်သောရရှိနိုင် ldd command ကို switches များနေသောခေါင်းစဉ်:
--help ဒီအကူအညီနှငျ့ထွက်ပေါက်သတင်းအချက်အလက်နှင့်ထွက်ပေါက် -D --version ပုံနှိပ်ဗားရှင်း, ဒေတာနဲ့ function ကိုနေရာရွှေ့ပြောင်း -u -r, --function-နေရာပြောင်းရွှေ့မှုလုပ်ငန်းစဉ် --data-နေရာပြောင်းရွှေ့ဖြစ်စဉ်ကိုဒေတာနေရာရွှေ့ပြောင်း, --unused ပုံနှိပ်အသုံးမပြုကိုတိုက်ရိုက်မှီခို print ထုတ် -v, --verbose ပုံနှိပ်အချက်အလက်အားလုံးကိုအဆိုပါ ldd စစ်ဌာနချုပ်အသုံးပြုနည်းကိုဘယ်လို
သင်သည်မည်သည့် ldd command ကိုကနေနောက်ထပ်သတင်းအချက်အလက်များရရှိရန်အောက်ပါ command ကိုသုံးနိုင်သည်
ldd -v / လမ်းကြောင်းကို / မှ / အစီအစဉ် / က executableအဆိုပါ output ကိုဗားရှင်းသတင်းအချက်အလက်အဖြစ်ကောင်းစွာအဖြစ်ဤကဲ့သို့သော shared စာကြည့်တိုက်, ရန်လမ်းကြောင်းများနှင့်လိပ်စာများကိုပြသထားတယ်:
linux ကို-vdso.so.1 => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000) libshared.so lddဒါဖိုင်မှာအားလုံးမတည်ရှိပါဘူးဆိုရင်, သငျသညျကိုအောက်ပါ command ကိုအသုံးပြုပြီးပျောက်ဆုံးနေတဲ့စာကြည့်တိုက်ကိုရှာဖွေနိုင်သည်
ldd -D လမ်းကြောင်းကို / မှ / အစီအစဉ်အဆိုပါ output ကိုအောက်ပါဆင်တူသည်:
linux ကို-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => မဟုတ် foundlibc.so.6 => usr / lib / libc.so.6 (0x00007fd0c6259000) / lib64 / ld-linux ကို-x86 -64.so.2 (0x00007fd0c65fd000)အရေးကြီး: command ကိုအမှန်တကယ်က execute မယ်ကတည်းကတစ်ဦးစိတ်မချရအစီအစဉ်ကိုဆန့်ကျင် ldd command ကို run ဘယ်တော့မှမ။ | objdump -p / လမ်းကြောင်းကို / မှ / အစီအစဉ်: ဒီရုံကိုတိုက်ရိုက်မှီခိုလျက်နှင့်မတပြင်လုံးကိုမှီခိုသစ်ပင်ကိုပြသတဲ့ပိုလုံခြုံအခြားရွေးချယ်စရာဖြစ်ပါသည် grep လိုအပ်ခဲ့ပါတယ်။
တစ်ဦးလျှောက်လွှာဖို့ Path Find လုပ်နည်း
သင်နည်းလမ်းတွေထဲကအတော်များများလုပျနိုငျသော ldd နှင့်အတူ၎င်း၏မှီခိုကိုရှာဖွေချင်တယ်ဆိုရင်လျှောက်လွှာမှအပြည့်အဝလမ်းကြောင်းပေးဖို့ရှိသည်။
ဥပမာအားဖြင့်, ဤသူသည်သင်တို့မှလမ်းကြောင်းကိုရှာတွေ့ချင်ပါတယ်ဘယ်လိုဖြစ်ပြီး Firefox ကို :
ရှာတွေ့ / -name firefoxအတူပြဿနာ ဟာတွေ့ရှိမှု command ကို , သို့သော်, ဤကဲ့သို့သောက executable စာရင်းပြုစုကြလိမ့်မည်မဟုတ်သာပေမယ့်နေရာတိုင်း Firefox ကိုတည်ရှိသောကြောင်းဖြစ်ပါသည်:
- /etc/skel/.mozilla/firefox
- / အိမ်မှာ // cache ကို / Mozilla / Firefox
- /home//.mozilla/firefox
- / usr / bin / Firefox ကို
- / usr / lib / Firefox ကို
- / usr / lib / Firefox ကို / Firefox ကို
ဤသည်ချဉ်းကပ်မှုတစ်ခု overkill တစ်နည်းနည်းနှင့်အသင်အသုံးပြုလိုအပျနိုငျ အဆိုပါ sudo command ကို သငျသညျခွင့်ပြုချက်အများကြီးအမှားများကိုငြင်းပယ်ရဖွယ်ရှိနေတခြား, သင့်အခွင့်ထူးခြီးမွှောရန်။
ဒါဟာသုံးစွဲဖို့အစားအများကြီးပိုလွယ်င် whereis command ကို လျှောက်လွှာရဲ့လမ်းကြောင်းကိုရှာတွေ့မှ:
whereis firefoxဤအချိန်က output ဤကဲ့သို့သောကြည့်ရှုစေခြင်းငှါ,:
/ usr / bin / firefox
/ etc / firefox
/ usr / lib / firefox
သငျသညျ Firefox ကိုများအတွက် shared စာကြည့်တိုက်ကိုရှာဖွေယခုပြုသမျှအားလုံးသည်အောက်ပါ command ကိုရိုက်ထည့်သည်:
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 number ကိုစာကြည့်တိုက်မှတ်ဉာဏ်ထဲမှာမှ loaded ပါလိမ့်မည်ရှိရာလိပ်စာကိုဖြစ်ပါတယ်။
သင်က => သင်္ကေတလမ်းအားဖြင့်နောက်တော်သို့လိုက်သည်ကိုအခြားလိုင်းများအများအပြားအပေါ်သတိထားမိပါလိမ့်မယ်။ ဒါဟာရုပ်ပိုင်းဆိုင်ရာ binary ဖို့လမ်းကြောင်းဖြစ်၏ အဆိုပါ hex number ကိုစာကြည့်တိုက် loaded ပါလိမ့်မည်ရှိရာလိပ်စာကိုဖြစ်ပါတယ်။