Skip to content

07. Paketlar va dasturiy ta'minot — 15 ta savol-javob

Avval javobni o'zingiz ayting, so'ng ochib solishtiring.

1. Paket menejeri nima va nega kerak?

Javob

Paket menejeri dasturni o'rnatish, yangilash va o'chirishni avtomatlashtiradi: dastur fayllarini to'g'ri joylarga qo'yadi, bog'liqliklarni (kutubxonalar) o'zi hal qiladi, o'rnatilgan fayllar ro'yxatini yuritadi va imzolarni tekshiradi. Qo'lda .tar.gz ochib o'rnatishda bular yo'q: o'chirish, yangilash va xavfsizlikni nazorat qilish qiyin.

2. Repozitoriy nima va paket menejeri undan nimani oladi?

Javob

Repozitoriy — paketlar va ularning metama'lumotlari (nom, versiya, bog'liqlik, imzo) serveri. Menejer repozitoriylar ro'yxatini (/etc/apt/sources.list*, /etc/yum.repos.d/) o'qiydi, indeksni mahalliy keshga yuklaydi va undan qidirish hamda o'rnatish rejasini tuzadi. Indeks eskirgan bo'lsa, eski versiya yoki "paket topilmadi" chiqadi.

3. apt, apt-get va dpkg orasidagi farq nima?

Javob

dpkg — past darajali vosita: bitta .deb faylni o'rnatadi/o'chiradi, bog'liqliklarni o'zi yuklamaydi va hal qilmaydi. apt-get / apt-cache — repozitoriylar bilan ishlaydigan, bog'liqlikni hal qiluvchi vositalar (skriptlar uchun barqaror chiqishli). apt — interaktiv ishlash uchun qulay, yangi umumiy interfeys (progress bar, ranglar).

4. apt update, apt upgrade va apt full-upgrade farqi nima?

Javob

apt update — faqat paket indeksini yangilaydi, hech narsa o'rnatmaydi. apt upgrade — o'rnatilgan paketlarni yangilaydi, lekin paketni o'chirmaydi va yangi bog'liqlik uchun mavjudini olib tashlamaydi. apt full-upgrade (dist-upgrade) kerak bo'lsa, paketlarni o'chirib yoki yangisini o'rnatib bog'liqliklarni hal qiladi (kernel yangilanishi shunday). Doim avval update.

5. Paketlarni imzo va GPG kalitlari qanday himoya qiladi?

Javob

Repozitoriy metama'lumotlari va paketlar ishonchli kalit bilan imzolanadi; menejer o'rnatishdan oldin imzoni tekshiradi, shuning uchun yo'lda (mirror yoki tarmoqda) paket almashtirilganini aniqlaydi. Uchinchi tomon repozitoriyni qo'shganda uning kalitini ham ishonchli manbadan olish kerak. --allow-unauthenticated yoki imzoni o'chirish xavfli.

6. dpkg -i paket.deb bog'liqlik xatosi bersa, nima qilinadi?

Javob

dpkg etishmayotgan bog'liqliklarni yuklamaydi va paket yarim sozlangan holatda qoladi. Tuzatish: sudo apt -f install (yoki sudo apt install ./paket.deb, bu bog'liqliklarni repozitoriydan o'zi oladi). Holatni dpkg -l va dpkg -s paket bilan tekshirasiz.

7. remove va purge farqi nima? autoremove nima qiladi?

Javob

remove dastur fayllarini o'chiradi, lekin /etc dagi konfiguratsiya fayllarini qoldiradi (keyingi o'rnatishda sozlamalar saqlansin). purge konfiguratsiyani ham o'chiradi. autoremove boshqa paketlar uchun bog'liqlik sifatida o'rnatilgan, lekin endi hech kimga kerak bo'lmagan paketlarni olib tashlaydi.

8. Paketni yangilanishdan qanday saqlab qolish mumkin?

Javob

apt-mark hold paket paketni yangilanmaydigan qilib qotiradi (unhold bilan qaytariladi). Muhim: production'da ma'lum versiyaga bog'liq xizmatni (masalan, DB yoki kernel) tasodifan yangilash ishlamay qolishga olib kelishi mumkin. Boshqa yondashuv — apt pinning orqali versiya ustuvorligini sozlash.

