Release van Flatpak 1.8.0 op zichzelf staand pakketsysteem

gepubliceerd nieuwe stabiele tak van de toolkit Flatpack 1.8, 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.8-tak:

  • De implementatie van de installatie in de P2P-modus is vereenvoudigd (hiermee kunt u het laden van applicaties en runtimesets organiseren via tussenliggende knooppunten of schijven voor systemen zonder netwerkverbinding). Ondersteuning voor installatie via tussenliggende hosts op het lokale netwerk is stopgezet. Standaard is het automatisch sideloaden van opslagplaatsen op lokale USB-stations uitgeschakeld. Om tussenliggende lokale repository's in te schakelen, moet u de repository configureren door een symbolische link te maken vanuit /var/lib/flatpak/sideload-repos of
    /run/flatpak/sideload-repos. De verandering vereenvoudigde de interne implementatie van de P2P-modus en verhoogde de efficiëntie ervan.

  • Optionele systeemeenheid toegevoegd om automatisch extra opslagplaatsen op aangesloten externe USB-schijven te detecteren.
  • Voor toepassingen die toegang hebben tot het bestandssysteem wordt de map /lib van de hostomgeving doorgestuurd naar /run/host/lib.
  • Nieuwe FS-toegangsrechten zijn toegevoegd - “host-etc” en “host-os”, waardoor toegang tot de /etc en /usr systeemmappen mogelijk is.
  • Om efficiëntere code voor het parseren van bestanden te genereren, wordt GVariant van otreee gebruikt variant-schema-compiler.
  • De configure build-crypt biedt de mogelijkheid om zonder te bouwen
    libsystemd;

  • Montage van journaalsockets in alleen-lezen-modus ingeschakeld.
  • Ondersteuning toegevoegd voor het exporteren van mappen naar document-export.
  • Biedt directe toegang tot ALSA-audioapparaten voor applicaties die toegang hebben tot Pulseaudio.
  • In API FlatpakTransactie heeft een "install-authenticator"-signaal toegevoegd dat door clients kan worden gebruikt om de authenticators te installeren die nodig zijn om een ​​transactie te voltooien.
  • Het gebruik van tijdzone-informatie op basis van /etc/localtime van het hostsysteem is mogelijk gemaakt, waardoor tijdzone-gerelateerde problemen in sommige toepassingen zijn opgelost.
  • Gestopt met het installeren van het env.d-bestand van gdm omdat systemd-generatoren beter zijn in deze taak.
  • Bij het create-usb-hulpprogramma is gedeeltelijke commit-export standaard ingeschakeld.
  • Het bestand sysusers.d is meegeleverd om via systemd de benodigde gebruikers aan te maken.
  • De optie “-[no-]follow-redirect” is toegevoegd aan de opdrachten “flatpak remote-add” en “flatpak wijzigingen” om omleiding naar een andere repository in/uit te schakelen.
  • Naar het systeem
    portalen Spawn API toegevoegd om de echte proces-ID (PID) van de actieve applicatie te verkrijgen.

  • Alle OCI-opslagplaatsen (Open Container Initiative) zijn geconverteerd om de flatpak-oci-authenticator-authenticator te gebruiken.
  • De optie “--commit=” toegevoegd aan de opdrachten “flatpak remote-info” en “flatpak update” om een ​​specifieke versie van de OCI-repository's in te stellen.
  • Initiële ondersteuning toegevoegd voor delta-updates voor OCI-opslagplaatsen.
  • De opdracht "flatpak upgrade" toegevoegd, wat een alias is voor de opdracht "flatpak update".
  • Implementatie van scripts voor het voltooien van invoer voor de fish command shell.

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, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, enz.

Om de pakketgrootte te verkleinen, bevat het alleen applicatiespecifieke afhankelijkheden, en zijn de basissysteem- en grafische bibliotheken (Gtk+, Qt, GNOME en KDE-bibliotheken, enz.) 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, waardoor versiebeheermethoden kunnen worden toegepast op de componenten van de distributie (u 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 bij 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