3-ma’ruza: linux server biblioteka va utilitalari reja



Download 1,52 Mb.
bet2/6
Sana17.04.2022
Hajmi1,52 Mb.
#559172
1   2   3   4   5   6
Bog'liq
LSB 3-ma'ruza

Ubuntuda kutubxonalarni o‘rnatish. Odatda, yangi dasturlarni o‘rnatish uchun distributiv paketingiz menejeridan foydalansangiz, kutubxonalar avtomatik ravishda o‘rnatiladi. Ammo agar siz dasturni manbadan yaratmoqchi bo‘lsangiz yoki 64 bitli tizimda 32 bitli dasturni ishga tushirmoqchi bo‘lsangiz, muammolar boshlanishi mumkin. Masalan, dasturni ishga tushirish yoki kompilyatsiya qilishda siz xatoga duch kelasiz:


error while loading shared libraries: xxxx.so.0
cannot open shared object file no such file or directory
Odatda, Ubuntuda kutubxona paketi nomlari kerakli kutubxona nomiga mos keladi. Shuning uchun, aksariyat hollarda aniq nomni aniqlash uchun paketlar ma'lumotlar bazasida qidiruvdan foydalanish kifoya:
$ apt search libfuse

Ko‘rib turganingizdek, kutubxonaning ikkita varianti topildi, libfuse2 va libfuse-dev.
Agar kutubxona oddiy dasturga kerak bo‘lsa va uni manbadan qurish kerak bo‘lmasa, ubuntu kutubxonasini dev prefiksisiz o‘rnatish kifoya qiladi. Masalan:
sudo apt install libfuse2
Agar siz manbadan dastur yaratishingiz kerak bo‘lsa, odatiy kutubxonaga qo‘shimcha ravishda kutubxonada amalga oshirilgan funksiyalar tavsifini o‘z ichiga olgan sarlavha fayllari kerak bo‘ladi. Bunday paketlarda dev prefiksi mavjud, masalan, libfuse-dev, keyin siz ushbu paketni o‘rnatishingiz kerak va u allaqachon o‘rnatilmagan bo‘lsa, odatiy kutubxonani bog‘liqliklarga tortib oladi:
 $ sudo apt install libfuse-dev
64 bitli tizimda 32 bitli dasturni ishga tushirishingiz kerak bo‘lgan vaziyat juda ko‘p muammolarni keltirib chiqarishi mumkin. Misol uchun, agar siz kutubxonaning 64-bitli versiyasini o‘rnatgan bo‘lsangiz va dastur hali ham uni topa olmayotganligini aytsa, ehtimol bu 32-bitli dastur va unga 32-bitli kutubxona kerak bo‘lishi mumkin. Agar dastur paket menejeri yordamida o‘rnatilmagan bo‘lsa, kutubxonalarni qo‘lda ham o‘rnatishingiz kerak bo‘ladi.
Ikkilik faylning bit kengligini fayl yordam dasturidan foydalanib ko‘rishingiz mumkin:
 file /usr/bin/skype

Skrinshotda dasturning chiqishi uchun ikkita variant ko‘rsatilgan, 32 bit uchun, bizning holatlarimizda Skype va 64 - o‘rnatish uchun.
Ubuntu kutubxonasini i386 arxitekturasi bilan o‘rnatish uchun avval dpkgga i386 arxitekturasini qo‘llab-quvvatlashni qo‘shishingiz kerak:
sudo dpkg --add-architecture i386
Keyin biz omborlarimizni yangilaymiz:
$ sudo apt update
Va kutubxonani o‘rnatish paytida sizga kerak bo‘ladi, endi siz paket nomidan keyin ikki nuqta bilan ajratilgan arxitekturani ko‘rsatishingiz kerak:
$ sudo apt install libfuse-dev:i386

Agar kutubxona o‘rnatilganligiga ishonchingiz komil bo‘lsa, lekin dastur hali ham bunday kutubxona yo‘qligini aytsa, unda kutubxonaning boshqa versiyasi kerak bo‘lishi mumkin. Misol uchun, tizimda libudev.so.0 mavjud, ammo dasturga libudev.so.0.1 kerak. Bu ayniqsa, Red Hat tizimlarida boshqa distributivlar uchun paketni o‘rnatishga harakat qilsangiz sodir bo‘ladi. Agar kutubxonaning kerakli versiyasi omborlarda bo‘lmasa, ular bir xil bo‘lishi mumkin va siz shunchaki ramziy havola yaratishingiz mumkin:
 ln -s /lib/libudev.so.0 /lib/libudev.so.0.1
Keyin dastur kerakli kutubxonani topadi.

Linux kutubxonasini boshqarish. Ubuntu kutubxonalarini o‘rnatish allaqachon yoritilgan, lekin men yana bir nechta fikrlarni eslatib o‘tmoqchiman. Aytganimdek, ubuntu kutubxonalari ma'lum kataloglarga joylashtirilgan, ammo kutubxonalarning joylashuvini sozlash mumkin.


Kutubxonani dasturga ulashdan oldin uni tizimda maxsus dastur - kutubxona menejeri topish kerak. U /etc/ld.cache faylidan kutubxonalar manzillarini oladi va bu fayl /etc/ld.so.conf konfiguratsiya fayllari asosida ldconfig yordam dasturi tomonidan yaratilgan.
Ushbu fayl kutubxonaning barcha yo‘llarini ko‘rsatadi. Agar siz o‘zingizning kutubxonangiz jildini qo‘shmoqchi bo‘lsangiz, uni ushbu faylga qo‘shing:
$ vi /etc/ld.so.conf
...
/opt/lib/
Keyin keshni oddiygina ishga tushirish orqali yangilang:
$ ldconfig
Endi sizning kutubxonangiz dastur tomonidan yuklanishi mumkin, masalan, siz / opt / lib yoki hatto / home / user / lib ni qo‘shishingiz mumkin. Tizim odatda kutubxonalarni u yerdan yuklaydi.
Siz ld.cache keshida qaysi kutubxonalar borligini buyruq bilan ko‘rishingiz mumkin:
$ ldconfig -p
Shuningdek, u erda ma'lum kutubxona mavjudligini tekshirishimiz mumkin:
$ ldconfig -p | grep libjpeg

Dasturga kutubxonalarni qaerdan qidirish kerakligini aytishning yana bir usuli LD_LIBRARY_PATH o‘zgaruvchisidir. Masalan:
 export LD_LIBRARY_PATH=/home/user/lib/

Download 1,52 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish