Π Π΅Π»ΠΈΠ· систСмы самодостаточных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Flatpak 1.6.0

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° новая ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ Π²Π΅Ρ‚ΠΊΠ° инструмСнтария Flatpak 1.6, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт систСму для сборки самодостаточных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π½Π΅ привязанных ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ дистрибутивам Linux ΠΈ выполняСмым Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ систСмы. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° выполнСния Flatpak-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² обСспСчСна для Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint ΠΈ Ubuntu. ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ с Flatpak Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Fedora ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ управлСния прилоТСниями GNOME.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° Π² Π²Π΅Ρ‚ΠΊΠ΅ Flatpak 1.6:

  • Π’ API Portal Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ 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 ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° Π΄ΠΎ выпуска 0.4.0;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ контроля Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libmalcontent, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Π²ΠΈΠ΄Π°ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°;
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ прилоТСния, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сразу послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π΅Π³ΠΎ установки;
  • ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ манипуляции с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² условиях нСдостатка свободного дискового пространства;
  • Для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «flatpak enter» большС Π½Π΅ трСбуСтся использованиС sudo;
  • Π’ ΠΏΠΎΡ€Ρ‚Π°Π»Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ (sub-sandbox) для Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… процСссов;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «flatpak permission-set» ΠΈ «permission-remove» для управлСния установкой ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «flatpak install —or-update», Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ установлСно;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «flatpak mask» для закрСплСния вСрсии ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚Π° установки ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ;
  • Для ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ OCI (Open Container Initiative) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° привязки ΠΌΠ΅Ρ‚ΠΎΠΊ, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠ±Ρ€Π°Π·Π΅ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ mime-Ρ‚ΠΈΠΏΠΎΠ² docker, ΠΏΠΎΠΌΠΈΠΌΠΎ mime-Ρ‚ΠΈΠΏΠΎΠ² OCI;
  • Π’ настройки Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠ»ΡŽΡ‡ default-languages для опрСдСлСния списка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… языков, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ систСмному списку.

Напомним, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Flatpak Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ распространСниС своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π΅ входящих Π² ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ дистрибутивов, Π·Π° счСт ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π±Π΅Π· формирования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сборок для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дистрибутива. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, заботящимся ΠΎ бСзопасности, Flatpak позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ сомнСниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, прСдоставив доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ сСтСвым функциям ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, связанным с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΌΡΡ Π½ΠΎΠ²ΠΈΠ½ΠΊΠ°ΠΌΠΈ, Flatpak позволяСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ самыС свСТиС тСстовыС ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ выпуски ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· нСобходимости внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² систСму. НапримСр, Π² настоящСС врСмя Flatpak-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΡƒΠΆΠ΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ для LibreOffice, Firefox, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio ΠΈ Ρ‚.Π΄.

Для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ лишь спСцифичныС для прилоТСния зависимости, Π° Π±Π°Π·ΠΎΠ²Ρ‹Π΅ систСмныС ΠΈ графичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Gtk+, Qt, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ GNOME ΠΈ KDE ΠΈ Ρ‚.ΠΏ.) ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… runtime-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Flatpak ΠΎΡ‚ Snap Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Snap ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ окруТСния основной систСмы ΠΈ ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ Π½Π° основС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Flatpak создаёт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚ систСмы ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ runtime-Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ, прСдоставляя Π² качСствС зависимостСй Π½Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π° Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ систСмныС окруТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ GNOME ΠΈΠ»ΠΈ KDE).

Помимо Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ систСмного окруТСния (runtime), устанавливаСмого Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости (bundle), Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. Π’ суммС runtime ΠΈ bundle ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π½Π°Ρ‡ΠΈΠ½ΠΊΡƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ runtime устанавливаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈ привязываСтся сразу ΠΊ нСскольким ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· дублирования ΠΎΠ±Ρ‰ΠΈΡ… для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² систСмных Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ ΠΎΠ΄Π½ΠΎΠΉ систСмС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСно нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… runtime (GNOME, KDE) ΠΈΠ»ΠΈ нСсколько вСрсий ΠΎΠ΄Π½ΠΎΠ³ΠΎ runtime (GNOME 3.26, GNOME 3.28). ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² качСствС зависимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ привязку Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ runtime, Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит runtime. ВсС Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ нСпосрСдствСнно вмСстС с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° содСрТимоС runtime монтируСтся ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π» /usr, Π° bundle монтируСтся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ /app.

Начинка runtime ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ формируСтся с использованиСм Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ OSTree, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±Ρ€Π°Π· Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ обновляСтся ΠΈΠ· Git-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ вСрсионного контроля ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ дистрибутива (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ систСму ΠΊ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ). RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ OSTree ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ прослойки rpm-ostree. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ установка ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ окруТСния Π½Π΅ поддСрТиваСтся, систСма обновляСтся Π½Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π° Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ мСняя своё состояниС. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ срСдства для ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ примСнСния ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, ΠΈΠ·Π±Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ нСобходимости ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΎΠ±Ρ€Π°Π·Π° ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.

Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ нСзависимо ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ дистрибутива, ΠΈ ΠΏΡ€ΠΈ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… настройках ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ процСссам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ основной систСмы, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· DRI, ΠΈ сСтСвой подсистСмС. Π’Ρ‹Π²ΠΎΠ΄ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ организация Π²Π²ΠΎΠ΄Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· проброс сокСта X11. ВзаимодСйствиС с внСшнСй срСдой построСно Π½Π° основС систСмы ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями DBus ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ API Portals. Для изоляции ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прослойка Bubblewrap ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ для Linux Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, основанныС Π½Π° использовании cgroups, пространств ΠΈΠΌΡ‘Π½ (namespaces), Seccomp ΠΈ SELinux. Для Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π²ΡƒΠΊΠ° примСняСтся PulseAudio.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