10.11.2017      1701      0
 

В Linux Mint появится возможность установки ПО из Flatpak


В недавней заметке о Linux Mint 18.3, я упомянул о появлении в скором времени возможности устанавливать программное обеспечение при помощи Flatpak.  Возможно, вы уже слышали о Flatpak, AppImage или Snap. Все эти три инструмента являются решением одной общей проблемы. Давайте, для начала, кратко разберемся с сутью проблемы, которая возникла в Linux дистрибутивах на данный момент.

В чем заключается проблема Linux Mint

Linux Mint — это операционная система, основанная на базе пакетов, которая не изменяется и поддерживается в течение пяти лет. Это база взята у Ubuntu LTS, она представляет собой список нескольких тысяч пакетов, поддерживаемых Debian дистрибутивами. Результат очень стабилен и очень безопасен. Вы получаете все свое программное обеспечение из этой базы, кроме исправлений безопасности. Все отлично, но есть одно «НО». У вас нет доступа к новым версиям программных продуктов, и поэтому вы можете запускать только те версии, которые находятся в этой базе. Иногда эти версии могут быть на 1, 2 или даже на 5 лет старше того, что доступно в других репозиториях или операционных системах.

В некоторых случаях вы можете зайти на официальный сайт приложения и просто скачать обновленный deb-пакет, для его последующей установки в систему вручную. Например, можно загрузить Virtualbox 5.2.0 непосредственно с сайта virtualbox.org.

Пример №1

Иногда ситуация усложняется. Новые версии ПО, которые вы захотите установить, могут поставляться с новыми зависимостями. Т.е. они зависят от пакетов, которых нет в Linux Mint. Если такое случится, установка свежескачанного deb-пакета не сработает (система выдаст сообщение о том что «зависимости не удовлетворены»). Для того чтобы разрешить эту проблему используются PPA (Personal Pack Archives) репозитории, которые в основном являются сторонними базами пакетов. Эти репозитории содержат как программное обеспечение, которое вы хотите запустить, так и зависимости, которые будут необходимы для правильной установки. Причем, PPA должен быть совместим с текущей пакетной базой ОС (в Linux Mint 18.x, эта база пакетов — Ubuntu Xenial 16.04, поэтому вы можете заметить, что PPA помечены как поддерживающие «xenial»).

Пример №2

В некоторых случаях есть возможность попасть в тупик. Бывает что зависимости, которые требуется новому ПО, не только отсутствуют в Linux Mint, но к тому же они несовместимы с ним: или конфликтуют, или нарушают другие зависимости. Например, если новая версия приложения, которую вы хотите установить, зависит от GTK 3.20, вы не сможете установить её через PPA. Причина кроется в том что GTK 3.20 не может быть установлена вместе с GTK 3.18. Обновление же самой GTK в системе может «сломать» много вещей, которые уже установлены.

Решение проблемы

Идея состоит в том, чтобы запустить приложение изолированно — в его собственной маленькой среде, отдельно от остальной ОС. Это немного похоже на то, что сделано в Windows. Там вы загружаете приложения объёмом не  5 или 10 МБ, как в Linux, а 500 МБ или около того. Они содержат свои собственные зависимости, и на самом деле для них не имеет значения, что установлено в вашей системе (примечание для опытных пользователей: я немного утрирую в этом моменте).

Читайте также:  Релиз бета-версии Linux Mint 18.2 "Соня"

Поэтому идея заключается в том, что программа, которую вы устанавливаете, использует свою собственную версию GTK и свои собственные зависимости. Linux Mint продолжает использовать GTK 3.18 и работать при этом очень хорошо, а новое приложение, которое вы устанавливаете, использует GTK 3.20, не влияя на остальную часть ОС.

Всё это позволяет вам устанавливать новые версии ПО, которые недоступны в Linux Mint, не беспокоясь о зависимостях или несовместимости. Данная идея наряду с другими преимуществами (в частности, с точки зрения безопасности) была реализована несколькими проектами в последнее время. В качестве игровой платформы стоит упомянуть Steam. С программной стороны вы, вероятно, слышали об AppImage и XDG-APP, Flatpak (бывший XDG-APP) и Snap.

Почему именно Flatpak

Его дизайн выглядит очень многообещающим, и реализация уже очень стабильна. Есть надежда, что проект наберет больше сил, и тогда будет добавлена полная поддержка в Linux Mint 18.3.

Flatpak значительно упрощает установку приложений, которые не входят в пакетную базу с долгосрочной поддержкой (LTS). Это делает его простым в использовании также и для разработчиков, которые желают распространять свое ПО для пользователей Linux. Отпадает необходимость заботиться о поддержке множества дистрибутивов и программных зависимостей.

Как будет реализован Flatpak в Linux Mint 18.3

Linux Mint 18.3 будет работать вместе с Flatpak, установленным и настроенным по умолчанию. Flatpak будет иметь два репозитория, которые называются «remotes» («пульты»): Flathub и gnome-apps.

Новый раздел будет добавлен в Software Manager специально для Flatpaks.

Хотя репозитории Flathub и gnome-app настроены по умолчанию, вы можете изменить список источников. Если вы добавите новые, то они появятся в Software Manager.

Пакеты абсолютно разные, но в Software Manager они представлены одинаково, это обычные приложения, которые вы можете установить.

После установки программы из Flatpak она будет работать в собственной среде. Ниже представлены ​​игры из GNOME 3.26, работающие на собственном GTK 3.26 внутри Linux Mint.

По сравнению с пакетами есть несколько тонких различий:

  • Приложения Flatpak используют тему Adwaita GTK (в конечном итоге они будут использовать Mint-X / Mint-Y, но пока эта возможность не реализована в 18.3)
  • Приложения Flatpak обновляются автоматически при входе в систему
  • Приложения Flatpak не отображаются в «Установленных приложениях» и не переустанавливаются с помощью средств резервного копирования.

Итог

Возможно многим покажется что в итоге мы опять получаем некий «костыль», однако, мне кажется что на данном этапе мы будем иметь что-то вроде стартовой площадки для доступности разнообразного ПО  в Linux Mint 18.3.


Ваш комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Для отправки комментария, поставьте отметку, что разрешаете сбор и обработку ваших персональных данных . Политика конфиденциальности

Информация для связи