Izdanje Flatpak 1.6.0 samostalnog paketnog sistema

Objavljeno nova grana stabilnog alata Flatpack 1.6, koji obezbeđuje sistem za pravljenje samostalnih paketa koji nisu vezani za specifične Linux distribucije i koji se pokreću u posebnom kontejneru koji izoluje aplikaciju od ostatka sistema. Podrška za pokretanje Flatpak paketa je obezbeđena za Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint i Ubuntu. Flatpak paketi su uključeni u Fedora spremište i održavaju se u izvornom GNOME Application Manager-u.

Ključ inovacije u grani Flatpak 1.6:

  • В API Portal Dodana je metoda CreateUpdateMonitor, koja omogućava aplikacijama da prate izgled ažuriranja i traže instalaciju ažurirane ispravke.
    Da odbijete dozvolu aplikaciji da samostalno instalira ažuriranja, možete koristiti naredbu “flatpak permission-set flatpak updates $APPID no” (ako navedete “ask” umjesto “no”, svaki put će se prikazati dijalog za potvrdu ažuriranje);


  • Da bi se pojednostavilo kreiranje rukovalaca, predlaže se biblioteka
    libportal, koji omogućava obradu događaja bez direktnog korištenja Portal API-ja i raščlanjivanja signala koji dolaze preko D-Bus-a.
    Libportal pruža jednostavne asinkrone slojeve za većinu "portali";

  • Dodata nova dozvola "--socket=cups" za direktan pristup CUPS serveru za štampanje;
  • Promijenjen protokol i API za rukovanje autentifikacijom. Dodan autentifikator za OCI (Open Container Initiative). Implementirana podrška za automatsku instalaciju autentifikatora iz vanjskog flatpak repozitorija. U FlatpakTransaction je dodat rukovatelj povratnim pozivima za korištenje provjere autentičnosti putem prijave i lozinke, slično HTTP osnovnom metodu provjere autentičnosti;
  • Dodata podrška za zaštićene aplikacije i sisteme koji zahtijevaju autentifikaciju pri pokretanju;
  • Sloj folije sa mjehurićima koji se koristi za izolaciju je ažuriran za oslobađanje 0.4.0;
  • Dodata opciona podrška za roditeljski nadzor preko aplikacije biblioteke libmalcontent, koji vam omogućava da ograničite pristup određenim vrstama sadržaja;
  • Ekstenzije su sada instalirane prije aplikacije, što vam omogućava da dobijete radnu aplikaciju odmah nakon što se njena instalacija završi;
  • Prerađene su manipulacije sa privremenim datotekama, što je poboljšalo performanse kada postoji nedostatak slobodnog prostora na disku;
  • Za izvršenje naredbe "flatpak enter"Više nije potrebno koristiti sudo;
  • Mogućnost pokretanja ugniježđenih izoliranih okruženja (sub-sandbox) za podređene procese dodana je portalima;
  • Dodane nove komande "flatpak permission-set" i "permission-remove" za kontrolu podešavanja dozvola;
  • Dodata opcija “flatpak install --or-update”, koja vrši ažuriranje ako je aplikacija već instalirana;
  • Dodata naredba “flatpak mask” da popravi verziju i zabrani instalaciju ažuriranja;
  • Za slike u OCI (Open Container Initiative) formatu, dodata je podrška za vezivanje etiketa, generisanje istorije promena na slici i omogućavanje tipova mime-a docker, pored OCI mime tipova;
  • Taster za podrazumevane jezike je dodat postavkama za definisanje liste jezika koji se koriste, pored sistemske liste.

