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

Flatpak 1.14 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.14 filialında əsas yeniliklər:

  • Ştatdakı fayllar üçün kataloq yaratdı (.local/state) və bu kataloqa işarə edən XDG_STATE_HOME mühit dəyişənini təyin edin.
  • Kernel modullarının mövcudluğunu müəyyən etmək üçün "var-kernel-module-name" formasının şərti yoxlamaları əlavə edildi (əvvəllər təklif edilmiş çekin universal analoqu have-intel-gpu, bunun əvəzinə "have-kernel-module-i915" ifadəsi " indi istifadə edilə bilər).
  • "flatpak document-unexport --doc-id=..." əmri yerinə yetirildi.
  • Əsas mühitdə istifadə üçün Appstream metadatasının ixracı təmin edilmişdir.
  • Balıq qabığı üçün flatpak əmrini tamamlama qaydaları əlavə edildi
  • X11 və PulseAudio xidmətlərinə şəbəkə girişinə icazə verilir (əgər müvafiq parametrlər əlavə olunarsa).
  • Git deposundakı əsas filialın adı "master"dən "main"ə dəyişdirilib, çünki "master" sözü son vaxtlar siyasi baxımdan düzgün hesab edilmir.
  • Proqramın adının dəyişdirilməsi halında başlanğıc skriptlərinin yenidən yazılmasını təmin edir.
  • SDK və debuginfo fayllarını quraşdırmaq əmrini quraşdırmaq üçün "--include-sdk" və "--include-debug" seçimləri əlavə edildi.
  • "DeploySideloadCollectionID" parametri üçün dəstək flatpakref və flatpakrepo fayllarına əlavə edilib, təyin edildikdə, kolleksiya ID-si metadata yükləndikdən sonra deyil, uzaq repozitoriyanın əlavə edilməsi zamanı təyin olunacaq.
  • MPRIS (Media Pleyeri Uzaqdan İnterfeys Xüsusiyyəti) ayrı-ayrı adları olan seanslarda işləyicilər üçün yuvalanmış sandbox mühitlərinin yaradılmasına icazə verilir.
  • Komanda xətti yardım proqramları köhnəlmiş iş vaxtı genişləndirmələrinin istifadəsi haqqında məlumatları göstərir.
  • Silinmə əmri hələ də istifadə olunan iş vaxtı və ya iş vaxtı uzantılarını silməzdən əvvəl təsdiq sorğusunu həyata keçirir.
  • "Flatpak run" kimi əmrlərə "--socket=gpg-agent" seçimi üçün dəstək əlavə edildi.
  • Libojetree-də potensial olaraq istifadəçiyə flatpak-sistem-köməkçi idarəçisinin manipulyasiyası (xüsusi formatlaşdırılmış filial adı ilə silmə sorğusu göndərilməsi) vasitəsilə sistemdəki ixtiyari faylları silməyə imkan verə bilən boşluq aradan qaldırılıb. Problem yalnız Flatpak və libostree-nin 2018-ci ildən əvvəl buraxılmış köhnə versiyalarında baş verir (< 0.10.2) və cari buraxılışlara təsir göstərmir.

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 Bubblewrap təbəqəsi və qruplar, ad məkanları (ad boşluqları), Seccomp və SELinux istifadəsinə əsaslanan ənənəvi Linux konteyner virtuallaşdırma texnologiyalarından istifadə olunur. PulseAudio səs çıxarmaq üçün istifadə olunur. Bu vəziyyətdə, FS-ə və sistemdəki bütün cihazlara tam giriş əldə etmək üçün bir çox məşhur paketlərin tərtibatçıları tərəfindən istifadə edilən izolyasiya aradan qaldırıla bilər. Məsələn, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity və VLC paketləri 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ərə edilən 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

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