پرش به محتویات

۴.۳ مدیریت Share library ها

نصب لینوکس و مدیریت بسته

مدیریت کتاب خانه های اشتراکی

کتابخانه ها

با توجه به نوع استفاده ای که از کتابخانه ها می شود دو نوع کتابخانه وجود دارد. 1-statically link

در این روش تمامی موارد ارجاع برنامه از کتابخانه ی مربوط پیدا شده و در برنامه ی اصلی کپی می شود.به عبارتی یک کپی از کتابخانه های مورد نیاز تهیه شده و به طور فیزیکی به برنامه الحاق می گردد.

این روش باعث بزرگتر شدن برنامه و مصرف بیشتر حافظه می شود.

2-Dynamicaly link

در این روش ریز برنامه ها و روال های کتابخانه ی مورد ارجاع در زمان اجرا در حافظه بارگذاری خواهند شد.

دستور ldd

فرمت این دستور به صورت زیر است:

ldd<program>

برای پیدا کردن کتابخانه های مورد استفاده یک برنامه مورد استفاده قرار می گیرد.

مثال:

  # ldd /bin/ls
  linux—gate.so.1 =>  (0xb773d000)
  libselinux.so.1 =>  /lib/i386-linux-gnullibselinux.so.1  (0xb7705000)

ابزار ld.so

لینک های داینامیک در زمان اجرا توسط این ابزار شناسایی می شوند.محل کتابخانه ها از دو روش زیر مشخص می شوند.

با استفاده از متغییر LD_LIBRARY_PATH:یک لیست از مسیر کتابخانه هاست که با : از هم جدا شده اند.

/etc/ld.so.cache:یک فایل باینری است که ایندکس کتابخانه ها در آن قرار دارد.

فایل های پیکربندی

بیشتر فایل های پیکربندی در پوشه های زیر ذخیره شده اند.

/etc/ld.so.conf
/etc/ld.so.conf.d/

فایل های پیکربندی شامل مسیر کتابخانه هاست که هر مسیر در یک خط قرار می گیرد و پس از تغییر پیکربندی با زدن دستور ldconfigفایل ld.so.cache به روز می شود.

مثال:

  # ldconfig –p
  libzbar.so.0  (libc6) =>  /usr/lib/libzbar.so.0
  libz.so.1  (libc6)  =>  /usr/lib/libz.so.1
  libyelp.so.0  (libc6)  =>  /usr/lib/libyelp.so.0
  libyajl.so.1   (libc6)  =>  /usr/lib/i386-linux-gnu/libyajl.so.1
  [….]

  # ldconfig –p | grep ncurses
  libncursesw,so.5   (libc6)  =>  /lib/i386-linux-gnu/libncursesw.so.5