Podsjetimo da Flatpak omogućava programerima aplikacija da pojednostave distribuciju svojih programa koji nisu uključeni u redovna distribucijska spremišta, zbog priprema jedan univerzalni kontejner bez kreiranja zasebnih sklopova za svaku distribuciju. Za korisnike koji su svjesni sigurnosti, Flatpak vam omogućava da pokrenete upitnu aplikaciju u kontejneru, pružajući pristup samo mrežnim funkcijama i korisničkim datotekama povezanim s aplikacijom. Za korisnike zainteresovane za nove proizvode, Flatpak omogućava instaliranje najnovijih testnih i stabilnih izdanja aplikacija bez potrebe za izmenama u sistemu. Na primjer, trenutno Flatpak paketi već postoje idu za LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, itd.

Da bi se smanjila veličina paketa, on uključuje samo zavisnosti specifične za aplikaciju, a osnovne sistemske i grafičke biblioteke (Gtk +, Qt, GNOME i KDE biblioteke, itd.) dizajnirane su kao tipična okruženja za izvršavanje koja se mogu priključiti. Ključna razlika između Flatpaka i Snapa je u tome što Snap koristi komponente glavnog sistemskog okruženja i izolaciju zasnovanu na filtriranju sistemskih poziva, dok Flatpak kreira kontejner odvojen od sistema i radi sa velikim setovima vremena izvršavanja, pružajući tipične pakete, a ne pakete kao zavisnosti .sistemska okruženja (na primjer, sve biblioteke potrebne za pokretanje GNOME ili KDE programa).

Pored tipičnog sistemskog okruženja (runtime), instaliranog preko posebnog spremište, isporučuju se dodatne zavisnosti (paket) potrebne da bi aplikacija radila. Sve u svemu, runtime i bundle čine punjenje kontejnera, dok je runtime instalirano odvojeno i vezano za nekoliko kontejnera odjednom, što omogućava izbjegavanje dupliciranja sistemskih datoteka zajedničkih za kontejnere. Jedan sistem može imati instalirano nekoliko različitih vremena izvođenja (GNOME, KDE) ili nekoliko verzija istog vremena izvršavanja (GNOME 3.26, GNOME 3.28). Kontejner sa aplikacijom kao zavisnošću koristi vezivanje samo za određeno vreme izvođenja, bez uzimanja u obzir pojedinačnih paketa koji čine vreme izvođenja. Sve stavke koje nedostaju se pakuju direktno uz aplikaciju. Kada se kontejner formira, sadržaj runtime-a se montira kao /usr particija, a bundle se montira u /app direktorijum.

Punjenje runtimea i kontejnera za aplikacije formirano je tehnologijom OSTree, u kojem se slika atomski ažurira iz spremišta sličnog Gitu, što vam omogućava da primijenite metode kontrole verzija na komponente distribucije (na primjer, možete brzo vratiti sistem u prethodno stanje). RPM paketi se prevode u OSTree repozitorij pomoću posebnog sloja rpm-ostree. Odvojena instalacija i ažuriranje paketa unutar radnog okruženja nije podržana, sistem se ažurira ne na nivou pojedinačnih komponenti, već u cjelini, atomski mijenjajući svoje stanje. Obezbeđeni su alati za postepenu primenu ažuriranja, eliminišući potrebu za potpunom zamenom slike sa svakim ažuriranjem.

Generirano izolovano okruženje je potpuno nezavisno od korišćene distribucije, i sa odgovarajućim postavkama paketa, nema pristup datotekama i procesima korisnika ili glavnog sistema, ne može direktno pristupiti opremi, izuzev izlaza preko DRI, i mrežni podsistem. Organizacija grafičkog izlaza i unosa implementirano koristeći Wayland protokol ili putem prosljeđivanja X11 utičnice. Interakcija sa eksternim okruženjem izgrađena je na osnovu DBus sistema za razmenu poruka i posebnog Portals API-ja. Za izolaciju polovan međusloj bubblewrap i tradicionalne Linux tehnologije virtuelizacije kontejnera zasnovane na korišćenju cgroups, imenskih prostora (namespaces), Seccomp i SELinux. PulseAudio se koristi za izlaz zvuka.

izvor: opennet.ru

Dodajte komentar