Flatpak 1.12.0 müstəqil paket sisteminin buraxılışı

Flatpak 1.12 alətlər dəstinin yeni sabit qolu nəşr olundu ki, bu da xüsusi Linux paylamalarına bağlı olmayan və tətbiqi sistemin qalan hissəsindən təcrid edən xüsusi konteynerdə işləyən müstəqil paketlərin qurulması sistemini təmin edir. Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux və Ubuntu üçün Flatpak paketlərini işə salmaq üçün dəstək verilir. Flatpak paketləri Fedora repozitoriyasına daxildir və yerli GNOME Tətbiq Menecerində saxlanılır.

Flatpak 1.12 filialında əsas yeniliklər:

  • Steam oyun çatdırılması xidməti üçün müştəri ilə flatpak paketində istifadə edilən yuvalanmış sandbox mühitlərinin təkmilləşdirilmiş idarə edilməsi. İçəridə quraşdırılmış qum qutuları Steam müştərisi ilə ətraf mühitdən təcrid olunmuş öz /usr bölməsi olan ayrı konteynerdə oyunları idarə etmək üçün Steam-də istifadə olunan ayrı /usr və /app qovluq iyerarxiyalarının yaradılmasına imkan verir.
  • Eyni proqram identifikatoru (app-ID) olan bütün paket nümunələri /tmp və $XDG_RUNTIME_DIR qovluqlarını paylaşır. İstəyə görə, “--allow=per-app-dev-shm” bayrağından istifadə edərək, /dev/shm paylaşılan kataloqunun istifadəsini aktivləşdirə bilərsiniz.
  • gdb kimi Mətn İstifadəçi İnterfeysi (TUI) proqramları üçün təkmilləşdirilmiş dəstək.
  • “Ostree prune” əmrinin daha sürətli tətbiqi arxiv rejimində depolarla işləmək üçün optimallaşdırılmış, yeniləmə-repo proqram təminatına əlavə edilmişdir.
  • Seccomp qaydalarında arakəsmələrin quraşdırılması ilə bağlı yeni sistem çağırışlarının bloklanmaması ilə bağlı portal mexanizminin tətbiqində CVE-2021-41133 zəifliyi aradan qaldırılıb. Zəiflik proqrama konteynerdən kənar resurslara girişi təşkil etmək üçün istifadə edilən “portal” yoxlama mexanizmlərini keçmək üçün iç-içə sandbox yaratmağa imkan verdi.

    Nəticədə, təcavüzkar quraşdırma ilə əlaqəli sistem çağırışlarını yerinə yetirməklə, sandbox izolyasiya mexanizmini keçə və host mühitinin məzmununa tam giriş əldə edə bilər. Zəiflikdən yalnız Wayland, Pipewire və pipewire-pulse tərəfindən istifadə olunanlar kimi AF_UNIX yuvalarına birbaşa çıxışı olan proqramlar təmin edən paketlərdə istifadə edilə bilər. 1.12.0 buraxılışında boşluq tamamilə aradan qaldırılmadı, ona görə də 1.12.1 yeniləməsi isti buraxıldı.

Xatırladaq ki, Flatpak proqram tərtibatçılarına hər paylama üçün ayrı-ayrı məclislər yaratmadan bir universal konteyner hazırlamaqla adi paylama anbarlarına daxil olmayan proqramlarının paylanmasını sadələşdirməyə imkan verir. Təhlükəsizliyə şüurlu istifadəçilər üçün Flatpak şübhəli proqrama konteynerdə işləməyə imkan verir və yalnız proqramla əlaqəli şəbəkə funksiyalarına və istifadəçi fayllarına giriş imkanı verir. Yeniliklərlə maraqlanan istifadəçilər üçün Flatpak sizə sistemdə dəyişiklik etmədən tətbiqlərin ən son sınaq və stabil buraxılışlarını quraşdırmağa imkan verir. Məsələn, Flatpak paketləri LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio və s.

Paketin ölçüsünü azaltmaq üçün o, yalnız proqrama aid olan asılılıqları ehtiva edir və əsas sistem və qrafik kitabxanalar (GTK, Qt, GNOME və KDE kitabxanaları və s.) qoşula bilən tipik iş vaxtı mühitləri kimi tərtib edilmişdir. Flatpak və Snap arasındakı əsas fərq ondan ibarətdir ki, Snap əsas sistem mühitinin komponentlərindən və sistem çağırışının filtrasiyası əsasında izolyasiyadan istifadə edir, Flatpak isə sistemdən ayrı bir konteyner yaradır və asılılıq kimi paketləri deyil, tipik paketləri təmin edən böyük iş vaxtı dəstləri ilə işləyir. sistem mühitləri (məsələn, GNOME və ya KDE proqramlarını işə salmaq üçün tələb olunan bütün kitabxanalar).

