Uitgave van het systeem van zelfvoorzienende pakketten Flatpak 1.6.0

Geplaatst een nieuwe stabiele tak van de toolkit Flatpak 1.6, die een systeem biedt voor het bouwen van zelfstandige pakketten die niet aan specifieke Linux-distributies zijn gebonden en uitgevoerd worden in een speciale container, die de applicatie van de rest van het systeem isoleert. Ondersteuning voor het uitvoeren van Flatpak-pakketten is beschikbaar voor Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint en Ubuntu. Flatpak-pakketten zijn opgenomen in het Fedora-repository en worden ondersteund in de standaardapplicatiebeheerder van GNOME.

Belangrijkste vernieuwingen in de Flatpak 1.6-tak:

  • In API Portal is een methode CreateUpdateMonitor toegevoegd, waarmee applicaties updates kunnen volgen en de installatie van beschikbare updates kunnen aanvragen.
    Om de bevoegdheden van de applicatie voor zelf-installatie van updates te verbieden, kan de opdracht ‘flatpak permission-set flatpak updates $APPID no’ worden gebruikt (als ‘ask’ in plaats van ‘no’ wordt opgegeven, wordt elke keer een bevestigingsdialoog voor de update weergegeven);


  • Om het maken van handlers te vereenvoudigen, is er een bibliotheek
    libportal toegevoegd, die de verwerking van evenementen mogelijk maakt zonder direct gebruik van API Portal en het parseren van signalen die via D-Bus binnenkomen.
    Libportal biedt eenvoudige asynchroon werkende lagen voor de meeste ‘portals«;
  • Een nieuwe bevoegdheid ‘—socket=cups’ is toegevoegd voor directe toegang tot de CUPS-printserver;
  • Het protocol en de API voor authenticatieverwerking zijn gewijzigd. Een authenticator voor OCI (Open Container Initiative) is toegevoegd. Ondersteuning voor automatische installatie van authenticators uit een externe Flatpak-repository is geïmplementeerd. In FlatpakTransaction is een callback-handler toegevoegd voor het gebruik van authenticatie met gebruikersnaam en wachtwoord, vergelijkbaar met de methode voor HTTP-basisauthenticatie;
  • Ondersteuning voor beveiligde applicaties en systemen die authenticatie bij het opstarten vereisen, is toegevoegd;
  • De laag bubblewrap die voor isolatie wordt gebruikt, is bijgewerkt naar de release 0.4.0;
  • Optionele ondersteuning voor ouderlijke controle is toegevoegd door het gebruik van de bibliotheek libmalcontent, die toegang tot bepaalde soorten inhoud kan beperken;
  • Extensies worden nu vóór de applicatie geïnstalleerd, zodat een werkende applicatie onmiddellijk beschikbaar is na de installatie;
  • De manipulaties met tijdelijke bestanden zijn herzien, wat de werking bij gebrek aan vrije schijfruimte heeft verbeterd;
  • Voor het uitvoeren van de opdracht ‘flatpak enter» sudo is niet meer nodig;
  • In de portals is de mogelijkheid toegevoegd om geneste geïsoleerde omgevingen (sub-sandbox) voor dochterprocessen te starten;
  • Nieuwe opdrachten «flatpak permission-set» en «permission-remove» zijn toegevoegd voor het beheer van machtigingen;
  • De optie «flatpak install —or-update» is toegevoegd, die een update uitvoert als de applicatie al is geïnstalleerd;
  • De opdracht «flatpak mask» is toegevoegd om de versie vast te leggen en updates te verbieden;
  • Voor OCI-formaten (Open Container Initiative) is ondersteuning voor het binden van labels, genereren van wijzigingsgeschiedenis in de afbeelding en het opnemen van docker mime-types, naast OCI mime-types, toegevoegd;
  • De instelling heeft de sleutel default-languages toegevoegd om de lijst met gebruikte talen te bepalen, naast de systeemlijst.

