۴.۳ مدیریت 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