لینوکس و شبکه

لینوکس و شبکه
طبقه بندی موضوعی
آخرین مطالب
  • ۹۹/۱۱/۱۳
    java

دستور ldd

شنبه, ۲۵ شهریور ۱۳۹۶، ۱۰:۱۳ ب.ظ

با استفاده از این دستور می توان دریافت که فایل اجرایی یک برنامه ( execute ) برای اجرا به چه کتابخانه (ها) ای وابسطه است.
برای دیدن وابستگی برنامه ی ls که به چه کتابخانه‌هایی وابستگی دارد،  ابتدا مسیر اجرایی را پیدا نموده و سپس با ldd توابع را جستجو میکنیم.

# which ls

خروجی دستور:

# /bin/ls

سپس دستور را به ldd میدهیم

# ldd /bin/ls

برای راحتی می توان به صورت زیر عمل کرد(خلاصه سازی دو مرحله در یک مرحله)

# ldd `which ls`

در مثال بالا ابتدا دستور داخل ‘` اجرا شده سپس خروجی آن دقیقا در جلوی دستور ldd قرار می گیرد.


نکته: دقیقا همین کار را برنامه ی xargs نیز انجام می دهد با این تفاوت که xargs خروجی دستور قبل را وارد ورودی دستور بعد می کند اما این روش دقیقا خروجی را در جلوی دستور ldd قرار می‌دهد


نکته: اگر از چند برنامه ldd بگیرید خواهید دید که یک خروجی در همه ی آن ها یکی است(مثلا مطابق زیر)

.../lib64/ld-linux-x86-64.so.2


نکته:برنامه whereis نیز همانند which عمل میکند



نمایش تمام توابع کتابخانه ای dynamic برای اجرای دستور ls

>> ldd     /bin/ls



جستجوی تمام مسیرهایی که دارای تابع کتابخانه ای هستند و ذخیره آدرس ونام آنها در فایل

/etc/ld.so.cache

و در ادامه

>> ldconfig



تمام Library ها در این فایل هستند

# /etc/ld.so.cache    




  • ۹۶/۰۶/۲۵
  • behrooz mohamadi nsasab