Release av Flatpak 1.6.0 fristående paketsystem

Publicerad ny stabil gren av verktygslådan Flatpack 1.6, som tillhandahåller ett system för att bygga fristående paket som inte är bundna till specifika Linux-distributioner och körs i en speciell behållare som isolerar applikationen från resten av systemet. Stöd för att köra Flatpak-paket tillhandahålls för Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint och Ubuntu. Flatpak-paket ingår i Fedora-förvaret och stöds av den inbyggda GNOME-applikationshanteraren.

Nyckel innovationer i Flatpak 1.6-grenen:

  • В API-portal metoden CreateUpdateMonitor har lagts till, vilket gör att applikationer kan övervaka utseendet på uppdateringar och begära installation av den uppdaterade uppdateringen.
    För att neka tillstånd för en applikation att självständigt installera uppdateringar, kan du använda kommandot "flatpak permission-set flatpak updates $APPID no" (om du anger "fråga" istället för "nej", kommer en dialogruta att visas varje gång för att bekräfta uppdatering);


  • För att förenkla skapandet av hanterare föreslås ett bibliotek
    libportal, vilket gör det möjligt att bearbeta händelser utan att direkt använda Portal API och analysera signaler som kommer via D-Bus.
    Libportal tillhandahåller enkla asynkrona lager för de flesta "portaler";

  • Lade till ny behörighet "--socket=cups" för att ge direkt åtkomst till CUPS-skrivarservern;
  • Ändrade protokoll och API för hantering av autentisering. Lade till autentisering för OCI (Open Container Initiative). Implementerat stöd för automatisk installation av autentiseringsenheter från det externa flatpak-förrådet. En återuppringningshanterare har lagts till i FlatpakTransaction för att använda inloggnings- och lösenordsautentisering, liknande den grundläggande HTTP-autentiseringsmetoden;
  • Tillagt stöd för skyddade applikationer och system som kräver autentisering vid uppstart;
  • Bubbelplastskiktet som används för isolering har uppdaterats för att släppas 0.4.0;
  • Tillagt valfritt stöd för föräldrakontroll via biblioteksapplikation libmalcontent, som låter dig begränsa åtkomsten till vissa typer av innehåll;
  • Tillägg installeras nu före programmet, vilket gör att du kan få ett fungerande program direkt efter att installationen är klar;
  • Manipulationer med temporära filer har omarbetats, vilket har förbättrat prestandan när det saknas ledigt diskutrymme;
  • För att utföra kommandot "flatpak in"Krävs inte längre att använda sudo;
  • Möjligheten att starta kapslade isolerade miljöer (sub-sandbox) för underordnade processer har lagts till i portaler;
  • Lade till nya kommandon "flatpak permission-set" och "permission-remove" för att kontrollera behörighetsinställningarna;
  • Lade till alternativet "flatpak install --or-update", som utför en uppdatering om applikationen redan är installerad;
  • Lade till kommandot "flatpak mask" för att fixa versionen och förbjuda installationen av uppdateringar;
  • För bilder i formatet OCI (Open Container Initiative) har stöd lagts till för att binda etiketter, generera en historik över ändringar i bilden och aktivera docker-mime-typer, förutom OCI-mime-typer;
  • Standardspråknyckeln har lagts till i inställningarna för att definiera listan över använda språk, förutom systemlistan.

Låt oss påminna om att Flatpak gör det möjligt för applikationsutvecklare att förenkla distributionen av sina program som inte ingår i standarddistributionsförråden genom att förberedelser en universalbehållare utan att skapa separata sammansättningar för varje distribution. För säkerhetsmedvetna användare tillåter Flatpak dig att köra en tvivelaktig applikation i en behållare, vilket endast ger åtkomst till nätverksfunktionerna och användarfilerna som är associerade med applikationen. För användare som är intresserade av nya produkter låter Flatpak dig installera de senaste test- och stabila versionerna av applikationer utan att behöva göra ändringar i systemet. Till exempel, för närvarande är Flatpak-paket redan går för LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etc.

För att minska storleken på paketet innehåller det bara applikationsspecifika beroenden, och de grundläggande system- och grafikbiblioteken (Gtk+, Qt, GNOME och KDE bibliotek, etc.) är designade som plug-in standard körtidsmiljöer. Den viktigaste skillnaden mellan Flatpak och Snap är att Snap använder komponenterna i huvudsystemmiljön och isolering baserat på filtrering av systemanrop, medan Flatpak skapar en container separat från systemet och arbetar med stora runtime-uppsättningar, och tillhandahåller inte paket som beroenden, utan standard. ens systemmiljöer (till exempel alla bibliotek som behövs för driften av GNOME- eller KDE-program).

Förutom den vanliga systemmiljön (runtime), installeras genom en speciell förvaret, ytterligare beroenden (paket) som krävs för att applikationen ska fungera tillhandahålls. Totalt utgör runtime och bunt fyllningen av behållaren, trots att runtime är installerad separat och knuten till flera behållare samtidigt, vilket gör att du slipper duplicera systemfiler som är gemensamma för behållare. Ett system kan ha flera olika körtider installerade (GNOME, KDE) eller flera versioner av samma körtid (GNOME 3.26, GNOME 3.28). En behållare med en applikation som beroende använder en bindning endast till en specifik körtid, utan att ta hänsyn till de individuella paketen som utgör körtiden. Alla saknade element paketeras direkt med applikationen. När en behållare bildas monteras runtime-innehållet som /usr-partitionen och paketet monteras i /app-katalogen.

Fyllningen av runtime- och applikationsbehållare bildas med hjälp av teknik OSTree, där bilden uppdateras atomiskt från ett Git-liknande arkiv, vilket låter dig tillämpa versionskontrollmetoder på komponenterna i distributionen (du kan till exempel snabbt återställa systemet till ett tidigare tillstånd). RPM-paket översätts till OSTree-förvaret med hjälp av ett speciellt lager rpm-otree. Separat installation och uppdatering av paket inom arbetsmiljön stöds inte, systemet uppdateras inte på nivån för enskilda komponenter, utan som en helhet, och ändrar dess tillstånd atomärt. Tillhandahåller verktyg för att tillämpa uppdateringar stegvis, vilket eliminerar behovet av att helt ersätta bilden med varje uppdatering.

Den genererade isolerade miljön är helt oberoende av distributionen som används och har med korrekta paketinställningar inte tillgång till filer och processer för användaren eller huvudsystemet, kan inte direkt komma åt utrustningen, med undantag för utdata via DRI, och nätverksdelsystem. Grafikutdata och inmatningsorganisation genomförs med hjälp av Wayland-protokollet eller via X11-socket-vidarebefordran. Interaktion med den externa miljön är baserad på meddelandesystemet DBus och en speciell Portals API. För isolering används mellanskikt Bubbelplast och traditionell Linux-containervirtualiseringsteknik baserad på användningen av cgroups, namespaces, Seccomp och SELinux. PulseAudio används för att mata ut ljud.

Källa: opennet.ru

Lägg en kommentar