Release van Flatpak 1.6.0 op zichzelf staand pakketsysteem

gepubliceerd nieuwe stabiele tak van de toolkit Flatpack 1.6, dat een systeem biedt voor het bouwen van op zichzelf staande pakketten die niet gebonden zijn aan specifieke Linux-distributies en draaien in een speciale container die de applicatie isoleert van de rest van het systeem. Er wordt ondersteuning geboden voor het uitvoeren van Flatpak-pakketten voor Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint en Ubuntu. Flatpak-pakketten zijn opgenomen in de Fedora-repository en worden ondersteund door de native GNOME-applicatiebeheerder.

Toets innovaties in de Flatpak 1.6-tak:

  • В API-portaal de CreateUpdateMonitor-methode is toegevoegd, waardoor toepassingen de verschijning van updates kunnen controleren en de installatie van de bijgewerkte update kunnen aanvragen.
    Om toestemming voor een applicatie te weigeren om updates zelfstandig te installeren, kunt u het commando “flatpak permissie-set flatpak updates $APPID no” gebruiken (als u “ask” opgeeft in plaats van “no”, wordt er elke keer een dialoogvenster weergegeven om de update);


  • Om het aanmaken van handlers te vereenvoudigen, wordt een bibliotheek voorgesteld
    libportal, dat het mogelijk maakt om gebeurtenissen te verwerken zonder rechtstreeks gebruik te maken van de Portal API en het parseren van signalen die via D-Bus binnenkomen.
    Libportal biedt eenvoudige, asynchroon lopende lagen voor de meeste "portalen

  • Nieuwe toestemming "--socket=cups" toegevoegd om directe toegang tot de CUPS-printserver te bieden;
  • Het protocol en de API voor het afhandelen van authenticatie zijn gewijzigd. Authenticator toegevoegd voor OCI (Open Container Initiative). Ondersteuning geïmplementeerd voor automatische installatie van authenticators vanuit de externe flatpak-repository. Er is een callback-handler aan FlatpakTransaction toegevoegd om login- en wachtwoordauthenticatie te gebruiken, vergelijkbaar met de HTTP-basisauthenticatiemethode;
  • Ondersteuning toegevoegd voor beveiligde applicaties en systemen die authenticatie vereisen bij het opstarten;
  • De noppenfolielaag die voor isolatie wordt gebruikt, is bijgewerkt om vrij te geven 0.4.0;
  • Optionele ondersteuning toegevoegd voor ouderlijk toezicht via bibliotheekapplicatie libmalinhoud, waarmee u de toegang tot bepaalde soorten inhoud kunt beperken;
  • Extensies worden nu vóór de applicatie geïnstalleerd, zodat u direct over een werkende applicatie kunt beschikken nadat de installatie is voltooid;
  • Manipulaties met tijdelijke bestanden zijn herwerkt, wat de prestaties heeft verbeterd bij gebrek aan vrije schijfruimte;
  • Om het commando uit te voeren "flatpak binnenkomen"Niet langer vereist om sudo te gebruiken;
  • De mogelijkheid om geneste geïsoleerde omgevingen (sub-sandbox) voor onderliggende processen te starten is aan portals toegevoegd;
  • Nieuwe commando's "flatpak permission-set" en "permission-remove" toegevoegd om de permissie-instelling te controleren;
  • Optie “flatpak install --or-update” toegevoegd, die een update uitvoert als de applicatie al is geïnstalleerd;
  • Het commando “flatpak mask” toegevoegd om de versie te repareren en de installatie van updates te verbieden;
  • Voor afbeeldingen in het OCI-formaat (Open Container Initiative) is ondersteuning toegevoegd voor het binden van labels, het genereren van een geschiedenis van wijzigingen in de afbeelding en het inschakelen van docker-mime-typen, naast OCI-mime-typen;
  • De standaardtalensleutel is aan de instellingen toegevoegd om naast de systeemlijst ook de lijst met gebruikte talen te definiëren.

