Utgivelse av systemet med selvforsynt pakker Flatpak 1.8.0

Publisert ny stabil gren av verktøysettet Flatpack 1.8, som gir et system for å bygge selvstendige pakker som ikke er knyttet til spesifikke Linux-distribusjoner og kjøres i en spesiell beholder som isolerer applikasjonen fra resten av systemet. Støtte for å kjøre Flatpak-pakker er gitt for Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint og Ubuntu. Flatpak-pakker er inkludert i Fedora-depotet og støttes av den opprinnelige GNOME-applikasjonsbehandleren.

Nøkkel innovasjoner i Flatpak 1.8-grenen:

  • Implementeringen av installasjon i P2P-modus er forenklet (lar deg organisere lasting av applikasjoner og kjøretidssett gjennom mellomnoder eller stasjoner for systemer uten nettverkstilkobling). Støtte for installasjon via mellomverter på det lokale nettverket er avviklet. Som standard er automatisk sidelasting av depoter på lokale USB-stasjoner deaktivert. For å aktivere mellomliggende lokale depoter, må du konfigurere depotet ved å lage en symbolsk lenke fra /var/lib/flatpak/sideload-repos eller
    /run/flatpak/sideload-repos. Endringen forenklet den interne implementeringen av P2P-modusen og økte effektiviteten.

  • Lagt til valgfri systemd enhet for automatisk å oppdage flere depoter på tilkoblede eksterne USB-stasjoner.
  • For applikasjoner som har tilgang til filsystemet, videresendes /lib-katalogen til vertsmiljøet til /run/host/lib.
  • Nye FS-tilgangstillatelser er lagt til - "host-etc" og "host-os", som gir tilgang til systemkatalogene /etc og /usr.
  • For å generere mer effektiv filparsing-kode, brukes GVariant fra ostreee variant-skjema-kompilator.
  • Konfigurer byggekrypten gir muligheten til å bygge uten
    libsystemd;

  • Aktivert montering av Journal-stikkontakter i skrivebeskyttet modus.
  • Lagt til støtte for eksport av kataloger til dokument-eksport.
  • Gir direkte tilgang til ALSA-lydenheter for apper som har tilgang til Pulseaudio.
  • I API FlatpakTransaction lagt til et "install-autentisering"-signal som kan brukes av klienter til å installere autentiseringsverktøyene som trengs for å fullføre en transaksjon.
  • Aktivert bruk av tidssoneinformasjon basert på /etc/localtime fra vertssystemet, noe som løste tidssonerelaterte problemer i noen applikasjoner.
  • Sluttet å installere env.d-filen fra gdm da systemd-generatorer er flinkere til denne oppgaven.
  • Create-usb-verktøyet har delvis commit-eksport aktivert som standard.
  • Sysusers.d-filen er levert for å opprette de nødvendige brukerne via systemd.
  • Alternativet "-[no-]follow-redirect" er lagt til kommandoene "flatpak remote-add" og "flatpak modify" for å deaktivere/aktivere omdirigering til et annet depot.
  • Inn i systemet
    portaler Lagt til Spawn API for å få den virkelige prosess-IDen (PID) til den kjørende applikasjonen.

  • Alle OCI (Open Container Initiative)-lagre har blitt konvertert til å bruke flatpak-oci-autenticator-autentiseringsverktøyet.
  • Lagt til "--commit="-alternativet til kommandoene "flatpak remote-info" og "flatpak update" for å angi en spesifikk versjon av OCI-lagrene.
  • Lagt til innledende støtte for delta-oppdateringer for OCI-depoter.
  • Lagt til kommandoen "flatpak upgrade", som er et alias for kommandoen "flatpak update".
  • Implementerte skript for fullføring av input for kommandoskallet for fisk.

La oss minne om at Flatpak gjør det mulig for applikasjonsutviklere å forenkle distribusjonen av sine programmer som ikke er inkludert i standard distribusjonslagre ved å forberedelse én universalbeholder uten å lage separate sammenstillinger for hver distribusjon. For sikkerhetsbevisste brukere lar Flatpak deg kjøre en tvilsom applikasjon i en container, og gir kun tilgang til nettverksfunksjonene og brukerfilene knyttet til applikasjonen. For brukere som er interessert i nye produkter, lar Flatpak deg installere de siste test- og stabile utgivelsene av applikasjoner uten å måtte gjøre endringer i systemet. For eksempel er det allerede nå Flatpak-pakker går for LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etc.

For å redusere pakkestørrelsen inkluderer den bare applikasjonsspesifikke avhengigheter, og de grunnleggende system- og grafikkbibliotekene (Gtk+, Qt, GNOME og KDE biblioteker, etc.) er utformet som plug-in standard kjøretidsmiljøer. Den viktigste forskjellen mellom Flatpak og Snap er at Snap bruker komponentene i hovedsystemmiljøet og isolasjon basert på filtrering av systemanrop, mens Flatpak oppretter en container separat fra systemet og opererer med store kjøretidssett, og gir ikke pakker som avhengigheter, men standard. sine systemmiljøer (for eksempel alle biblioteker som er nødvendige for driften av GNOME- eller KDE-programmer).

I tillegg til standard systemmiljø (runtime), installert gjennom en spesiell oppbevaringssted, tilleggsavhengigheter (pakke) som kreves for at applikasjonen skal fungere, leveres. Totalt sett utgjør runtime og bunt fyllingen av containeren, til tross for at runtime er installert separat og knyttet til flere containere samtidig, noe som lar deg unngå duplisering av systemfiler som er felles for containere. Ett system kan ha flere forskjellige kjøretider installert (GNOME, KDE) eller flere versjoner av samme kjøretid (GNOME 3.26, GNOME 3.28). En container med en applikasjon som avhengighet bruker en binding kun til en bestemt kjøretid, uten å ta hensyn til de individuelle pakkene som utgjør kjøretiden. Alle manglende elementer pakkes direkte med applikasjonen. Når en beholder dannes, monteres kjøretidsinnholdet som /usr-partisjonen, og bunten monteres i /app-katalogen.

Fyllingen av runtime- og applikasjonsbeholdere dannes ved hjelp av teknologi OSTree, der bildet er atomært oppdatert fra et Git-lignende depot, slik at versjonskontrollmetoder kan brukes på komponentene i distribusjonen (du kan for eksempel raskt rulle tilbake systemet til en tidligere tilstand). RPM-pakker blir oversatt til OSTree-depotet ved hjelp av et spesielt lag rpm-otree. Separat installasjon og oppdatering av pakker i arbeidsmiljøet støttes ikke; systemet oppdateres ikke på nivået av individuelle komponenter, men som en helhet, og endrer atomisk tilstand. Gir verktøy for å bruke oppdateringer trinnvis, og eliminerer behovet for å erstatte bildet fullstendig med hver oppdatering.

Det genererte isolerte miljøet er fullstendig uavhengig av distribusjonen som brukes, og har med riktige pakkeinnstillinger ikke tilgang til filer og prosesser til brukeren eller hovedsystemet, kan ikke få direkte tilgang til utstyret, med unntak av utdata via DRI, og nettverksundersystem. Grafikk output og input organisering implementert ved å bruke Wayland-protokollen eller via X11-socket-videresending. Interaksjon med det eksterne miljøet er basert på DBus meldingssystem og en spesiell Portals API. For isolasjon brukes mellomlag Bobleplast og tradisjonelle Linux-beholdervirtualiseringsteknologier basert på bruk av cgroups, namespaces, Secomp og SELinux. PulseAudio brukes til å sende ut lyd.

Kilde: opennet.ru

Legg til en kommentar