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

Flatpak 1.14 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.14 filialidagi asosiy yangiliklar:

  • (.local/state) holatidagi fayllar uchun katalog yaratish va ushbu katalogga ishora qiluvchi XDG_STATE_HOME muhit oʻzgaruvchisini oʻrnatish mumkin.
  • Yadro modullarining mavjudligini aniqlash uchun "yadro-modul nomi" shakliga shartli tekshiruvlar qo'shildi (oldindan taklif qilingan have-intel-gpu tekshiruvining universal analogi, buning o'rniga "yadro-modul-i915-ga ega" iborasi. ” endi ishlatilishi mumkin).
  • “Flatpak document-unexport —doc-id=…” buyrug'i amalga oshirildi.
  • Asosiy muhitda foydalanish uchun Appstream metamaʼlumotlarini eksport qilish taʼminlangan.
  • Fish shell uchun flatpak buyrug'ini bajarish qoidalari qo'shildi
  • X11 va PulseAudio xizmatlariga tarmoqqa kirishga ruxsat beriladi (agar tegishli sozlamalar qo'shilsa).
  • Git omboridagi asosiy filial "master" dan "asosiy" ga o'zgartirildi, chunki "master" so'zi yaqinda siyosiy jihatdan noto'g'ri deb hisoblanadi.
  • Ilova nomi o'zgartirilsa, ishga tushirish skriptlari endi qayta yoziladi.
  • SDK va disk raskadrovka fayllarini o'rnatish uchun o'rnatish buyrug'iga "--include-sdk" va "--include-debug" opsiyalari qo'shildi.
  • Flatpakref va flatpakrepo fayllariga “DeploySideloadCollectionID” parametri qo‘shildi. O‘rnatilganda, to‘plam identifikatori metadata yuklangandan keyin emas, balki masofaviy ombor qo‘shilganda o‘rnatiladi.
  • Alohida MPRIS (Media pleer masofaviy interfeysi spetsifikatsiyasi) nomlari bilan seanslarda ishlov beruvchilar uchun ichki sinov muhitini yaratishga ruxsat berilgan.
  • Buyruqlar qatori yordamchi dasturlari endi eskirgan ish vaqti kengaytmalaridan foydalanish haqida ma'lumot beradi.
  • O'chirish buyrug'i hali ham ishlatilayotgan ish vaqti yoki ish vaqti kengaytmalarini olib tashlashdan oldin tasdiqlash so'rovini amalga oshiradi.
  • “Flatpak run” kabi buyruqlarga “--socket=gpg-agent” opsiyasi qo‘shildi.
  • Libostree-da foydalanuvchiga flatpak-system-helper ishlovchisini manipulyatsiya qilish (maxsus formatlangan filial nomi bilan o'chirish so'rovini yuborish) orqali tizimdagi o'zboshimchalik bilan fayllarni o'chirish imkonini berishi mumkin bo'lgan zaiflik tuzatildi. Muammo faqat Flatpak va libostree-ning 2018-yildan oldin chiqarilgan eski versiyalarida (< 0.10.2) paydo bo'ladi va joriy nashrlarga ta'sir qilmaydi.

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