Lansarea sistemului de pachete autonome Flatpak 1.6.0

Publicat noua ramură stabilă a setului de instrumente Pachet plat 1.6, care oferă un sistem pentru construirea de pachete autonome care nu sunt legate de distribuții Linux specifice și rulează într-un container special care izolează aplicația de restul sistemului. Suport pentru rularea pachetelor Flatpak este oferit pentru Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint și Ubuntu. Pachetele Flatpak sunt incluse în depozitul Fedora și sunt acceptate de managerul de aplicații GNOME nativ.

Cheie inovații în ramura Flatpak 1.6:

  • В Portalul API a fost adăugată metoda CreateUpdateMonitor, permițând aplicațiilor să monitorizeze aspectul actualizărilor și să solicite instalarea actualizării actualizate.
    Pentru a refuza permisiunea unei aplicații de a instala în mod independent actualizări, puteți folosi comanda „flatpak permission-set flatpak updates $APPID no” (dacă specificați „ask” în loc de „nu”, va fi afișat de fiecare dată un dialog pentru a confirma Actualizați);


  • Pentru a simplifica crearea de handlere, se propune o bibliotecă
    libportal, care face posibilă procesarea evenimentelor fără a utiliza direct API-ul Portal și a analiza semnalele care vin prin D-Bus.
    Libportal oferă straturi asincrone simple pentru majoritatea "portaluri";

  • A fost adăugată o nouă permisiune „--socket=cups” pentru a oferi acces direct la serverul de imprimare CUPS;
  • S-au schimbat protocolul și API-ul pentru gestionarea autentificării. S-a adăugat un autentificator pentru OCI (Open Container Initiative). S-a implementat suport pentru instalarea automată a autentificatoarelor din depozitul extern flatpak. Un handler de apel invers a fost adăugat la FlatpakTransaction pentru a utiliza autentificarea de conectare și parolă, similar cu metoda de autentificare de bază HTTP;
  • S-a adăugat suport pentru aplicații și sisteme protejate care necesită autentificare la pornire;
  • Stratul de folie cu bule utilizat pentru izolație a fost actualizat pentru a se elibera 0.4.0;
  • S-a adăugat suport opțional pentru controlul parental prin aplicația de bibliotecă libmalcontent, care vă permite să restricționați accesul la anumite tipuri de conținut;
  • Extensiile sunt acum instalate înaintea aplicației, permițându-vă să obțineți o aplicație funcțională imediat după finalizarea instalării;
  • Manipulările cu fișiere temporare au fost reluate, ceea ce a îmbunătățit performanța atunci când există o lipsă de spațiu liber pe disc;
  • Pentru a executa comanda "flatpak intra„Nu mai este necesar să utilizați sudo;
  • Capacitatea de a lansa medii izolate imbricate (sub-sandbox) pentru procesele copil a fost adăugată portalurilor;
  • S-au adăugat comenzi noi „flatpak permission-set” și „permission-remove” pentru a controla setarea permisiunii;
  • A fost adăugată opțiunea „flatpak install --or-update”, care efectuează o actualizare dacă aplicația este deja instalată;
  • S-a adăugat comanda „flatpak mask” pentru a remedia versiunea și a interzice instalarea actualizărilor;
  • Pentru imaginile în format OCI (Open Container Initiative), a fost adăugat suport pentru legarea etichetelor, generând un istoric al modificărilor în imagine și activând tipurile docker mime, pe lângă tipurile mime OCI;
  • Tasta de limbi implicite a fost adăugată la setări pentru a defini lista de limbi utilizate, pe lângă lista de sistem.

Să vă reamintim că Flatpak face posibil ca dezvoltatorii de aplicații să simplifice distribuția programelor lor care nu sunt incluse în depozitele de distribuție standard prin pregătire un container universal fără a crea ansambluri separate pentru fiecare distribuție. Pentru utilizatorii conștienți de securitate, Flatpak vă permite să rulați o aplicație discutabilă într-un container, oferind acces numai la funcțiile de rețea și fișierele utilizator asociate cu aplicația. Pentru utilizatorii interesați de produse noi, Flatpak vă permite să instalați cele mai recente versiuni de testare și versiuni stabile ale aplicațiilor fără a fi nevoie să faceți modificări sistemului. De exemplu, în prezent pachetele Flatpak sunt deja merg pentru LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio etc.

Pentru a reduce dimensiunea pachetului, acesta include numai dependențe specifice aplicației, iar bibliotecile de bază de sistem și grafice (bibliotecile Gtk+, Qt, GNOME și KDE etc.) sunt proiectate ca medii de rulare standard de plug-in. Diferența cheie dintre Flatpak și Snap este că Snap utilizează componentele mediului de sistem principal și izolarea bazată pe filtrarea apelurilor de sistem, în timp ce Flatpak creează un container separat de sistem și funcționează cu seturi mari de rulare, oferind nu pachete ca dependențe, ci standard. mediile de sistem (de exemplu, toate bibliotecile necesare pentru funcționarea programelor GNOME sau KDE).

În plus față de mediul de sistem standard (runtime), instalat printr-un special repertoriu, sunt furnizate dependențe suplimentare (pachet) necesare pentru ca aplicația să funcționeze. În total, runtime și pachetul formează umplerea containerului, în ciuda faptului că runtime este instalat separat și legat de mai multe containere simultan, ceea ce vă permite să evitați duplicarea fișierelor de sistem comune containerelor. Un sistem poate avea instalate mai multe runtime diferite (GNOME, KDE) sau mai multe versiuni ale aceluiași runtime (GNOME 3.26, GNOME 3.28). Un container cu o aplicație ca dependență folosește o legătură doar cu un anumit timp de execuție, fără a lua în considerare pachetele individuale care alcătuiesc timpul de execuție. Toate elementele lipsă sunt ambalate direct cu aplicația. Când se formează un container, conținutul runtime este montat ca partiție /usr, iar pachetul este montat în directorul /app.

Umplerea containerelor de rulare și aplicații este formată folosind tehnologie OSTree, în care imaginea este actualizată atomic dintr-un depozit asemănător Git, permițând aplicarea metodelor de control al versiunilor componentelor distribuției (de exemplu, puteți derula rapid înapoi sistemul la o stare anterioară). Pachetele RPM sunt traduse în depozitul OSTree folosind un strat special rpm-ostree. Instalarea și actualizarea separată a pachetelor în mediul de lucru nu este acceptată; sistemul este actualizat nu la nivelul componentelor individuale, ci în ansamblu, schimbându-și atomic starea. Oferă instrumente pentru aplicarea progresivă a actualizărilor, eliminând nevoia de a înlocui complet imaginea cu fiecare actualizare.

Mediul izolat generat este complet independent de distribuția utilizată și, cu setări adecvate ale pachetului, nu are acces la fișierele și procesele utilizatorului sau sistemul principal, nu poate accesa direct echipamentul, cu excepția ieșirii prin DRI și subsistem de rețea. Ieșirea grafică și organizarea intrărilor implementate folosind protocolul Wayland sau prin redirecționarea socket-ului X11. Interacțiunea cu mediul extern se bazează pe sistemul de mesagerie DBus și pe un portal API special. Pentru izolare utilizat strat intermediar Folie cu bule și tehnologii tradiționale de virtualizare a containerelor Linux bazate pe utilizarea cgroups, namespaces, Seccomp și SELinux. PulseAudio este folosit pentru a scoate sunet.

Sursa: opennet.ru

Adauga un comentariu