Liberazione di Flatpak 1.14.0 sistema di pacchettu autonomu

Un novu ramu stabile di u Toolkit Flatpak 1.14 hè statu publicatu, chì furnisce un sistema per custruisce pacchetti autonomi chì ùn sò micca ligati à distribuzioni Linux specifiche è eseguite in un containeru speciale chì isola l'applicazione da u restu di u sistema. U supportu per l'esecuzione di pacchetti Flatpak hè furnitu per Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux è Ubuntu. I pacchetti Flatpak sò inclusi in u repository Fedora è sò supportati da u gestore d'applicazioni nativu GNOME.

Innuvazioni chjave in a filiera Flatpak 1.14:

  • Hè pussibule di creà un repertoriu per i schedari in u statu (.local/state) è stabilisce a variabile di l'ambiente XDG_STATE_HOME chì punta à questu repertoriu.
  • Aghjunghjite cuntrolli cundiziunali di a forma "have-kernel-module-name" per determinà a presenza di moduli di kernel (un analogu universale di a verificazione have-intel-gpu pruposta prima, invece di quale l'espressione "have-kernel-module-i915 "Ora pò esse usatu).
  • U cumandimu "flatpak document-unexport —doc-id =..." hè statu implementatu.
  • L'esportazione di metadati Appstream per l'usu in l'ambiente principale hè furnita.
  • Aghjunghjite e regule di cumplimentu di u cumandimu flatpak per a cunchiglia di pesce
  • L'accessu à a rete à i servizii X11 è PulseAudio hè permessu (se i paràmetri appropritati sò aghjuntu).
  • U ramu principalu in u repository Git hè statu rinominatu da "maestru" à "principale", postu chì a parolla "maestru" hè stata recentemente cunsiderata puliticamenti sbagliata.
  • I script di lanciamentu sò avà riscritti se l'applicazione hè rinominata.
  • Aghjunghjite l'opzioni "--include-sdk" è "--include-debug" à u cumandimu d'installazione per installà i fugliali SDK è debuginfo.
  • Aghjunghje supportu per u paràmetru "DeploySideloadCollectionID" à i schedari flatpakref è flatpakrepo. Quandu hà stabilitu, l'ID di cullizzioni serà stabilitu quandu aghjunghje un repository remoto, è micca dopu a carica di metadata.
  • Permette a creazione di ambienti sandbox nidificati per i gestori in sessioni cù nomi separati MPRIS (Media Player Remote Interfacing Specification).
  • L'utilità di linea di cumanda avà furnisce infurmazioni nantu à l'usu di estensioni di runtime obsolete.
  • U cumandamentu di disinstallazione implementa una dumanda di cunferma prima di sguassà l'estensione di runtime o runtime chì sò sempre in usu.
  • Aghjunghje supportu per l'opzione "--socket = gpg-agent" à cumandamenti cum'è "flatpak run".
  • Una vulnerabilità hè stata riparata in libostree chì puderia permette à un utilizatore di sguassà i fugliali arbitrarii in u sistema per via di a manipulazione di u gestore flatpak-system-helper (inviendu una dumanda di eliminazione cù un nome di filiale furmatu apposta). U prublema si prisenta solu in versioni più vechje di Flatpak è libostree liberati prima di 2018 (< 0.10.2) è ùn affetta micca e versioni attuali.

Ricordemu chì Flatpak permette à i sviluppatori di l'applicazioni simplificà a distribuzione di i so prugrammi chì ùn sò micca inclusi in i repositori di distribuzione standard preparendu un containeru universale senza creà assemblei separati per ogni distribuzione. Per l'utilizatori cuscenti di a sicurità, Flatpak vi permette di eseguisce una applicazione discutibile in un containeru, furnisce accessu solu à e funzioni di a rete è i fugliali d'utilizatori assuciati cù l'applicazione. Per l'utilizatori interessati à i novi prudutti, Flatpak permette di installà l'ultime teste è e versioni stabili di l'applicazioni senza a necessità di fà cambiamenti à u sistema. Per esempiu, i pacchetti Flatpak sò custruiti per LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etc.

Per riduce a dimensione di u pacchettu, include solu dipendenze specifiche di l'applicazione, è u sistema di basa è e biblioteche grafiche (librerie GTK, Qt, GNOME è KDE, etc.) sò cuncepiti cum'è ambienti di runtime standard plug-in. A diferenza chjave trà Flatpak è Snap hè chì Snap usa i cumpunenti di l'ambienti di u sistema principale è l'isolamentu basatu nantu à e chjama di u sistema di filtrazione, mentre chì Flatpak crea un containeru separatu da u sistema è opera cù grandi setti di runtime, chì ùn furnisce micca pacchetti cum'è dipendenze, ma standard. l'ambienti di u sistema (per esempiu, tutte e librerie necessarie per u funziunamentu di i prugrammi GNOME o KDE).

In più di l'ambiente standard di u sistema (runtime), installatu attraversu un repository speciale, sò furnite dipendenze supplementari (bundle) necessarii per u funziunamentu di l'applicazione. In tuttu, runtime è bundle formanu u riempimentu di u cuntinuu, malgradu u fattu chì u runtime hè stallatu separatamente è ligatu à parechji cuntenituri à una volta, chì permette di evità di duplicà i schedarii di sistema cumuni à i cuntenituri. Un sistema pò avè installatu diversi runtimes (GNOME, KDE) o parechje versioni di u stessu runtime (GNOME 3.40, GNOME 3.42). Un cuntinuu cù una applicazione cum'è una dependenza usa una vinculazione solu à un runtime specificu, senza piglià in contu i pacchetti individuali chì custituiscenu u runtime. Tutti l'elementi mancanti sò imballati direttamente cù l'applicazione. Quandu un containeru hè furmatu, u cuntenutu di runtime hè muntatu cum'è a partizione /usr, è u bundle hè muntatu in u cartulare /app.

U runtime è i cuntenituri di l'applicazioni sò custruiti cù a tecnulugia OSTree, in quale l'imaghjina hè aghjurnata atomicamente da un repository Git-like, chì permette à i metudi di cuntrollu di versione per esse appiicati à i cumpunenti di distribuzione (per esempiu, pudete rinvià rapidamente u sistema à un statu precedente). I pacchetti RPM sò tradotti in u repository OSTree cù una capa speciale rpm-ostree. A stallazione separata è l'aghjurnamentu di i pacchetti in l'ambiente di travagliu ùn hè micca supportatu; u sistema hè aghjurnatu micca à u livellu di cumpunenti individuali, ma in tuttu, cambiendu atomicamente u so statu. Fornisce strumenti per applicà l'aghjurnamenti in modu incrementale, eliminendu a necessità di rimpiazzà cumplettamente l'imaghjini cù ogni aghjurnamentu.

L'ambiente isolatu generatu hè cumplettamente indipendente da a distribuzione utilizata è, cù i paràmetri di u pacchettu propiu, ùn hà micca accessu à i schedari è i prucessi di l'utilizatore o u sistema principale, è ùn pò micca accede direttamente à l'equipaggiu, eccettu l'output via DRI è chjama. à u subsistema di a reta. A pruduzzioni grafica è l'urganizazione di input sò implementate usendu u protocolu Wayland o via l'invio di socket X11. L'interazzione cù l'ambiente esternu hè basatu annantu à u sistema di messageria DBus è una API Portals speciale.

Per l'isulazione, a strata Bubblewrap è i tecnulugii tradiziunali di virtualizazione di u containeru Linux sò usati, basatu annantu à l'usu di cgroups, namespaces, Seccomp è SELinux. PulseAudio hè utilizatu per pruduce u sonu. In questu casu, l'isolamentu pò esse disattivatu, chì hè utilizatu da i sviluppatori di parechji pacchetti populari per acquistà un accessu sanu à u sistema di fugliale è tutti i dispositi in u sistema. Per esempiu, GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity è VLC venenu cun un modu di isolamentu limitatu chì lascia un accessu sanu à u cartulare di casa. Se i pacchetti cù accessu à u repertoriu di casa sò cumprumessi, malgradu a presenza di l'etichetta "sandboxed" in a descrizzione di u pacchettu, l'attaccante solu deve cambià u schedariu ~/.bashrc per eseguisce u so codice. Un prublema separatu hè u cuntrollu di i cambiamenti à i pacchetti è a fiducia in i constructori di pacchetti, chì spessu ùn sò micca assuciati cù u prughjettu principale o distribuzioni.

Source: opennet.ru

Add a comment