Utgivelse av systemet med selvforsynt pakker Flatpak 1.6.0

Publisert ny stabil gren av verktøysettet Flatpack 1.6, 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.6-grenen:

  • В API-portal CreateUpdateMonitor-metoden er lagt til, slik at applikasjoner kan overvåke utseendet til oppdateringer og be om installasjon av den oppdaterte oppdateringen.
    For å nekte tillatelse for en applikasjon til å installere oppdateringer uavhengig, kan du bruke kommandoen "flatpak permission-set flatpak updates $APPID no" (hvis du angir "spør" i stedet for "nei", vil en dialog vises hver gang for å bekrefte Oppdater);


  • For å forenkle opprettelsen av behandlere foreslås et bibliotek
    libportal, som gjør det mulig å behandle hendelser uten direkte å bruke Portal API og analysere signaler som kommer gjennom D-Bus.
    Libportal gir enkle asynkrone lag for de fleste "portaler";

  • Lagt til ny tillatelse "--socket=cups" for å gi direkte tilgang til CUPS-utskriftsserveren;
  • Endret protokoll og API for håndtering av autentisering. Lagt til autentisering for OCI (Open Container Initiative). Implementert støtte for automatisk installasjon av autentiseringer fra det eksterne flatpak-lageret. En tilbakeringingsbehandler er lagt til FlatpakTransaction for å bruke påloggings- og passordautentisering, lik den grunnleggende HTTP-autentiseringsmetoden;
  • Lagt til støtte for beskyttede applikasjoner og systemer som krever autentisering ved oppstart;
  • Bobleplastlaget som brukes til isolasjon har blitt oppdatert til utgivelse 0.4.0;
  • Lagt til valgfri støtte for foreldrekontroll via bibliotekapplikasjon libmalt innhold, som lar deg begrense tilgangen til visse typer innhold;
  • Utvidelser er nå installert før programmet, slik at du kan få et fungerende program umiddelbart etter at installasjonen er fullført;
  • Manipulasjoner med midlertidige filer har blitt omarbeidet, noe som har forbedret ytelsen når det er mangel på ledig diskplass;
  • For å utføre kommandoen "flatpak inn"Ikke lenger nødvendig å bruke sudo;
  • Muligheten til å lansere nestede isolerte miljøer (sub-sandbox) for underordnede prosesser er lagt til portaler;
  • Lagt til nye kommandoer "flatpak permission-set" og "permission-remove" for å kontrollere tillatelsesinnstillingen;
  • Lagt til alternativet "flatpak install --or-update", som utfører en oppdatering hvis applikasjonen allerede er installert;
  • Lagt til kommandoen "flatpak mask" for å fikse versjonen og forby installasjon av oppdateringer;
  • For bilder i OCI-formatet (Open Container Initiative) er det lagt til støtte for å binde etiketter, generere en historikk med endringer i bildet og aktivere docker-mime-typer, i tillegg til OCI-mime-typer;
  • Standard-språknøkkelen er lagt til innstillingene for å definere listen over språk som brukes, i tillegg til systemlisten.

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

For å redusere størrelsen på pakken 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, som lar deg bruke versjonskontrollmetoder til 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 helt 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