yeni stabil alət qolu , sistemlə bağlı olmayan və xüsusi bir konteynerdə işlədilən müstəqil paketlərin yığılması üçün sistem təmin edən bir vasitədir ki, bu da tətbiqi qalan sistemdən izolyasiya edir. Flatpak paketlərinin icrası Arch Linux üçün təmin edilmişdir, , Debian, Fedora, Gentoo, Mageia, Linux Mint və Ubuntu. Flatpak paketləri Fedora'nın depozitində daxildir və GNOME'un standart tətbiq idarəetmə proqramında dəstəklənir.
Əsas Flatpak 1.6-da:
- İ tətbiqlərə yeniləmələrin meydana çıxmasını izləməyə və meydana çıxan yeniləmənin quraşdırılmasını istəməyə imkan verən CreateUpdateMonitor metodunu əlavə etdi.
Tətbiqin öz başına yeniləmələri quraşdırması səlahiyyətini qadağan etmək üçün «flatpak permission-set flatpak updates $APPID no» əmri istifadə edilə bilər (əgər «no» əvəzinə «ask» qeyd etsəniz, hər dəfə yeniləməni təsdiqləmək üçün dialoq göstəriləcək); - İşləyicilərin yaradılmasını asanlaşdırmaq üçün
libportal kitabxanası təklif olunub, bu da API Portal-dan birbaşa istifadə etmədən və D-Bus üzərindən gələn siqnalları parsing etmədən hadisələri idarə etməyə imkan verir.
Libportal əksər ««; - Yeni «—socket=cups» səlahiyyəti əlavə edildi, bu da CUPS çap serverinə birbaşa giriş imkanı verir;
- Protokol və API avtorizasiyanı idarə etmək üçün dəyişdirildi. OCI (Open Container Initiative) üçün avtorizator əlavə edildi. Dış depozitdən flatpak avtorizatorlarının avtomatik quraşdırılması dəstəklənir. FlatpakTransaction-da HTTP basic avtorizasiya metoduna bənzər login və şifrə ilə avtorizasiyanı istifadə etmək üçün callback-işləyici əlavə edilib;
- Yükləmədə avtorizasiya tələb edən qorunan tətbiqlər və sistemlər üçün dəstək əlavə edildi;
- İzolyasiya üçün istifadə olunan bubblewrap qatı yeni versiyaya güncəllənib ;
- Müəyyən növ kontentə girişin məhdudlaşdırılması üçün kitabxanasının istifadəsi ilə valideyn nəzarətinin opsional dəstəyi əlavə edildi;
- İnkişafat əvvəlcə quraşdırma mərhələsində həyata keçirilir, bu da quraşdırma bitdikdən sonra dərhal işləyən tətbiqi əldə etməyə imkan tanıyır;
- Müvəqqəti fayllarla işləmə təkmilləşdirilib ki, bu da boş disk sahəsinin çatışmazlığı şəraitində işin yaxşılaşmasını təmin edir;
- «» əmrini icra etmək üçün artıq sudo istifadə etməyə ehtiyac yoxdur;
- Portalda alt-izolyasiya mühitlərinin (sub-sandbox) şaxələri üçün yeni doğulmuş çevrimi başlatmaq imkanı əlavə edildi;
- Səlahiyyətlərin quraşdırılmasını idarə etmək üçün yeni «flatpak permission-set» və «permission-remove» əmrləri əlavə edildi;
- Tətbiq artıq quraşdırılmışsa, yeniləməni yerinə yetirən «flatpak install —or-update» seçimi əlavə edildi;
- Versiyanı sabitləşdirmək və yeniləmələrin quraşdırılmasını qadağan etmək üçün «flatpak mask» əmri əlavə edildi;
- OCI (Open Container Initiative) formatında şəkillərin etiketləri bağlama, dəyişiklik tarixçəsini yaratma və OCI etiketlərindən əlavə docker mime tiplərini daxil etməyi dəstəkləyir.
- Sistem siyahısına əlavə olaraq istifadə olunan dillərin siyahısını müəyyən etmək üçün default-languages açarı tənzimləmələrə əlavə edilib.
Xatırladaq ki, Flatpak tətbiq yaradıcılarına standart paylama resurslarına daxil olmayan proqramlarını yaymağı asanlaşdırır. hər bir paylama üçün ayrı-ayrı yığınlar yaratmadan bir universial konteyner. Təhlükəsizlikdən narahat olan istifadəçilər Flatpak vasitəsilə şübhəli proqramı konteynerdə icra edərək yalnız şəbəkə funksiyalarına və proqramla əlaqəli istifadəçi fayllarına giriş imkanı əldə edirlər. Yeniliklərlə maraqlanan istifadəçilər Flatpak vasitəsilə sistemə müdaxilə etmədən ən son test və sabit proqram versiyalarını quraşdıra bilərlər. Məsələn, hazırda Flatpak paketləri artıq LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio və s. üçün.
Paketin ölçüsünü azaltmaq üçün yalnız proqram spesifik asılılıqlarını ehtiva edir, sistemin və qrafik kitabxanaların (Gtk+, Qt, GNOME və KDE kitabxanaları və s.) əsaslı olaraq plug-in tipli runtime mühitləri kimi təqdim edilib. Flatpak ilə Snap arasındakı əsas fərq, Snap əsas sistem mühitinin komponentlərini və sistem çağırışlarının filtrasiya əsasında izolyasiyasını istifadə edərək çalışarkən, Flatpak sistemdən ayrılmış konteyner yaradır və geniş runtime dəstləri ilə işləyərək asılılıqları paketlər əvəzinə tipik sistem mühitləri kimi təqdim edir (məsələn, GNOME və ya KDE proqramlarının işləməsi üçün lazım olan bütün kitabxanalar).
Tipik sistem mühiti (runtime), xüsusi şəkildə əlavə asılılıqlarla (bundle) birgə təqdim edir, hansı ki, proqramın işləməsi üçün tələb olunur. Runtime və bundle birlikdə konteynerin doldurulmasını formalaşdırır, burada runtime ayrıca quraşdırılır və bir neçə konteynerə bağlı olur, bu da konteynerlər arasında ümumi sistem fayllarının təkrarlanmasını aradan qaldırmağa imkan verir. Eyni sistemdə bir neçə fərqli runtime (GNOME, KDE) və ya bir runtime-un bir neçə versiyası (GNOME 3.26, GNOME 3.28) quraşdırıla bilər. Proqramla asılılıq olan konteyner yalnız müəyyən bir runtime-a bağlıdır, runtime-u təşkil edən ayrı paketlər nəzərə alınmadan. Bütün çatışmayan elementlər birbaşa proqramla birlikdə paketlənir. Kəmiyyət konteyneri yaradarkən, runtime məzmunu /usr bölməsi kimi monte edilir, bundle isə /app kataloquna monte edilir.
Runtime və proqram konteynerlərinin doldurulması texnologiyası istifadə edilərək formalaşdırılır. , burada atomar görüntü Git-bənzər anbarından yenilənir, bu da paketlərin komponentlərinə versiya nəzarət metodlarını tətbiq etməyə imkan verir (məsələn, sistemi tez bir zamanda əvvəlki vəziyyətinə qaytarmaq mümkündür). RPM paketləri xüsusi bir qatı vasitəsilə OSTree anbarına çevrilir. . İş mühitində paketlərin ayrı-ayrılıqda quraşdırılması və yenilənməsi dəstəklənmir, sistem ayrı-ayrı komponentlər səviyyəsində deyil, tamamilə, atomar olaraq vəziyyətini dəyişərək yenilənir. Tam yeniləmə tələb etmədən yeniləmələrin inkremental tətbiqinə imkan verən vasitələr təqdim olunur.
Formalaşan izolyasiya olunmuş mühit tamamilə istifadə olunan distribusiyadan müstəqildir və uyğun paket tənzimləmələri olduqda istifadəçinin və ya əsas sistemin fayllarına və proseslərinə giriş imkanı yoxdur, birbaşa hardware ilə əlaqə qura bilmir, yalnız DRI vasitəsilə görüntü və şəbəkə alt sisteminə çıxış edə bilir. Qrafik çıxışı və daxil olma təşkilatı Wayland protokolu və ya X11 soketinin ötürülməsi vasitəsilə. Xarici mühitlə qarşılıqlı əlaqə DBus mesajlaşma sisteminə və xüsusi Portals API'ye əsaslanır. İzolyasiya təmin etmək üçün qat və Linux-da konteyner virtualizasiyası üçün klassik texnologiyalar, cgroups, ad məkanları (namespaces), Seccomp və SELinux istifadə edilməsinə əsaslanır. Səs çıxışı üçün PulseAudio istifadə olunur.
Mənbə: opennet.ru