Xüsusi depo vasitəsilə quraşdırılmış tipik sistem mühitinə (iş vaxtı) əlavə olaraq, tətbiqin işləməsi üçün tələb olunan əlavə asılılıqlar (paket) təmin edilir. Ümumilikdə, iş vaxtı və paket konteynerin doldurulmasını təşkil edir, iş vaxtı isə ayrıca quraşdırılır və eyni anda bir neçə konteynerə bağlanır ki, bu da konteynerlər üçün ümumi sistem fayllarının təkrarlanmasının qarşısını almağa imkan verir. Bir sistemdə quraşdırılmış bir neçə fərqli iş vaxtı (GNOME, KDE) və ya eyni iş vaxtının bir neçə versiyası (GNOME 3.40, GNOME 3.42) ola bilər. Asılılıq kimi tətbiqi olan konteyner icra müddətini təşkil edən fərdi paketləri nəzərə almadan yalnız müəyyən bir iş vaxtı üçün bağlamadan istifadə edir. Bütün çatışmayan maddələr birbaşa tətbiq ilə paketlənir. Konteyner yarandıqda, iş vaxtının məzmunu /usr bölməsi kimi quraşdırılır və paket /app qovluğuna quraşdırılır.

İş vaxtının və tətbiq konteynerlərinin doldurulması OSTree texnologiyasından istifadə edərək formalaşır, burada görüntü Git-ə bənzər yaddaşdan atomik şəkildə yenilənir, bu da paylama komponentlərinə versiyaya nəzarət üsullarını tətbiq etməyə imkan verir (məsələn, sistemi tez bir zamanda geri qaytara bilərsiniz. əvvəlki vəziyyətə). RPM paketləri xüsusi rpm-ostree qatından istifadə edərək OSTree repozitoriyasına tərcümə olunur. İş mühitində paketlərin ayrıca quraşdırılması və yenilənməsi dəstəklənmir, sistem fərdi komponentlər səviyyəsində deyil, bütövlükdə vəziyyətini atomik şəkildə dəyişdirərək yenilənir. Yeniləmələri mərhələli şəkildə tətbiq etmək üçün alətlər təqdim olunur, hər yeniləmə ilə şəkli tamamilə əvəz etmək ehtiyacını aradan qaldırır.

Yaradılmış təcrid olunmuş mühit istifadə olunan paylama dəstindən tamamilə müstəqildir və düzgün paket parametrləri ilə istifadəçinin və ya əsas sistemin fayllarına və proseslərinə çıxışı yoxdur, DRI vasitəsilə çıxış istisna olmaqla, avadanlıqlara birbaşa daxil ola bilmir və şəbəkə alt sistemi. Qrafik çıxış və giriş təşkili Wayland protokolundan istifadə etməklə və ya X11 yuvasının ötürülməsi vasitəsilə həyata keçirilir. Xarici mühitlə qarşılıqlı əlaqə DBus mesajlaşma sistemi və xüsusi Portallar API əsasında qurulur.

İzolyasiya üçün qruplar, ad boşluqları, Seccomp və SELinux istifadəsinə əsaslanan Bubblewrap təbəqəsi və ənənəvi Linux konteyner virtuallaşdırma texnologiyaları istifadə olunur. PulseAudio səs çıxarmaq üçün istifadə olunur. Bu vəziyyətdə, bir çox məşhur paketlərin tərtibatçıları tərəfindən fayl sisteminə və sistemdəki bütün cihazlara tam giriş əldə etmək üçün istifadə olunan izolyasiya aradan qaldırıla bilər. Məsələn, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity və VLC ev kataloquna tam girişi təmin edən məhdud izolyasiya rejimi ilə gəlir.

Əgər paketin təsvirində “sandboxed” etiketinin olmasına baxmayaraq, ev kataloquna çıxışı olan paketlər təhlükə altına düşərsə, təcavüzkar öz kodunu icra etmək üçün sadəcə ~/.bashrc faylını dəyişdirməlidir. Ayrı bir məsələ paketlərdə dəyişikliklərə nəzarət və çox vaxt əsas layihə və ya paylamalarla əlaqəli olmayan paket qurucularına etibardır.

Mənbə: opennet.ru

Добавить комментарий