Laten we niet vergeten dat Flatpak ontwikkelaars in staat stelt de distributie van hun programma's te vereenvoudigen, die niet in de standaard distributierepositories zijn opgenomen, door het voorbereiden van één universele container zonder aparte builds voor elke distributie te hoeven maken. Voor gebruikers die zich zorgen maken over veiligheid, laat Flatpak twijfelachtige applicaties uitvoeren in een container, met alleen toegang tot netwerksfuncties en bestanden van de gebruiker die met de applicatie zijn verbonden. Voor gebruikers die geïnteresseerd zijn in nieuwigheden, stelt Flatpak hen in staat om de nieuwste test- en stabiele versies van applicaties te installeren zonder dat wijzigingen in het systeem vereist zijn. Bijvoorbeeld, op dit moment worden Flatpak-pakketten al gebouwd voor LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, enz.

Om de bestandsgrootte van het pakket te verkleinen, bevat het alleen afhankelijkheden die specifiek zijn voor de applicatie, terwijl de basis systeem- en grafische bibliotheken (Gtk+, Qt, GNOME en KDE bibliotheken, enz.) worden gepresenteerd als aan te sluiten typische runtime-omgevingen. Het belangrijkste verschil tussen Flatpak en Snap is dat Snap gebruikmaakt van componenten van de basissysteemomgeving en isolatie op basis van filtering van systeemaanroepen, terwijl Flatpak een aparte container van het systeem creëert en werkt met grote runtime-sets, waarbij als afhankelijkheden niet pakketten, maar typische systeemomgevingen worden verstrekt (bijvoorbeeld alle bibliotheken die nodig zijn voor het draaien van GNOME- of KDE-programma's).

Naast de typische systeemomgeving (runtime), die via een speciale repository, worden aanvullende afhankelijkheden (bundle) geleverd die nodig zijn voor de werking van de applicatie. Samen vormen runtime en bundle de inhoud van de container, waarbij runtime apart wordt geïnstalleerd en aan meerdere containers kan worden gekoppeld, zodat duplicatie van gemeenschappelijke systeembestanden voor de containers wordt vermeden. Binnen één systeem kunnen verschillende runtime-versies (GNOME, KDE) of meerdere versies van één runtime (GNOME 3.26, GNOME 3.28) geïnstalleerd zijn. De container met de applicatie als afhankelijkheid gebruikt alleen de koppeling naar een specifieke runtime, zonder rekening te houden met de afzonderlijke pakketten waaruit runtime bestaat. Alle ontbrekende elementen worden direct samen met de applicatie verpakt. Bij de vorming van de container wordt de inhoud van runtime gemonteerd als onderdeel van /usr, terwijl de bundle in de map /app wordt gemonteerd.

De inhoud van runtime en applicatiecontainers wordt gevormd met behulp van technologie OSTree, waarbij het image atomair wordt bijgewerkt uit een Git-achtig repository dat versiebeheermethoden op distributiecomponenten mogelijk maakt (bijvoorbeeld kan het systeem snel naar een eerdere staat worden teruggezet). RPM-pakketten worden via een speciale laag naar de OSTree-repository getransleerd. rpm-ostree. Het apart installeren en bijwerken van pakketten binnen de werkomgeving wordt niet ondersteund; het systeem wordt niet op componentniveau bijgewerkt, maar geheel, atomair zijn status verandert. Er zijn middelen beschikbaar voor incrementele toepassing van updates, waardoor een volledige vervanging van het image bij elke update niet nodig is.

De gevormde geïsoleerde omgeving is volledig onafhankelijk van de gebruikte distributie en heeft, mits correct ingesteld, geen toegang tot bestanden en processen van de gebruiker of de hoofdorganisatie, en kan niet direct toegang krijgen tot hardware, behalve via uitvoer via DRI, en de netwerksubstructuur. Grafische uitvoer en invoerorganisatie zijn gerealiseerd met behulp van het Wayland-protocol of via doorsturen van de X11-socket. Interactie met de externe omgeving is gebaseerd op een DBus-berichtenuitwisselingssysteem en een speciale API Portals. Voor isolatie de DNS-server van CloudFlare wordt gebruikt, zal in Chrome slechts de methode van de DNS-verwerking worden bijgewerkt naar een equivalente service, zonder wisseling van de DNS-provider. Bijvoorbeeld, als een gebruiker in de systeeminstellingen de DNS 8.8.8.8 heeft opgegeven, zal in Chrome laag Bubblewrap en traditionele Linux-technologieën voor containervirtualisatie, gebaseerd op het gebruik van cgroups, namespaces, Seccomp en SELinux. Voor geluidsuitvoer wordt PulseAudio gebruikt.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster