nuova versione stabile dell'ambiente di sviluppo , che fornisce un sistema per costruire pacchetti autonomi, non legati a specifiche distribuzioni Linux e eseguiti in un contenitore speciale che isola l'applicazione dal resto del sistema. Il supporto per l'esecuzione di pacchetti Flatpak Γ¨ garantito per Arch Linux, , Debian, Fedora, Gentoo, Mageia, Linux Mint e Ubuntu. I pacchetti Flatpak sono inclusi nel repository di Fedora e sono supportati dal gestore di applicazioni GNOME.
Chiave Π² Π²Π΅ΡΠΊΠ΅ Flatpak 1.6:
- In Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ CreateUpdateMonitor, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅Π³ΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΠ»Ρ Π·Π°ΠΏΡΠ΅ΡΠ° ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«flatpak permission-set flatpak updates $APPID noΒ» (Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Β«askΒ» Π²ΠΌΠ΅ΡΡΠΎ Β«noΒ», ΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ); - ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°
libportal, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π±Π΅Π· ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ API Portal ΠΈ ΡΠ°Π·Π±ΠΎΡΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π· D-Bus.
Libportal ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ««; - ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠ΅ Β«βsocket=cupsΒ» Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΠ΅ΡΠ°ΡΠΈ CUPS;
- ΠΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈ API Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄Π»Ρ OCI (Open Container Initiative). Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ flatpak. Π FlatpakTransaction Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ callback-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠ½Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ HTTP basic;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΈΡΡΠ΅ΠΌ, ΡΡΠ΅Π±ΡΡΡΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅;
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ° bubblewrap ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° Π΄ΠΎ Π²ΡΠΏΡΡΠΊΠ° ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ Π²ΠΈΠ΄Π°ΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°;
- Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π΄ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ;
- ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠ»ΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°;
- ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«Β» Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ sudo;
- Π ΠΏΠΎΡΡΠ°Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ (sub-sandbox) Π΄Π»Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«flatpak permission-setΒ» ΠΈ Β«permission-removeΒ» Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«flatpak install βor-updateΒ», Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«flatpak maskΒ» Π΄Π»Ρ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ ΠΈ Π·Π°ΠΏΡΠ΅ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ;
- ΠΠ»Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ OCI (Open Container Initiative) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΌΠ΅ΡΠΎΠΊ, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠ±ΡΠ°Π·Π΅ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ mime-ΡΠΈΠΏΠΎΠ² docker, ΠΏΠΎΠΌΠΈΠΌΠΎ mime-ΡΠΈΠΏΠΎΠ² OCI;
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠ»ΡΡ default-languages Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ·ΡΠΊΠΎΠ², Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ.
Ricordiamo che Flatpak offre agli sviluppatori la possibilitΓ di semplificare la distribuzione delle proprie applicazioni, che non fanno parte dei repository ufficiali delle distribuzioni, grazie a ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π±Π΅Π· ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, Π·Π°Π±ΠΎΡΡΡΠΈΠΌΡΡ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Flatpak ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π΅ ΡΠΎΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠΌΡΡ Π½ΠΎΠ²ΠΈΠ½ΠΊΠ°ΠΌΠΈ, Flatpak ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ²Π΅ΠΆΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ Π²ΡΠΏΡΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Flatpak-ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠΆΠ΅ per LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, ecc.
Per ridurre le dimensioni del pacchetto, include solo le dipendenze specifiche dell'applicazione, mentre le librerie di sistema e grafiche di base (Gtk+, Qt, librerie GNOME e KDE, ecc.) sono fornite sotto forma di runtime environments modulari. La principale differenza tra Flatpak e Snap Γ¨ che Snap utilizza componenti dell'ambiente di sistema principale e l'isolamento basato sulla filtrazione delle chiamate di sistema, mentre Flatpak crea un contenitore separato dal sistema e opera con grandi insiemi di runtime, fornendo come dipendenze non pacchetti, ma sistemi ambientali standard (ad esempio, tutte le librerie necessarie per eseguire i programmi GNOME o KDE).
Oltre all'ambiente di sistema standard (runtime), installato tramite un apposito , vengono forniti ulteriori dipendenze (bundle) necessarie per il corretto funzionamento dell'applicazione. In totale, il runtime e il bundle formano il contenuto del container, dato che il runtime viene installato separatamente e viene associato a diversi container, permettendo di evitare la duplicazione di file di sistema comuni per i container. In un sistema possono coesistere piΓΉ runtime diversi (GNOME, KDE) o versioni differenti dello stesso runtime (GNOME 3.26, GNOME 3.28). Un container con un'applicazione come dipendenza utilizza il binding solo a un determinato runtime, senza considerare i singoli pacchetti che compongono il runtime. Tutti gli elementi mancanti sono impacchettati direttamente insieme all'applicazione. Durante la creazione del container, il contenuto del runtime viene montato come la partizione /usr, mentre il bundle viene montato nella directory /app.
Il contenuto del runtime e dei container delle applicazioni Γ¨ creato utilizzando la tecnologia , ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΠ°Π· Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ· Git-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΎΡΠΊΠ°ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊ ΠΏΡΠΎΡΠ»ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ). 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 di singoli componenti, ma interamente, modificando atomica il proprio stato. Sono forniti strumenti per l'applicazione incrementale degli aggiornamenti, eliminando la necessitΓ di una sostituzione completa dell'immagine ad ogni aggiornamento.
Π€ΠΎΡΠΌΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, ΠΈ ΠΏΡΠΈ Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· DRI, ΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠ²ΠΎΠ΄ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π²Π²ΠΎΠ΄Π° attraverso il protocollo Wayland o tramite il forwarding del socket X11. L'interazione con l'ambiente esterno si basa sul sistema di messaggistica DBus e su un'API Portal dedicata. Per l'isolamento strato intermedio e tecnologie di virtualizzazione dei container tradizionali per Linux, che si basano sull'uso di cgroups, spazi dei nomi (namespaces), Seccomp e SELinux. Per l'uscita audio viene utilizzato PulseAudio.
Fonte: opennet.ru