9. Snap va oddiy .deb paket farqi nima?

Javob

.deb tizim kutubxonalariga tayanadi, hajmi kichik, tizim bilan chuqur integratsiyalashgan. Snap — dastur o'z bog'liqliklari bilan birga siqilgan holda keladi, izolyatsiyalangan (sandbox), avtomatik yangilanadi va distributivdan mustaqil. Kamchiligi: kattaroq hajm, sekinroq ishga tushish, avtomatik yangilanish production'da kutilmagan bo'lishi mumkin.

10. RHEL oilasida rpm, yum va dnf qanday bog'langan?

Javob

rpm — dpkg ga o'xshash past darajali vosita (bitta .rpm, bog'liqlikni hal qilmaydi). yum — repozitoriy va bog'liqlik bilan ishlaydigan oldingi avlod menejer. dnf — yum'ning zamonaviy davomchisi (yaxshiroq bog'liqlik hal qilish, tezroq); yangi tizimlarda yum ko'pincha dnf ga havola. Repozitoriylar /etc/yum.repos.d/*.repo da.

11. Production serverda yangilanishni qanday xavfsiz amalga oshirasiz?

Javob

Avval staging muhitida sinash, o'zgarishlar ro'yxatini ko'rib chiqish, zaxira yoki snapshot olish va oldindan e'lon qilingan texnik oyna. Xavfsizlik yangilanishlarini alohida va tezroq, qolganlarini rejali yangilash. Versiyalarni qotirish, bosqichma-bosqich (canary) tarqatish, rollback rejasi va kernel/kutubxona yangilanishidan keyin xizmatlarni qayta ishga tushirish (yoki reboot) zarur.

12. Yangilangan kutubxona yoki kernel qachon kuchga kiradi?

Javob

Ishlab turgan jarayon xotiraga eski kutubxonani yuklagan bo'lsa, u xizmat qayta ishga tushirilgunga qadar eski versiya bilan ishlayveradi (zaiflik hali ochiq qolishi mumkin). Yangi kernel faqat reboot'dan keyin faollashadi. Tekshirish: needrestart, checkrestart, uname -r va o'rnatilgan kernel bilan solishtirish; /var/run/reboot-required fayli.

13. Uchinchi tomon repozitoriy va PPA qo'shishning xavfi nima?

Javob

Siz u repozitoriy egasiga root huquqida kod bajarish ishonchini berasiz: paket o'rnatish skriptlari root bilan ishlaydi. Repozitoriy yo'qolishi, kalit almashinuvi yoki zararli yangilanish tizimni buzishi mumkin; shuningdek, tizim paketlari bilan versiya to'qnashuvi paydo bo'ladi. Faqat ishonchli manbalar, kalitni alohida fayl sifatida va faqat shu repozitoriyga bog'lab qo'shish tavsiya etiladi.

14. Bog'liqlik (dependency) nima, "dependency hell" nima?

Javob

Dastur ishlashi uchun kerak bo'lgan boshqa paket (odatda kutubxona). "Dependency hell" — turli dasturlar bir kutubxonaning bir-biriga zid versiyalarini talab qilishi yoki bog'liqlik halqasi tufayli o'rnatish/yangilash mumkin bo'lmay qolishi. Paket menejerlari buni hal qiladi; konteynerlar va snap esa har bir dasturni o'z bog'liqliklari bilan izolyatsiya qilib muammoni chetlab o'tadi.

15. Paketga tegishli faylni va paket mazmunini qanday topasiz?

Javob

Debian'da: dpkg -L paket — paket o'rnatgan fayllar; dpkg -S /yo'l/fayl — fayl qaysi paketga tegishli; apt show paket — ma'lumot; apt policy paket — mavjud versiyalar va manba. RHEL'da: rpm -ql paket, rpm -qf /yo'l/fayl, dnf info paket, dnf provides '*/buyruq'. "Bu buyruq qaysi paketda?" intervyuda ko'p so'raladi.