Frigivelse af Flatpak 1.8.0 selvstændigt pakkesystem

Udgivet ny stabil gren af ​​værktøjskassen Flatpack 1.8, som giver et system til at bygge selvstændige pakker, der ikke er bundet til specifikke Linux-distributioner og kører i en speciel container, der isolerer applikationen fra resten af ​​systemet. Support til at køre Flatpak-pakker er givet til Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint og Ubuntu. Flatpak-pakker er inkluderet i Fedora-lageret og understøttes af den oprindelige GNOME-applikationsadministrator.

Nøgle innovationer i Flatpak 1.8-grenen:

  • Implementeringen af ​​installationen i P2P-tilstand er blevet forenklet (giver dig mulighed for at organisere indlæsningen af ​​applikationer og runtime-sæt gennem mellemliggende noder eller drev til systemer uden netværksforbindelse). Support til installation via mellemværter på det lokale netværk er afbrudt. Som standard er automatisk sideindlæsning af arkiver placeret på lokale USB-drev deaktiveret. For at aktivere mellemliggende lokale depoter skal du konfigurere depotet ved at oprette et symbolsk link fra /var/lib/flatpak/sideload-repos eller
    /run/flatpak/sideload-repos. Ændringen forenklede den interne implementering af P2P-tilstanden og øgede dens effektivitet.

  • Tilføjet valgfri systemd enhed til automatisk at detektere yderligere depoter på tilsluttede eksterne USB-drev.
  • For programmer, der har adgang til filsystemet, videresendes /lib-biblioteket i værtsmiljøet til /run/host/lib.
  • Nye FS-adgangstilladelser er blevet tilføjet - "host-etc" og "host-os", der giver adgang til /etc og /usr systemmapper.
  • For at generere mere effektiv filparsing-kode bruges GVariant fra ostreee variant-skema-compiler.
  • Konfigurer byggekrypten giver mulighed for at bygge uden
    libsystemd;

  • Aktiveret montering af Journal-stik i skrivebeskyttet tilstand.
  • Tilføjet støtte til eksport af mapper til dokument-eksport.
  • Tillader direkte adgang til ALSA-lydenheder for applikationer, der har adgang til Pulseaudio.
  • I API FlatpakTransaktion tilføjet et "install-autenticator"-signal, der kan bruges af klienter til at installere de autentificeringer, der er nødvendige for at gennemføre en transaktion.
  • Aktiveret brug af tidszoneoplysninger baseret på /etc/localtime fra værtssystemet, hvilket løste tidszonerelaterede problemer i nogle applikationer.
  • Stoppet med at installere env.d-filen fra gdm, da systemd-generatorer er bedre til denne opgave.
  • Opret-usb-værktøjet har delvis commit-eksport aktiveret som standard.
  • Sysusers.d filen er blevet leveret til at oprette de nødvendige brugere via systemd.
  • Muligheden "-[no-]follow-redirect" er blevet tilføjet til kommandoerne "flatpak remote-add" og "flatpak modify" for at deaktivere/aktivere omdirigering til et andet lager.
  • Til systemet
    portaler Tilføjet Spawn API for at få det rigtige proces-id (PID) for den kørende applikation.

  • Alle OCI (Open Container Initiative) repositories er blevet konverteret til at bruge flatpak-oci-authenticator authenticator.
  • Tilføjede "--commit="-indstillingen til kommandoerne "flatpak remote-info" og "flatpak update" for at indstille en specifik version af OCI-lagrene.
  • Tilføjet indledende understøttelse af delta-opdateringer til OCI-lagre.
  • Tilføjet kommandoen "flatpak upgrade", som er et alias for kommandoen "flatpak update".
  • Implementerede scripts til færdiggørelse af input til fiskekommandoskallen.

Lad os minde dig om, at Flatpak gør det muligt for applikationsudviklere at forenkle distributionen af ​​deres programmer, der ikke er inkluderet i standard distributionslagrene ved at forberedelse én universalbeholder uden at oprette separate samlinger for hver distribution. For sikkerhedsbevidste brugere giver Flatpak dig mulighed for at køre en tvivlsom applikation i en container, der kun giver adgang til netværksfunktioner og brugerfiler, der er knyttet til applikationen. For brugere, der er interesseret i nye produkter, giver Flatpak dig mulighed for at installere de seneste test- og stabile udgivelser af applikationer uden at skulle foretage ændringer i systemet. For eksempel er Flatpak-pakker allerede i øjeblikket går til LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio osv.

For at reducere pakkestørrelsen inkluderer den kun applikationsspecifikke afhængigheder, og de grundlæggende system- og grafikbiblioteker (Gtk+, Qt, GNOME og KDE biblioteker osv.) er designet som plug-in standard runtime miljøer. Den vigtigste forskel mellem Flatpak og Snap er, at Snap bruger komponenterne i hovedsystemmiljøet og isolation baseret på filtrering af systemkald, mens Flatpak opretter en container adskilt fra systemet og opererer med store runtime-sæt, der ikke leverer pakker som afhængigheder, men standard sine systemmiljøer (for eksempel alle biblioteker, der er nødvendige for driften af ​​GNOME- eller KDE-programmer).

Ud over standard systemmiljø (runtime), installeret gennem en speciel depot, yderligere afhængigheder (bundt), der kræves for, at applikationen fungerer, leveres. I alt udgør runtime og bundle fyldningen af ​​containeren, på trods af at runtime er installeret separat og bundet til flere containere på én gang, hvilket giver dig mulighed for at undgå duplikering af systemfiler, der er fælles for containere. Et system kan have flere forskellige kørselstider installeret (GNOME, KDE) eller flere versioner af samme kørselstid (GNOME 3.26, GNOME 3.28). En container med en applikation som afhængighed bruger kun en binding til en bestemt runtime, uden at tage højde for de individuelle pakker, der udgør runtime. Alle manglende elementer pakkes direkte sammen med applikationen. Når en container dannes, monteres runtime-indholdet som /usr-partitionen, og bundtet monteres i /app-mappen.

Fyldningen af ​​runtime og applikationsbeholdere dannes ved hjælp af teknologi OSTree, hvor billedet er atomært opdateret fra et Git-lignende lager, hvilket tillader versionskontrolmetoder at blive anvendt på komponenterne i distributionen (f.eks. kan du hurtigt rulle systemet tilbage til en tidligere tilstand). RPM-pakker oversættes til OSTree-lageret ved hjælp af et specielt lag rpm-otree. Separat installation og opdatering af pakker i arbejdsmiljøet er ikke understøttet; systemet opdateres ikke på niveau med individuelle komponenter, men som helhed, ændrer dets tilstand atomisk. Giver værktøjer til at anvende opdateringer trinvist, hvilket eliminerer behovet for helt at erstatte billedet med hver opdatering.

Det genererede isolerede miljø er fuldstændig uafhængigt af den anvendte distribution og har med korrekte pakkeindstillinger ikke adgang til filer og processer for brugeren eller hovedsystemet, kan ikke direkte få adgang til udstyret, med undtagelse af output via DRI, og netværksundersystem. Grafik output og input organisation implementeret ved hjælp af Wayland-protokollen eller via X11 socket forwarding. Interaktion med det eksterne miljø er baseret på DBus-meddelelsessystemet og en særlig Portals API. Til isolering brugt mellemlag Bobleplast og traditionelle Linux-containervirtualiseringsteknologier baseret på brugen af ​​cgroups, namespaces, Seccomp og SELinux. PulseAudio bruges til at udsende lyd.

Kilde: opennet.ru

Tilføj en kommentar