O‘ZBEKISTON RESPUBLIKASI OLIY VA O‘RTA MAXSUS TA’LIM VAZIRLIGI
MIRZO ULUG‘BEK NOMIDAGI
O‘ZBEKISTON MILLIY UNIVERSITETI
“AXBOROT XAVFSIZLIGI” KAFEDRASI
«OPERATSION TIZIMLAR VA ULARNING XAVFSIZLIGI»
FANIDAN
MUSTAQIL ISH
MAVZU: Linux muhitida tizim bibliotekalarini o’rnatish
5330300 – Axborot xavfsizligi(kompyuter tizimlari xavfsizligi)
Bajardi : Yuldashev S.
Tekshirdi : Berdimurodov M.
MAVZU: Linux muhitida tizim bibliotekalarini o’rnatish
Linuxdagi kutubxonalar ba'zi funksiyalarni yoki sodda qilib aytganda, ba'zi muammolarni yechish uchun algoritmlarni yoki harakatlarni o'z ichiga oladi. Masalan, agar dastur ekranda chiziqni ko'rsatishi kerak bo'lsa, u kerakli piksellarni to'ldirishni boshlamaydi, balki buning uchun javobgar bo'lgan funksiyalarni kutubxonadan oladi, agar dastur fayl tarkibini o'qishi kerak bo'lsa, qattiq diskning tarmoqlari bilan ishlamasa, funktsiyani chaqirish kifoya qiladi. standart kutubxonadan (libc.so) foydalanib, kerakli fayl nomini parametrlarga o'tkazib va kutubxona unga kerakli ma'lumotlarni qaytarib beradi.
Aslida, dasturiy ta'minotni amalga oshirishning bunday tuzilishi juda foydalidir, chunki algoritmni faqat bir marta yozish kifoya qiladi va barcha dasturlar shunchaki kutubxonani o'rnatish orqali undan foydalanishlari mumkin.
Siz kutubxonalar faqat Linuxda, deb o'ylashingiz shart emas, Windowsda ham mavjud, faqat ular boshqa format va kengaytmaga ega. Linux-da barcha kutubxonalar / lib /, / usr / lib, / usr / local / lib papkalarida yoki 64 bitli tizimlar uchun joylashgan, lib64 papkasi ushbu pastki arxitekturada o'ziga xos kutubxonalar uchun ham mavjud. Kutubxonada .so kengaytmasi bor va uning nomi lib so'zidan boshlanadi. Masalan, libfuse.so, libc.so.
Keyingi, .so fayl kengaytmasidan so'ng kutubxonaning versiya raqami keladi. Ishlab chiquvchilar unga kiritilgan barcha dasturlarga muvofiqligini buzadigan o'zgarishlar kiritganda versiya raqami o'zgaradi. Bunday holda, tizim allaqachon ikkita kutubxonaga ega bo'ladi va har bir dastur to'g'ri versiyadan foydalanadi. Masalan, glibc.so.6 va glibc.so.5.
Agar qiziqsangiz, u yoki bu dastur qaysi kutubxonalar va qaysi versiyalardan foydalanayotganini ko'rishingiz mumkin, masalan:
ldd /bin/mount
linux-vdso.so.1 (0x00007ffd99167000)
libmount.so.1 => /usr/lib64/libmount.so.1 (0x00007f0f6beb0000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0f6bb08000)
libblkid.so.1 => /usr/lib64/libblkid.so.1 (0x00007f0f6b8c8000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f0f6b6a4000)
/lib64/ld-linux-x86-64.so.2 (0x000055aca8227000)
libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f0f6b49f000)
libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f0f6b238000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f0f6b034000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0f6ae17000)
Ushbu ma'lumotlar dasturlarning ko'chma versiyalarini yaratishda ham foydali bo'lishi mumkin. Endi Ubuntu 16.04-da kutubxonalar qanday o'rnatilganligini ko'rib chiqamiz.
Do'stlaringiz bilan baham: |