Rilascio del sistema di pacchetti autosufficienti Flatpak 1.8.0

pubblicato nuovo ramo stabile del toolkit Flatpack 1.8, che fornisce un sistema per creare pacchetti autonomi che non sono legati a distribuzioni Linux specifiche e vengono eseguiti in un contenitore speciale che isola l'applicazione dal resto del sistema. Il supporto per l'esecuzione dei pacchetti Flatpak è fornito per Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint e Ubuntu. I pacchetti Flatpak sono inclusi nel repository Fedora e sono supportati dal gestore applicazioni nativo di GNOME.

Chiave innovazioni nel ramo Flatpak 1.8:

  • È stata semplificata l'implementazione dell'installazione in modalità P2P (consente di organizzare il caricamento di applicazioni e set di runtime tramite nodi intermedi o unità per sistemi senza connessione di rete). Il supporto per l'installazione tramite host intermedi sulla rete locale è stato interrotto. Per impostazione predefinita, il sideload automatico dei repository situati sulle unità USB locali è disabilitato. Per abilitare i repository locali intermedi, è necessario configurare il repository creando un collegamento simbolico da /var/lib/flatpak/sideload-repos o
    /run/flatpak/sideload-repos. La modifica ha semplificato l’implementazione interna della modalità P2P e ne ha aumentato l’efficienza.

  • Aggiunta unità systemd opzionale per rilevare automaticamente ulteriori repository su unità USB esterne collegate.
  • Per le applicazioni che hanno accesso al file system, la directory /lib dell'ambiente host viene inoltrata a /run/host/lib.
  • Sono stati aggiunti nuovi permessi di accesso al FS: "host-etc" e "host-os", che consentono l'accesso alle directory di sistema /etc e /usr.
  • Per generare un codice di analisi dei file più efficiente, viene utilizzato GVariant di ostreee variant-schema-compilatore.
  • La crittografia build build offre la possibilità di creare senza
    libsystemd;

  • Abilitato il montaggio dei socket del journal in modalità di sola lettura.
  • Aggiunto il supporto per l'esportazione delle directory nell'esportazione di documenti.
  • Consente l'accesso diretto ai dispositivi audio ALSA per le applicazioni che hanno accesso a Pulseaudio.
  • Nell'API FlatpakTransazione aggiunto un segnale "install-authenticator" che può essere utilizzato dai client per installare gli autenticatori necessari per completare una transazione.
  • Abilitato l'uso delle informazioni sul fuso orario basate su /etc/localtime dal sistema host, che ha risolto i problemi relativi al fuso orario in alcune applicazioni.
  • Interrotta l'installazione del file env.d da gdm poiché i generatori systemd sono più bravi in ​​questo compito.
  • L'utilità create-usb ha l'esportazione del commit parziale abilitata per impostazione predefinita.
  • Il file sysusers.d è stato fornito per creare gli utenti necessari tramite systemd.
  • L'opzione "-[no-]follow-redirect" è stata aggiunta ai comandi "flatpak remote-add" e "flatpak modification" per disabilitare/abilitare il reindirizzamento a un altro repository.
  • Nel sistema
    portali Aggiunta l'API Spawn per ottenere l'ID processo reale (PID) dell'applicazione in esecuzione.

  • Tutti i repository OCI (Open Container Initiative) sono stati convertiti per utilizzare l'autenticatore flatpak-oci-authenticator.
  • Aggiunta l'opzione "--commit=" ai comandi "flatpak remote-info" e "flatpak update" per impostare una versione specifica dei repository OCI.
  • Aggiunto il supporto iniziale per gli aggiornamenti delta per i repository OCI.
  • Aggiunto il comando "flatpak upgrade", che è un alias per il comando "flatpak update".
  • Implementati script di completamento dell'input per la shell dei comandi fish.

Ricordiamo che Flatpak consente agli sviluppatori di applicazioni di semplificare la distribuzione dei loro programmi che non sono inclusi nei repository di distribuzione standard tramite formazione un contenitore universale senza creare gruppi separati per ogni distribuzione. Per gli utenti attenti alla sicurezza, Flatpak consente di eseguire un'applicazione discutibile in un contenitore, fornendo accesso solo alle funzioni di rete e ai file utente associati all'applicazione. Per gli utenti interessati ai nuovi prodotti, Flatpak consente di installare le ultime versioni test e stabili delle applicazioni senza la necessità di apportare modifiche al sistema. Ad esempio, attualmente i pacchetti Flatpak lo sono già lo faranno per LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, ecc.

Per ridurre le dimensioni del pacchetto, include solo dipendenze specifiche dell'applicazione e il sistema di base e le librerie grafiche (Gtk+, Qt, librerie GNOME e KDE, ecc.) sono progettate come ambienti runtime standard plug-in. La differenza fondamentale tra Flatpak e Snap è che Snap utilizza i componenti dell'ambiente di sistema principale e l'isolamento basato sul filtraggio delle chiamate di sistema, mentre Flatpak crea un contenitore separato dal sistema e opera con ampi set di runtime, fornendo non pacchetti come dipendenze, ma standard propri ambienti di sistema (ad esempio, tutte le librerie necessarie per il funzionamento dei programmi GNOME o KDE).

Oltre all'ambiente di sistema standard (runtime), installato tramite uno speciale deposito, vengono fornite le dipendenze aggiuntive (bundle) necessarie per il funzionamento dell'applicazione. In totale, runtime e bundle formano il riempimento del contenitore, nonostante il runtime sia installato separatamente e legato a più contenitori contemporaneamente, il che consente di evitare la duplicazione dei file di sistema comuni ai contenitori. Un sistema può avere diversi runtime installati (GNOME, KDE) o diverse versioni dello stesso runtime (GNOME 3.26, GNOME 3.28). Un contenitore con un'applicazione come dipendenza utilizza un'associazione solo a un runtime specifico, senza tenere conto dei singoli pacchetti che compongono il runtime. Tutti gli elementi mancanti vengono impacchettati direttamente con l'applicazione. Quando viene formato un contenitore, i contenuti di runtime vengono montati come partizione /usr e il bundle viene montato nella directory /app.

Il riempimento dei contenitori runtime e applicativi viene formato utilizzando la tecnologia OSTree, in cui l'immagine viene aggiornata atomicamente da un repository simile a Git, consentendo di applicare metodi di controllo della versione ai componenti della distribuzione (ad esempio, è possibile ripristinare rapidamente il sistema a uno stato precedente). I pacchetti RPM vengono tradotti nel repository OSTree utilizzando un livello speciale RPM-Ostree. L'installazione e l'aggiornamento separati dei pacchetti all'interno dell'ambiente di lavoro non sono supportati; il sistema viene aggiornato non a livello dei singoli componenti, ma nel suo insieme, modificando atomicamente il suo stato. Fornisce strumenti per applicare gli aggiornamenti in modo incrementale, eliminando la necessità di sostituire completamente l'immagine con ogni aggiornamento.

L'ambiente isolato generato è completamente indipendente dalla distribuzione utilizzata e, con opportune impostazioni del pacchetto, non ha accesso a file e processi dell'utente o del sistema principale, non può accedere direttamente alle apparecchiature, ad eccezione dell'output tramite DRI, e sottosistema di rete. Output grafico e organizzazione dell'input implementato utilizzando il protocollo Wayland o tramite socket forwarding X11. L'interazione con l'ambiente esterno si basa sul sistema di messaggistica DBus e su una speciale API Portali. Per l'isolamento usato interstrato pluriball e le tradizionali tecnologie di virtualizzazione dei contenitori Linux basate sull'uso di cgroup, namespace, Seccomp e SELinux. PulseAudio viene utilizzato per emettere il suono.

Fonte: opennet.ru

Aggiungi un commento