Distri - paketlarni tezkor boshqarish texnologiyalarini sinab ko'rish uchun tarqatish

Maykl Stapelberg, i3wm plitkali oyna menejeri muallifi va sobiq faol Debian dasturchisi (taxminan 170 ta paketni saqlab qolgan), rivojlanadi eksperimental taqsimot distri va xuddi shu nomdagi paket menejeri. Loyiha paketlarni boshqarish tizimlarining samaradorligini oshirishning mumkin bo'lgan usullarini o'rganish sifatida joylashtirilgan va tarqatishlarni qurish uchun ba'zi yangi g'oyalarni o'zida mujassam etgan. Paket menejeri kodi Go va da yozilgan tarqaladi BSD litsenziyasi ostida.

Tarqatish paketi formatining asosiy xususiyati shundaki, paket siqilgan tar arxivlari o‘rniga SquashFS tasvirlari ko‘rinishida yetkaziladi. AppImage va Snap formatlariga o'xshash SquashFS-dan foydalanish sizga paketni o'ramini ochmasdan turib "ulash" imkonini beradi, bu esa diskdagi joyni tejaydi, atomik o'zgarishlarga imkon beradi va paket tarkibiga bir zumda kirish imkonini beradi. Shu bilan birga, distri paketlari, klassik "deb" formatida bo'lgani kabi, faqat boshqa paketlar bilan bog'liqliklar bilan bog'langan individual komponentlarni o'z ichiga oladi (kutubxonalar paketlarda takrorlanmaydi, lekin bog'liqliklar sifatida o'rnatiladi). Boshqacha qilib aytadigan bo'lsak, distri Debian kabi klassik tarqatishlarning granulyar paket tuzilishini o'rnatilgan konteynerlar ko'rinishidagi ilovalarni etkazib berish usullari bilan birlashtirishga harakat qiladi.

Distridagi har bir paket faqat o'qish rejimida o'z katalogiga o'rnatiladi (masalan, zsh to'plami "/ro/zsh-amd64-5.6.2-3" sifatida mavjud), bu xavfsizlikka ijobiy ta'sir ko'rsatadi va himoya qiladi. tasodifiy yoki zararli o'zgarishlarga qarshi. /usr/bin, /usr/share va /usr/lib kabi xizmat kataloglarining ierarxiyasini shakllantirish uchun barcha o'rnatilgan SquashFS tasvirlarining mazmunini birlashtirgan maxsus FUSE moduli qo'llaniladi (masalan, /ro). /share katalogi barcha paketlardan kichik kataloglarni almashish imkonini beradi).

Paketlar asosan distrida yetkazib berildi o'rnatish vaqtida chaqirilgan ishlov beruvchilardan (ilgaklar yoki triggerlar yo'q) va paketning turli versiyalari bir-biri bilan birga bo'lishi mumkin, shuning uchun paketlarni parallel o'rnatish mumkin bo'ladi. Taklif etilayotgan tuzilma paket menejerining ishlashini faqat paketlar yuklab olinadigan tarmoq o'tkazuvchanligi bilan cheklaydi. Paketning haqiqiy o'rnatilishi yoki yangilanishi atomik tarzda amalga oshiriladi va kontentni takrorlashni talab qilmaydi.

Paketlarni o'rnatishda nizolar yo'q qilinadi, chunki har bir paket o'z katalogi bilan bog'langan va tizim bitta paketning turli versiyalari mavjudligiga imkon beradi (paketning yangi tahriri bilan katalog tarkibi birlashma kataloglariga kiritilgan). Paketlarni yaratish ham juda tez va paketlarni alohida qurish muhitida o'rnatishni talab qilmaydi (qurilish muhitida /ro katalogidan kerakli bog'liqliklarning tasvirlari yaratiladi).

Qo'llab-quvvatlanadi "distri install" va "distri update" kabi paketlarni boshqarishning odatiy buyruqlari va ma'lumot buyruqlari o'rniga siz standart "ls" yordam dasturidan foydalanishingiz mumkin (masalan, o'rnatilgan paketlarni ko'rish uchun " /ro” ierarxiyasini o'rnating va fayl qaysi paketga kiritilganligini bilish uchun ushbu fayldagi havola qayerga olib borishini ko'ring).

Tajriba uchun taklif qilingan prototipni tarqatish to'plami taxminan o'z ichiga oladi 1700 paket va tayyor o'rnatish rasmlari oʻrnatuvchi bilan, ham asosiy OT sifatida oʻrnatish, ham QEMU, Docker, Google Cloud va VirtualBox’da ishlash uchun mos. U shifrlangan disk bo'limidan yuklashni va i3 oyna boshqaruvchisiga asoslangan ish stolini yaratish uchun standart ilovalar to'plamini qo'llab-quvvatlaydi (Google Chrome brauzer sifatida taqdim etiladi). Taqdim etilgan tarqatishni yig'ish, paketlarni tayyorlash va yaratish, paketlarni nometall orqali tarqatish va boshqalar uchun to'liq asboblar to'plami.

Manba: opennet.ru

a Izoh qo'shish