Sahifa 1 Kali Linux Fosh etildi
Download 0.74 Mb.
|
kali linux
- Bu sahifa navigatsiya:
- Meta-toplam va virtual Paket
- 236-bet Boshqa paket bilan almashinish imkoniyati
- 238-bet Dpkg bazasi
- Ning ramziy nomlari Ssenariylar
8.4.1. nazorat Fayl Biz control.tar.gz arxivida joylashgan boshqaruv faylini ko'rib chiqishni boshlaymiz . Nazorat qilish fayl to'plami haqida eng muhim ma'lumotlarni o'z ichiga oladi. Bu shunga o'xshash tuzilmani ishlatadi sarlavhalarini elektron pochta orqali yuborish va dpkg -I buyrug'i bilan ko'rish mumkin. Masalan, boshqaruv fayli uchun apt , bu kabi ko'rinadi: $ dpkg -I apt_1.4 ~ beta1_amd64.deb nazorati Paket: mos Versiya: 1.4 ~ beta1 Arxitektura: amd64 Ta'minlovchi: APT rivojlanish guruhi O'rnatilgan o'lcham: 3478 Bog'liq: adduser, gpgv | gpgv2 | gpgv1, debian-archive-keyring, init-system-helpers (> = ¯ 1.18 ~), libapt-pkg5.0 (> = 1.3 ~ rc2), libc6 (> = 2.15), libgcc1 (> = 1: 3.0), ¯ libstdc ++ 6 (> = 5.2) Tavsiya etiladi: gnupg | gnupg2 | gnupg1 Takliflar: apt-doc, qobiliyat | sinaptik | wajig, dpkg-dev (> = 1.17.2), powermgmt-bazasi, ¯ python-apt Tanaffuslar: apt-utils (<< 1.3 ~ exp2 ~) O'zgartiradi: apt-utils (<< 1.3 ~ exp2 ~) Bo'lim: administrator Afzallik: muhim Tavsif: buyruq qatori to'plami menejeri Ushbu to'plam qidirish uchun buyruq qatori vositalarini va paketlar haqidagi ma'lumotlarni boshqarish, shuningdek so'rov qilish libapt-pkg kutubxonasining barcha xususiyatlariga past darajadagi kirish sifatida. . Bunga quyidagilar kiradi: * paketlar va ular haqida ma'lumot olish uchun apt-get tasdiqlangan manbalardan va o'rnatish, yangilash va paketlarni ularning bog'liqliklari bilan birga olib tashlash * o'rnatilgan ma'lumotlar haqida ma'lumot olish uchun apt-kesh shuningdek, o'rnatiladigan paketlar * olinadigan ommaviy axborot vositalarini paketlar manbai sifatida ishlatish uchun apt-cdrom * apt-config konfiguratsiya sozlamalari interfeysi sifatida * autentifikatsiya kalitlarini boshqarish uchun interfeys sifatida apt-key Ushbu bo'limda biz sizni boshqarish fayli orqali ko'rib chiqamiz va turli sohalarni tushuntiramiz. Har biri bu sizga qadoqlash tizimini yaxshiroq tushunishga imkon beradi, sizga yanada aniqroq mos keladi konfiguratsiyani boshqarish va yuzaga kelishi mumkin bo'lgan muammolarni bartaraf etish uchun sizga kerakli tushunchalarni taqdim etish sodir bo'lishi. 206 Kali Linux ochildi
Bog'liqliklar: bog'liq bo'lgan maydon Paketga bog'liqliklar paket sarlavhasidagi Depends maydonida aniqlanadi. Bu ro'yxat paketning to'g'ri ishlashi uchun bajarilishi kerak bo'lgan shartlar - bu ma'lumotlar kabi vositalar tomonidan ishlatiladi kerakli kutubxonalarni o'rnatish uchun apt o'rnatiladigan paket. Har bir qaramlik uchun siz mos keladigan versiyalar doirasini cheklashingiz mumkin bu shart. Boshqacha qilib aytganda, sizga libc6 to'plami kerakligini haqiqat bilan ifoda etish mumkin "2.15" ga teng yoki kattaroq versiyada (" libc6 (> = 2.15) " yozilgan). Versiyani taqqoslash operatorlar quyidagilar: • << : kamroq; • <= : kichik yoki teng; • = : ga teng ("2.6.1" "2.6.1-1" ga teng emasligiga e'tibor bering); • > = : kattaroq yoki teng; • >> : dan katta. Bajarilishi kerak bo'lgan shartlar ro'yxatida vergul ajratuvchi vazifasini bajaradi, mantiqiy "VA" deb talqin etiladi. Sharoitda vertikal chiziq ("|") mantiqiy "OR" ni ifodalaydi (u "OR" ni o'z ichiga oladi, lekin " klasterli "yoki / yoki"). "VA" dan katta ustuvorlikka ega bo'lgan holda, siz undan kerakli darajada foydalanishingiz mumkin. esse. Shunday qilib, “(A OR B) AND C” bog'liqlik A | yoziladi B, C . Aksincha, ekspres "A OR (B VA C)" qismi "(A OR B) AND (A OR C)" deb yozilishi kerak, chunki qaramlik maydoni mantiqiy operatorlar orasidagi ustuvorliklar tartibini o'zgartiradigan qavslarga toqat qilmaydi "YOKI" va "VA". Shunday qilib A | yoziladi B, A | C . Http://www.debian.org/doc/ ga qarang Qo'shimcha ma'lumot uchun debian-policy / ch-Relationss.html . Bog'liqliklar tizimi dasturning ishlashini kafolatlash uchun yaxshi mexanizmdir, ammo u meta-paketlar bilan yana bir foydalanishga ega. Bu faqat bog'liqlikni tavsiflaydigan bo'sh paketlar. Ular meta-to'plam tomonidan tanlangan doimiy dasturlar guruhini o'rnatishni osonlashtiradi parvarish qiluvchi; Shunday qilib, apt install meta-to'plami ushbu dasturlarning barchasini avtomatik ravishda o'rnatadi meta-to'plamning bog'liqliklaridan foydalanish. Gnome , KDE-to'liq va Kali-Linux-to'la paketlarni exam- bir nechta meta-to'plamlar.
Paket sarlavhalarida "Pre-Depends" maydonida keltirilgan oldindan bog'liqliklar normal bog'liqliklar; ularning sintaksisi bir xil. Oddiy qaramlik bu paketning savolning yoshi paketni e'lon qilish konfiguratsiyasidan oldin paketdan chiqarilishi va sozlanishi kerak qaramlik. Oldindan bog'liqlik, ko'rib chiqilayotgan paketning paketdan chiqarilishi kerakligini belgilaydi va oldindan e'lon qilgan paketni oldindan o'rnatish skriptini bajarishdan oldin tuzilgan. qaramlik, bu uning o'rnatilishidan oldin. 207
8-bob - Debian paketlarini boshqarish
Oldindan bog'liqlik apt uchun juda talabchan, chunki u buyurtma berishda qat'iy cheklovni keltirib chiqaradi o'rnatish uchun paketlar. Shunday qilib, o'ta zarurat bo'lmasa, oldindan bog'liqliklarga yo'l qo'yilmaydi. Bu agar ilgarilashidan oldin tavsiyanoma qilingan debian-devel@lists.debian.org oldindan bog'liqlik, chunki odatda ish atrofida boshqa echim topish mumkin. Maydonlarni tavsiya qiladi, taklif qiladi va yaxshilaydi Tavsiyalar va takliflar maydonlari majburiy bo'lmagan bog'liqliklarni tavsiflaydi. Qayta ishlash tavsiya etilgan bog'liqliklar, eng muhimi, taqdim etilayotgan funksiyalarni sezilarli darajada yaxshilaydi paket, ammo uning ishlashi uchun ajralmas emas. Ikkilamchi tavsiya etilgan bog'liqliklar muhimligi, ma'lum paketlar o'zlarining foydali dasturlarini to'ldirishi va ko'paytirishi mumkinligini ko'rsatadi, ammo boshqasini o'rnatmasdan o'rnatish juda o'rinli. Siz nima uchun buni aniq bilmasangiz, har doim tavsiya etilgan paketlarni o'rnatishingiz kerak ularga kerak. Aksincha, nima uchun ekanligingizni bilmasangiz, tavsiya etilgan paketlarni o'rnatish shart emas ularga kerak. Kengaytirilgan maydon, shuningdek, taklifni tavsiflaydi, ammo boshqa kontekstda. Bu haqiqatan ham joylashgan taklif qilingan paket, taklifdan foyda keltiradigan paketda emas. Uning qiziqishi yotadi tegishli paketni o'zgartirmasdan taklifni qo'shish mumkinligi bilan. Shunday qilib, dasturning barcha qo'shimchalari, plaginlari va boshqa kengaytmalari keyinchalik ro'yxatda paydo bo'lishi mumkin. dasturiy ta'minot bilan bog'liq gestions. Garchi u bir necha yildan beri mavjud bo'lsa-da, bu so'nggi maydon hali ham mavjud apt yoki sinaptik kabi dasturlar tomonidan katta e'tiborga olinmaydi . Asl maqsad paketni yoqtirish edi
To'qnashuvlar maydonini bir vaqtning o'zida boshqasini o'rnatib bo'lmasligini bildiradi. The Buning eng keng tarqalgan sabablari shundaki, ikkala paket ham bir xil nomdagi faylni o'z ichiga oladi bir xil uzatishni boshqarish protokoli (TCP) portidagi bir xil xizmat yoki bir-birlariga to'sqinlik qilishi mumkin operatsiya. Agar u allaqachon o'rnatilgan paket bilan ziddiyatni keltirib chiqaradigan bo'lsa, dpkg paketni o'rnatishni rad etadi, bundan mustasno, agar yangi paket o'rnatilgan paketni o'rnini bosishini aniqlasa , u holda dpkg eski paketni yangisiga almashtirishni tanlaydi. APT har doim sizning ko'rsatmalaringizga amal qiladi: agar siz yangi paketni o'rnatishni tanlaysiz, u avtomatik ravishda paydo bo'lgan paketni o'chirishni taklif qiladi muammo.
208 Kali Linux ochildi
Nomuvofiqliklar: Breaks Field Tanaffuslar maydoni Mojarolar maydoniga o'xshash ta'sirga ega, ammo alohida ma'noga ega. Bu paketni o'rnatishi boshqa paketni (yoki uning ma'lum versiyalarini) buzishini bildiradi. Umuman olganda, ikkita paket o'rtasidagi ushbu nomuvofiqlik vaqtinchalik va "Breaks" munosabatlaridir mos kelmaydigan versiyalarga tegishli. Paket allaqachon o'rnatilgan paketni buzganda , dpkg uni o'rnatishni rad etadi va apt sinab ko'radi yangi versiyaga (qaysi) buzilgan paketni yangilash orqali muammoni hal qilish sobit bo'lishi kerak va shu bilan yana mos keladi). Yangilanishlar yuz berganda, bunday holat orqaga qarab mos kelmasdan yuzaga kelishi mumkin: bu shunday agar yangi versiya eski versiya bilan ishlamasa va ishlamay qolsa maxsus qoidalarsiz boshqa dastur. Tanaffuslar maydoni ushbu turlarning oldini olishga yordam beradi muammolar. Taqdim etilgan narsalar: maydonni taqdim etadi Ushbu maydon virtual paketning har bir qiziqarli kontseptsiyasini taqdim etadi . Ithasmanyroles, buttwoare alohida ahamiyatga ega. Birinchi rol umumiyni bog'lash uchun virtual paketdan foydalanishdan iborat u bilan xizmat (to'plam xizmatni taqdim etadi). Ikkinchisi paket to'liq ekanligini anglatadi boshqasini almashtiradi va shu maqsadda u boshqasining bog'liqligini qondirishi mumkin qoniqtirar edi. Shu bilan bir xil ishlatmasdan almashtirish paketini yaratish mumkin paket nomi.
Meta-paketlarni virtual paketlardan aniq ajratish zarur. For- mer - bu faqat bitta paketni ifodalashdan iborat bo'lgan haqiqiy paketlar (shu jumladan haqiqiy .deb fayllari) bog'liqliklar. Ammo virtual paketlar jismonan mavjud emas; ular faqat aniqlash vositasidir umumiy, mantiqiy mezonlarga asoslangan haqiqiy paketlarni (masalan, taqdim etilgan xizmat yoki) standart dastur yoki oldindan mavjud bo'lgan paket bilan muvofiqligi).
kabi serverlar, Postfix yoki sendmail ta'minlash uchun aytilgan mail-transport-agent virtual paketini. Shunday qilib, ushbu xizmatning ishlashi kerak bo'lgan har qanday paket (masalan, pochta ro'yxati menejeri, masalan)
mumkin bo'lgan echimlarning katta, ammo to'liq bo'lmagan ro'yxatini ko'rsatish. Bundan tashqari, o'rnatish befoyda bitta mashinada ikkita pochta serveri, shuning uchun ushbu paketlarning har biri ziddiyatni e'lon qiladi bilan pochta-transport-agent virtual to'plami. Paket va o'zi o'rtasidagi ziddiyat e'tiborga olinmaydi tizim, ammo bu usul ikkita pochta serverini yonma-yon o'rnatishni taqiqlaydi. 209
8-bob - Debian paketlarini boshqarish
Boshqa paket bilan almashinish imkoniyati taqdim etadigan maydon ham qiziqarli bo'lganda, paketning chodiri kattaroq paketga kiritilgan. Masalan, libdigest-md5-perl Perl moduli Perl 5.6 da ixtiyoriy modul bo'lgan va Perl 5.8 da standart sifatida birlashtirilgan. Shunday qilib, paket perl 5.8-versiyadan beri e'lon qilingan. Quyidagilarga bog'liqliklar mavjud: libdigest-md5-perl tizimda Perl 5.8 (yoki undan yangi) bo'lsa, ushbu paketga mos keladi. Libdigest-md5-Perl o'zini upakovka o'chirildi, chunki eski Perl versiyalari olib tashlanganida endi maqsad yo'q edi. 8.3-rasm, bog'liqliklarni buzmaslik uchun taqdim etiladigan maydondan foydalanish Bu xususiyat juda foydalidir, chunki rivojlanish injiqliklarini oldindan bilish hech qachon mumkin emas va eskirgan nomini o'zgartirish va boshqa avtomatik almashtirishga moslashish kerak dasturiy ta'minot. Fayllarni almashtirish: maydonni almashtiradi Almashtirish maydonida paket boshqa fayllar to'plamida mavjud bo'lgan fayllar mavjudligini bildiradi. yoshi, ammo paket ularni almashtirishga qonuniy ravishda haqli. Ushbu spetsifikatsiyasiz, dpkg boshqa paketning fayllarini yozib bo'lmasligini bildirgan holda bajarilmaydi (texnik jihatdan mumkin --force-üzerine yozish opsiyasi bilan buni bajarishga majbur qiling, ammo bu standart operatsiya hisoblanmaydi). Bu mumkin bo'lgan muammolarni aniqlashga imkon beradi va texnik xodimdan bu masalani o'rganishni talab qiladi bunday maydonni qo'shishni tanlashdan oldin. 210
Kali Linux ochildi
Ushbu maydondan foydalanish paket nomlari o'zgarganda yoki paketga kiritilganida oqlanadi boshqa. Bu shuningdek, xizmat ko'rsatuvchi fayllarni boshqacha taqsimlashga qaror qilganida sodir bo'ladi turli xil ikkilik paketlar, bizning paketimizdan ishlab chiqarilgan: bir-biriga almashtirilgan fayl uzunlik eski paketga, lekin faqat yangisiga. O'rnatilgan paketdagi barcha fayllar almashtirilgan bo'lsa, paket qayta ko'rib chiqiladi Ko'chib. Va nihoyat, bu maydon dpkg- ni a bo'lgan joyda o'zgartirilgan paketni olib tashlashga undaydi ziddiyat. 8.4.2. Konfiguratsiya skriptlari Bundan tashqari , nazorat fayl, control.tar.gz har Debian paketi uchun arxiv bo'lishi mumkin dpkg tomonidan turli bosqichlarda chaqirilgan bir qator skriptlar ( postinst , postrm , preinst , prerm ) paketni qayta ishlash. Ushbu fayllarni .deb paketida joylashganligini ko'rsatish uchun biz dpkg -I dan foydalanishimiz mumkin Arxiv:
$ dpkg -I /var/cache/apt/archives/zsh_5.3-1_amd64.deb | bosh yangi debian to'plami, 2.0 versiyasi. hajmi 814486 bayt: boshqaruv arxivi = 2557 bayt. 838 bayt, 20 qator boshqaruv 3327 bayt, 43 qator
md5sums 969 bayt, 41 qator * postinst #! / bin / sh 348 bayt, 20 qator * postrm
#! / bin / sh 175 bayt, 5 qator * preinst #! / bin / sh 175 bayt, 5 qator * prerm
#! / bin / sh Paket: zsh Versiya: 5.3-1 $ dpkg -I zsh_5.3-1_amd64.deb oldindan #! / bin / sh o'rnatilgan -e # Avtomatik ravishda qo'shilgan dh_installdeb dpkg-maintscript-helper symlink_to_dir / usr / share / doc / zsh zsh-common 5.0.7-3 - ”$ @” # Avtomatik ravishda qo'shilgan qismni tugatish Debian siyosati ushbu fayllarning har birini batafsil tavsiflaydi, unda chaqirilgan skriptlar va tortishuvlar ko'rsatiladi. aldash Ushbu buyruqlar murakkablashishi mumkin, chunki ko'p marta yozilgan matnlar muvaffaqiyatsiz bo'ladi, dpkg bo'ladi O'rnatishni yoki olib tashlashni bekor qilishni bekor qilib, qoniqarli holatga qaytishga harakat qiling mumkin). 211
8-bob - Debian paketlarini boshqarish
Dpkg bazasi Siz yurgizadigan mumkin dpkg da fayl tizimi haqida ma'lumotlar bazasini / bor / lib / dpkg / . Bu di- rektorida o'rnatilgan barcha paketlarning ishlaydigan yozuvlari mavjud tizim. O'rnatilgan paketlar uchun barcha konfiguratsiya skriptlari / var / lib / dpkg / info / katalogi, paket bilan qo'shilgan fayl shaklida ism: $ ls /var/lib/dpkg/info/zsh.* /var/lib/dpkg/info/zsh.list /var/lib/dpkg/info/zsh.md5sums /var/lib/dpkg/info/zsh.postinst /var/lib/dpkg/info/zsh.postrm /var/lib/dpkg/info/zsh.preinst /var/lib/dpkg/info/zsh.prerm Ushbu katalog tarkibiga har bir paket uchun .list kengaytmasiga ega fayl kiradi, ushbu paketga tegishli fayllar ro'yxatini kiritish: $ head /var/lib/dpkg/info/zsh.list /. / bin / bin / zsh / bin / zsh5 / usr / usr / lib / usr / lib / x86_64-linux-gnu / usr / lib / x86_64-linux-gnu / zsh /usr/lib/x86_64-linux-gnu/zsh/5.2 /usr/lib/x86_64-linux-gnu/zsh/5.2/zsh [...] / Bor / lib / dpkg / holati fayl shaklida ma'lumotlarni bloklar bir qator (o'z ichiga olgan holatini tavsiflovchi mashhur pochta sarlavhalari izoh talab qiladi, RFC 2822) har bir paket. O'rnatilgan paketlarning boshqaruv faylidagi ma'lumotlar ham u erda takrorlangan. $ more / var / lib / dpkg / status To'plam: gnome-belgilar Holat: o'rnatish ok o'rnatilgan Afzallik: ixtiyoriy Bo'lim: gnome O'rnatilgan o'lcham: 1785 Boshqaruvchi: Debian GNOME xizmatchilari ¯ keepers@lists.alioth.debian.org> Arxitektura: amd64 Versiya: 3.20.1-1 [...]
212 Kali Linux ochildi
Keling, konfiguratsiya fayllarini muhokama qilaylik va ularning o'zaro ta'sirini ko'rib chiqaylik. Umuman olganda, oldindan tayyorlangan skript paket o'rnatilishidan oldin bajarilgan, postinst esa unga amal qiladi. Xuddi shunday, prerm ham paketni olib tashlashdan oldin chaqiriladi va keyin postrm . Paketning yangilanishi tengdir oldingi versiyasini olib tashlash va yangisini o'rnatish. Ichida tasvirlash mumkin emas bu erda mumkin bo'lgan barcha senariylarni batafsil bayon qiling, ammo biz eng keng tarqalgan ikkitasini muhokama qilamiz: o'rnatish / o'rnatish sana va olib tashlash. Ushbu ketma-ketliklar juda chalkash bo'lishi mumkin, ammo vizual tasvir yordam berishi mumkin. Manoj Srivastava dpkg tomonidan konfiguratsiya skriptlari qanday chaqirilishini tushuntirib beradigan ushbu diagrammalarni yaratdi . Shunga o'xshash di- gramm Debian Women loyihasi tomonidan ishlab chiqilgan; ular biroz osonroq turish, lekin kamroq to'liq. ² https://people.debian.org/~srivasta/MaintainerScripts.html ² https://wiki.debian.org/MaintainerScripts E'tibor bering
Ushbu bo'limda tasvirlangan ketma-ketliklar aniq nomlar bo'yicha konfiguratsiya skriptlarini chaqiradi, kabi eski-prerm yoki yangi-postinst . Ular, o'z navbatida, dastlabki skript kelishuvidir paketning eski versiyasida (yangilanishdan oldin o'rnatilgan) va postinstda joylashtirilgan skript yangi versiyada (yangilanish tomonidan o'rnatilgan).
O'rnatish paytida (yoki yangilashda) nima sodir bo'ladi: 1. Yangilash uchun dpkg eski yangilangan yangi versiyasini chaqiradi . 2. Hali ham yangilash kerak, dpkg keyin yangi-oldindan yangilangan eski versiyasini ishga tushiradi ; birinchi marta stallation, u yangi oldindan o'rnatishni amalga oshiradi . Bu so'nggi versiyada eski versiyani qo'shishi mumkin - terifthepackagehasalreadybeenin o'rnatilgan va olib tashlangan (sozlanmagan, konfiguratsiya saqlangan fayllar). 3. Keyin yangi paketli fayllar paketdan chiqariladi. Agar fayl allaqachon mavjud bo'lsa, u almashtiriladi, ammo zaxira nusxasi nusxasi tayyorlanadi va vaqtincha saqlanadi. Bir yangilash uchun 4. dpkg amalga oshiradi eski-postrm yangilashingiz yangi-versiyasini . 5. dpkg barcha ichki ma'lumotlarni yangilaydi (fayllar ro'yxati, konfiguratsiya skriptlari va boshqalar) almashtirilgan fayllarning zaxira nusxalari. Bu qaytib kelmaslik nuqtasidir: dpkg endi hammaga kirish huquqiga ega emas oldingi holatga qaytish uchun zarur bo'lgan elementlarning. 6. dpkg konfiguratsiya fayllarini yangilaydi, bu sizning avtomatlashtira olmasligini hal qilishingizni so'raydi. ically bu vazifani boshqarish. Ushbu protsedura tafsilotlari 8.4.3 bo'limida , " Tekshirish -
7. Va nihoyat, dpkg ijro tomonidan paketini konfiguratsiya yangi-postinst configure last- versiya tuzilgan . 213
8-bob - Debian paketlarini boshqarish
Download 0.74 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling