Flatpak 1.12.0 o'zini o'zi ta'minlaydigan paketlar tizimining chiqarilishi

Flatpak 1.12 asboblar to'plamining yangi barqaror bo'limi nashr etildi, u muayyan Linux distributivlariga bog'lanmagan va dasturni tizimning qolgan qismidan ajratib turadigan maxsus konteynerda ishlaydigan mustaqil paketlarni yaratish tizimini ta'minlaydi. Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux va Ubuntu uchun Flatpak paketlarini ishga tushirish qo'llab-quvvatlanadi. Flatpak paketlari Fedora omboriga kiritilgan va mahalliy GNOME ilovalar menejeri tomonidan qo'llab-quvvatlanadi.

Flatpak 1.12 filialidagi asosiy yangiliklar:

  • Steam oʻyinlarini yetkazib berish xizmati uchun mijoz bilan flatpak toʻplamida foydalaniladigan ichki oʻrnatilgan sandbox muhitlarini boshqarish yaxshilandi. O'rnatilgan sandboxlarda /usr va /app kataloglarining alohida ierarxiyalarini yaratishga ruxsat beriladi, bu Steam-da o'yinlarni Steam mijozi bilan muhitdan ajratilgan o'zining /usr bo'limiga ega alohida konteynerda ishga tushirish uchun ishlatiladi.
  • Bir xil ilova identifikatoriga (app-ID) ega bo'lgan barcha paket namunalari /tmp va $XDG_RUNTIME_DIR kataloglarini baham ko'radi. Majburiy emas, "--allow=per-app-dev-shm" bayrog'idan foydalanib, /dev/shm umumiy katalogidan foydalanishni yoqishingiz mumkin.
  • gdb kabi Matn foydalanuvchi interfeysi (TUI) ilovalarini qo'llab-quvvatlash yaxshilandi.
  • Arxiv rejimida omborlar bilan ishlash uchun optimallashtirilgan yangilanish-repo yordam dasturiga “ostree prune” buyrug'ini tezroq amalga oshirish qo'shildi.
  • Portal mexanizmini amalga oshirishdagi CVE-2021-41133 zaifligi, seccomp qoidalarida bo'limlarni o'rnatish bilan bog'liq yangi tizim qo'ng'iroqlarini blokirovka qilmaslik bilan bog'liq. Zaiflik ilovaga konteyner tashqarisidagi resurslarga kirishni tashkil qilishda foydalaniladigan “portal” tekshirish mexanizmlarini chetlab o‘tish uchun o‘rnatilgan sinov muhitini yaratish imkonini berdi.

    Natijada, tajovuzkor o'rnatish bilan bog'liq tizim qo'ng'iroqlarini amalga oshirib, sinov muhitini izolyatsiyalash mexanizmini chetlab o'tishi va xost muhiti tarkibiga to'liq kirish huquqiga ega bo'lishi mumkin. Zaiflikdan faqat Wayland, Pipewire va pipewire-pulse tomonidan foydalaniladigan AF_UNIX rozetkalariga to'g'ridan-to'g'ri kirishni ta'minlaydigan dasturlarda foydalanish mumkin. 1.12.0 versiyasida zaiflik to'liq bartaraf etilmadi, shuning uchun 1.12.1 yangilanishi tezda chiqdi.

Eslatib o‘tamiz, Flatpak dastur ishlab chiquvchilarga har bir tarqatish uchun alohida yig‘ilishlar yaratmasdan, bitta universal konteynerni tayyorlash orqali standart tarqatish omborlariga kiritilmagan dasturlarini tarqatishni soddalashtirish imkonini beradi. Xavfsizlikni yaxshi biladigan foydalanuvchilar uchun Flatpak shubhali dasturni konteynerda ishga tushirishga imkon beradi, faqat tarmoq funktsiyalari va ilova bilan bog'liq foydalanuvchi fayllariga kirishni ta'minlaydi. Yangi mahsulotlarga qiziqqan foydalanuvchilar uchun Flatpak tizimga o'zgartirishlar kiritmasdan so'nggi sinov va ilovalarning barqaror nashrlarini o'rnatish imkonini beradi. Masalan, Flatpak paketlari LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio va boshqalar uchun yaratilgan.

Paket hajmini kamaytirish uchun u faqat dasturga xos bog'liqliklarni o'z ichiga oladi va asosiy tizim va grafik kutubxonalar (GTK, Qt, GNOME va KDE kutubxonalari va boshqalar) plagin standart ish vaqti muhiti sifatida yaratilgan. Flatpak va Snap o'rtasidagi asosiy farq shundaki, Snap tizim qo'ng'iroqlarini filtrlash asosida asosiy tizim muhiti va izolyatsiya komponentlaridan foydalanadi, Flatpak esa tizimdan alohida konteyner yaratadi va paketlarni bog'liqlik sifatida emas, balki standart sifatida taqdim etadigan katta ish vaqti to'plamlari bilan ishlaydi. ularning tizim muhitlari (masalan, GNOME yoki KDE dasturlari ishlashi uchun zarur bo'lgan barcha kutubxonalar).

Maxsus ombor orqali o'rnatilgan standart tizim muhitiga (ish vaqti) qo'shimcha ravishda, ilovaning ishlashi uchun zarur bo'lgan qo'shimcha bog'liqliklar (to'plam) taqdim etiladi. Umuman olganda, ish vaqti va to'plam konteynerni to'ldirishni tashkil qiladi, garchi ish vaqti alohida o'rnatilgan va bir vaqtning o'zida bir nechta konteynerlarga bog'langan bo'lsa-da, bu konteynerlar uchun umumiy tizim fayllarini takrorlashni oldini olishga imkon beradi. Bitta tizimda bir nechta turli ish vaqtlari (GNOME, KDE) yoki bir xil ish vaqtining bir nechta versiyalari (GNOME 3.40, GNOME 3.42) oʻrnatilgan boʻlishi mumkin. Ilovaga bog'liqlik sifatidagi konteyner ish vaqtini tashkil etuvchi alohida paketlarni hisobga olmagan holda, faqat ma'lum bir ish vaqtiga bog'lanishdan foydalanadi. Barcha etishmayotgan elementlar to'g'ridan-to'g'ri dastur bilan paketlanadi. Konteyner hosil bo'lganda, ish vaqti tarkibi /usr bo'limi sifatida o'rnatiladi va to'plam /app katalogiga o'rnatiladi.

Ish vaqti va dastur konteynerlari OSTree texnologiyasidan foydalangan holda qurilgan bo'lib, unda tasvir Git-ga o'xshash ombordan atomik ravishda yangilanadi, bu tarqatish komponentlariga versiyani boshqarish usullarini qo'llash imkonini beradi (masalan, tizimni tezda qayta tiklashingiz mumkin). oldingi holat). RPM paketlari OSTree omboriga maxsus rpm-ostree qatlami yordamida tarjima qilinadi. Ish muhitida paketlarni alohida o'rnatish va yangilash qo'llab-quvvatlanmaydi, tizim alohida komponentlar darajasida emas, balki umuman uning holatini atomik ravishda o'zgartirib yangilanadi. Yangilanishlarni bosqichma-bosqich qo'llash vositalarini taqdim etadi, bu har bir yangilanish bilan tasvirni to'liq almashtirish zaruratini yo'q qiladi.

Yaratilgan izolyatsiya qilingan muhit ishlatiladigan taqsimotdan mutlaqo mustaqil va paketning to'g'ri sozlamalari bilan foydalanuvchi yoki asosiy tizimning fayllari va jarayonlariga kirish imkoni yo'q, DRI orqali chiqish bundan mustasno, uskunaga bevosita kira olmaydi, va tarmoq quyi tizimiga qo'ng'iroqlar. Grafik chiqish va kiritishni tashkil etish Wayland protokoli yoki X11 soket uzatmasi orqali amalga oshiriladi. Tashqi muhit bilan oʻzaro aloqa DBus xabar almashish tizimi va maxsus Portals API asosida amalga oshiriladi.

Izolyatsiya qilish uchun guruhlar, nomlar maydoni, Seccomp va SELinux-dan foydalanishga asoslangan Bubblewrap qatlami va an'anaviy Linux konteyner virtualizatsiya texnologiyalari qo'llaniladi. PulseAudio ovoz chiqarish uchun ishlatiladi. Bunday holda, izolyatsiyani o'chirib qo'yish mumkin, bu ko'plab mashhur paketlarni ishlab chiquvchilar tomonidan fayl tizimiga va tizimdagi barcha qurilmalarga to'liq kirish uchun foydalaniladi. Masalan, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity va VLC uy katalogiga to'liq kirishni qoldiradigan cheklangan izolyatsiya rejimiga ega.

Agar uy katalogiga kirish huquqiga ega paketlar buzilgan bo'lsa, paket tavsifida "sandboxed" yorlig'i mavjudligiga qaramay, tajovuzkor o'z kodini bajarish uchun ~/.bashrc faylini o'zgartirishi kifoya qiladi. Alohida masala - paketlardagi o'zgarishlarni nazorat qilish va ko'pincha asosiy loyiha yoki tarqatish bilan bog'liq bo'lmagan paketlarni ishlab chiqaruvchilarga ishonish.

Manba: opennet.ru

a Izoh qo'shish