3-Мavzu. Linux biblioteka va utilitalari reja


Download 30.47 Kb.
bet3/10
Sana19.06.2023
Hajmi30.47 Kb.
#1601859
1   2   3   4   5   6   7   8   9   10
Bog'liq
Ma\'ruza-3

Listing 1.
[ian@echidna ~]$ ls -l /sbin/sln /bin/ln
-rwxr-xr-x. 1 root root 47384 2010-01-12 09:35 /bin/ln
-rwxr-xr-x. 1 root root 603680 2010-01-04 09:07 /sbin/sln
Zaruriy kutubxonalar. Hozirgi kunda kompyuterlarda 32- va 64-razryadli Linux tizimlari ishlatilmoqda. Shuning uchun ko‘pchilik kutubxonalar 32- va 64-razryadli versiyalarda yig‘ilmoqda. 64-razryadli versiyalar odatda /lib64 jildida, 32-raszryadlilari esa an’anaviy /lib jildida saqlanadi. Standart 64-razryadli Linux tizimlarida libc kutubxonasining ikkita versiyasini uchratish mumkin: /lib/libc-2.11beta, p, pre.1.so va /lib64/libc-2.11.1.so. Bu ikki kutubxonalar 64-razryadli Linux tizimlarida S da yozilgan 32- va 64-razryadli dasturlarning bajarilishini ta’minlaydi.
Debian yoki Ubuntu distributivlarida ishlayotganda statik yoki dinamik tuzilmalarning farqlash imkonini berish uchun ldd buyrug‘idan foydalaniladi, chunki ularda sln buyrug‘i mavjud emas, budan tashqari, /sbin/ldconfig faylilining mavjudligini ham tekshirish kerak bo‘ladi. Quyida ln, sln va ldconfig hamda /bin/ln fayllari uchun ldd buyrug‘idan 64-razryadi Fedora 12 OT(echidna) va 32-razryadli Fedora 8 (pinguino) OTlarda foydalanish natijasi keltirilgan

Listing 2. sln va ln lar uchun ldd buyrug‘i natijasi


[ian@echidna ~]$ #Fedora 12 64-bit
[ian@echidna ~]$ ldd /sbin/sln /sbin/ldconfig /bin/ln
/sbin/sln:
not a dynamic executable
/sbin/ldconfig:
not a dynamic executable
/bin/ln:
linux-vdso.so.1 => (0x00007fff644af000)
libc.so.6 => /lib64/libc.so.6 (0x00000037eb800000)
/lib64/ld-linux-x86-64.so.2 (0x00000037eb400000)

[ian@pinguino’~]$ # Fedora 8 32-bit


[ian@pinguino’~]$ ldd /bin/ln
linux-gate.so.1 => (0x00110000)
libc.so.6 => /lib/libc.so.6 (0x00a57000)
/lib/ld-linux.so.2 (0x00a38000)
Bunda ldd dasturi "not a dynamic executable" xabari orqali dinamik tuzilmani tekshiradi, sln va ldconfig dasturlar statik yig‘ilganligini aytadi. Yana ln buyrug‘ida uchta umumiy bibliotekalar (linux-vdso.so.1, libc.so.6 va /lib64/ld-linux-x86-64.so.2) zarur deb hisoblaydi. E’tiborlisi, .so kengaytmasi shared objects (birgalikda ishlatiladigan ob’ekt), ya’ni kutubxona dinamik ekanligini anglatadi. 3-Listingda 64-razryadi Fedora 12 OT bajarilgan uchta turli bloklarni axborotlari bilan ko‘rish mumkin:

linux-vdso.so.1


o‘zida virtual ajraluvchi ob’ektni taqdim etadi (Virtual Dynamic Shared Object, VDSO). Fedora 8 OT ro‘yxatida linux-gate.so.1 kutubxonasi ham mavjud..
libc.so.6
/lib64/libc.so.6 ga ko‘rsatkich mavjud.
/lib64/ld-linux-x86-64.so.2
Boshqa kutubxonaga yagona yo‘l borligini bildirmoqda.

Listing 3. Kutubxonalarda simvolli havolalar: ls –l buyrug‘i.


[ian@echidna ~]$ ls -l /lib64/libc.so.6 /lib64/ld-linux-x86-64.so.2


lrwxrwxrwx. 1 root root 12 2010-01-14 14:24 /lib64/ld-linux-x86-64.so.2 -> ld-2.11.1.so
lrwxrwxrwx. 1 root root 14 2010-01-14 14:24 /lib64/libc.so.6 -> libc-2.11.1.so



Download 30.47 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




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