Izdanje sustava samodostatnih paketa Flatpak 1.6.0

Objavljeno nova stabilna grana alata Ravni paket 1.6, koji pruža sustav za izgradnju samostalnih paketa koji nisu vezani za određene distribucije Linuxa i rade u posebnom spremniku koji izolira aplikaciju od ostatka sustava. Podrška za pokretanje Flatpak paketa dostupna je za Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint i Ubuntu. Flatpak paketi uključeni su u Fedora repozitorij i podržani su od strane izvornog GNOME upravitelja aplikacija.

Ključ inovacije u podružnici Flatpak 1.6:

  • В API portal dodana je metoda CreateUpdateMonitor koja aplikacijama omogućuje praćenje pojavljivanja ažuriranja i zahtijevanje instalacije ažuriranog ažuriranja.
    Kako biste aplikaciji uskratili dopuštenje za neovisno instaliranje ažuriranja, možete upotrijebiti naredbu "flatpak permission-set flatpak updates $APPID no" (ako navedete "ask" umjesto "ne", svaki put će se prikazati dijaloški okvir za potvrdu Ažuriraj);


  • Kako bi se pojednostavilo stvaranje rukovatelja, predlaže se biblioteka
    libportal, koji omogućuje obradu događaja bez izravne upotrebe Portal API-ja i analiziranja signala koji dolaze kroz D-Bus.
    Libportal pruža jednostavne asinkrone slojeve za većinu "portali";

  • Dodano je novo dopuštenje "--socket=cups" za izravan pristup CUPS ispisnom poslužitelju;
  • Promijenjen je protokol i API za rukovanje autentifikacijom. Dodan autentifikator za OCI (Open Container Initiative). Implementirana podrška za automatsku instalaciju autentifikatora iz vanjskog flatpak repozitorija. Rukovatelj povratnim pozivom dodan je u FlatpakTransaction za korištenje autentifikacije prijave i lozinke, slično osnovnoj HTTP metodi provjere autentičnosti;
  • Dodana podrška za zaštićene aplikacije i sustave koji zahtijevaju provjeru autentičnosti pri pokretanju;
  • Sloj s mjehurićima koji se koristi za izolaciju ažuriran je za otpuštanje 0.4.0;
  • Dodana izborna podrška za roditeljski nadzor putem knjižnične aplikacije libmalcontent, koji vam omogućuje ograničavanje pristupa određenim vrstama sadržaja;
  • Proširenja se sada instaliraju prije aplikacije, što vam omogućuje da dobijete radnu aplikaciju odmah nakon dovršetka njezine instalacije;
  • Manipulacije s privremenim datotekama su prerađene, š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 su nove naredbe "flatpak permission-set" i "permission-remove" za kontrolu postavki dopuštenja;
  • Dodana opcija “flatpak install --or-update”, koja vrši ažuriranje ako je aplikacija već instalirana;
  • Dodana je naredba “flatpak mask” za popravak verzije i zabranu instaliranja ažuriranja;
  • Za slike u OCI (Open Container Initiative) formatu, dodana je podrška za obvezujuće oznake, generiranje povijesti promjena na slici i omogućavanje docker mime tipova, uz OCI mime tipove;
  • Ključ za zadane jezike dodan je postavkama za definiranje popisa korištenih jezika, uz popis sustava.

Podsjetimo, Flatpak omogućuje programerima aplikacija da pojednostave distribuciju svojih programa koji nisu uključeni u standardne distribucijske repozitorije tako što pripreme jedan univerzalni spremnik bez stvaranja zasebnih sklopova za svaku distribuciju. Za korisnike koji brinu o sigurnosti, Flatpak vam omogućuje pokretanje upitne aplikacije u spremniku, pružajući pristup samo mrežnim funkcijama i korisničkim datotekama povezanim s aplikacijom. Za korisnike zainteresirane za nove proizvode, Flatpak omogućuje instaliranje najnovijih testnih i stabilnih izdanja aplikacija bez potrebe za izmjenama sustava. Na primjer, trenutno već postoje Flatpak paketi idu za LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio itd.

Kako bi se smanjila veličina paketa, on uključuje samo ovisnosti specifične za aplikaciju, a osnovni sustav i grafičke biblioteke (Gtk+, Qt, GNOME i KDE biblioteke, itd.) dizajnirane su kao plug-in standardna runtime okruženja. Ključna razlika između Flatpaka i Snapa je u tome što Snap koristi komponente glavnog okruženja sustava i izolaciju na temelju filtriranja poziva sustava, dok Flatpak stvara spremnik odvojen od sustava i radi s velikim skupovima vremena izvođenja, ne pružajući pakete kao ovisnosti, već standardne okruženja sustava (na primjer, sve biblioteke potrebne za rad GNOME ili KDE programa).

Uz standardno okruženje sustava (runtime), instalirano putem posebnog spremište, isporučuju se dodatne ovisnosti (paket) potrebne za rad aplikacije. Ukupno, runtime i bundle čine punjenje spremnika, unatoč činjenici da je runtime instaliran odvojeno i povezan s nekoliko spremnika odjednom, što vam omogućuje da izbjegnete dupliciranje sistemskih datoteka zajedničkih spremnicima. Jedan sustav može imati nekoliko instaliranih različitih runtimea (GNOME, KDE) ili nekoliko verzija istog runtimea (GNOME 3.26, GNOME 3.28). Spremnik s aplikacijom kao ovisnošću koristi vezanje samo na određeno vrijeme izvođenja, ne uzimajući u obzir pojedinačne pakete koji čine vrijeme izvođenja. Svi elementi koji nedostaju pakirani su izravno s aplikacijom. Kada se formira spremnik, sadržaj vremena izvođenja se montira kao /usr particija, a paket se montira u /app direktorij.

Punjenje runtime i aplikacijskih spremnika formira se pomoću tehnologije OSTree, u kojem se slika atomski ažurira iz repozitorija sličnog Gitu, što vam omogućuje primjenu metoda kontrole verzija na komponente distribucije (na primjer, možete brzo vratiti sustav na 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žano, sustav se ažurira ne na razini pojedinačnih komponenti, već kao cjelina, atomski mijenjajući svoje stanje. Pruža alate za postupnu primjenu ažuriranja, eliminirajući potrebu za potpunom zamjenom slike sa svakim ažuriranjem.

Generirano izolirano okruženje potpuno je neovisno o korištenoj distribuciji i s pravilnim postavkama paketa nema pristup datotekama i procesima korisnika ili glavnog sustava, ne može izravno pristupiti opremi, s izuzetkom izlaza putem DRI-ja, i mrežni podsustav. Organizacija grafičkog izlaza i ulaza implementiran korištenjem Wayland protokola ili putem X11 socket prosljeđivanja. Interakcija s vanjskim okruženjem temelji se na DBus sustavu poruka i posebnom Portals API-ju. Za izolaciju polovan međusloj Folija s mjehurićima i tradicionalne tehnologije virtualizacije Linux spremnika temeljene na korištenju cgroups, namespaces, Seccomp i SELinux. PulseAudio se koristi za izlaz zvuka.

Izvor: opennet.ru

Dodajte komentar