Laten we u eraan herinneren dat Flatpak het voor applicatieontwikkelaars mogelijk maakt om de distributie van hun programma's die niet zijn opgenomen in de standaard distributierepository's te vereenvoudigen door opleiding één universele container zonder voor elke distributie aparte samenstellingen te creëren. Voor veiligheidsbewuste gebruikers kunt u met Flatpak een twijfelachtige applicatie in een container uitvoeren, waarbij u alleen toegang krijgt tot de netwerkfuncties en gebruikersbestanden die aan de applicatie zijn gekoppeld. Voor gebruikers die geïnteresseerd zijn in nieuwe producten, kunt u met Flatpak de nieuwste test- en stabiele releases van applicaties installeren zonder dat u wijzigingen aan het systeem hoeft aan te brengen. Momenteel zijn er bijvoorbeeld al Flatpak-pakketten gaan voor LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, enz.

Om de omvang van het pakket te verkleinen, bevat het alleen applicatiespecifieke afhankelijkheden, en zijn de basissysteem- en grafische bibliotheken (Gtk+, Qt, GNOME en KDE-bibliotheken, etc.) ontworpen als plug-in standaard runtime-omgevingen. Het belangrijkste verschil tussen Flatpak en Snap is dat Snap de componenten van de hoofdsysteemomgeving en isolatie gebruikt op basis van het filteren van systeemaanroepen, terwijl Flatpak een container creëert die gescheiden is van het systeem en werkt met grote runtimesets, waarbij pakketten niet als afhankelijkheden worden aangeboden, maar standaard de systeemomgevingen (bijvoorbeeld alle bibliotheken die nodig zijn voor de werking van GNOME- of KDE-programma's).

Naast de standaard systeemomgeving (runtime), geïnstalleerd via een special opslagplaats, worden aanvullende afhankelijkheden (bundel) geleverd die nodig zijn om de applicatie te laten werken. In totaal vormen runtime en bundel de vulling van de container, ondanks het feit dat runtime afzonderlijk wordt geïnstalleerd en aan meerdere containers tegelijk is gekoppeld, waardoor u het dupliceren van systeembestanden kunt voorkomen die gebruikelijk zijn bij containers. Op één systeem kunnen meerdere verschillende runtimes geïnstalleerd zijn (GNOME, KDE) of meerdere versies van dezelfde runtime (GNOME 3.26, GNOME 3.28). Een container met een applicatie als afhankelijkheid gebruikt alleen een binding aan een specifieke runtime, zonder rekening te houden met de individuele pakketten waaruit de runtime bestaat. Alle ontbrekende elementen worden direct bij de applicatie verpakt. Wanneer een container wordt gevormd, wordt de runtime-inhoud aangekoppeld als de /usr-partitie, en wordt de bundel aangekoppeld in de map /app.

Het vullen van runtime- en applicatiecontainers gebeurt met behulp van technologie OSTree, waarin de afbeelding atomair wordt bijgewerkt vanuit een Git-achtige repository, waarmee je versiebeheermethoden kunt toepassen op de componenten van de distributie (je kunt het systeem bijvoorbeeld snel terugdraaien naar een vorige staat). RPM-pakketten worden met behulp van een speciale laag naar de OSTree-repository vertaald rpm-ostree. Afzonderlijke installatie en update van pakketten binnen de werkomgeving wordt niet ondersteund; het systeem wordt niet bijgewerkt op het niveau van individuele componenten, maar als geheel, waardoor de staat ervan atomair verandert. Biedt tools om updates stapsgewijs toe te passen, waardoor het niet meer nodig is om de image bij elke update volledig te vervangen.

De gegenereerde geïsoleerde omgeving is volledig onafhankelijk van de gebruikte distributie en heeft met de juiste pakketinstellingen geen toegang tot bestanden en processen van de gebruiker of het hoofdsysteem, heeft geen directe toegang tot de apparatuur, met uitzondering van uitvoer via DRI, en de netwerk subsysteem. Grafische uitvoer en invoerorganisatie geïmplementeerd met behulp van het Wayland-protocol of via X11 socket forwarding. Interactie met de externe omgeving is gebaseerd op het DBus-berichtensysteem en een speciale Portals API. Voor isolatie gebruikt tussenlaag noppenfolie en traditionele Linux-containervirtualisatietechnologieën gebaseerd op het gebruik van cgroups, naamruimten, Seccomp en SELinux. PulseAudio wordt gebruikt om geluid uit te voeren.

Bron: opennet.ru

Voeg een reactie