Коротко о Flatpak
Flatpak является как форматом пакета, так и инструментом для установки и управления этими пакетами. По сути, Flatpak - это конкурент технологии snap пакетов, которые я подробно рассмотрел в статье: Установка snap пакетов в Ubuntu и других дистрибутивах Linux.
Обе эти технологии призваны освободить программы от установки дополнительных зависимостей, то есть, поставляются вместе с ними. Повторюсь, что есть огромный зоопарк дистрибутивов Linux, под каждый из таких дистрибутивов очень сложно поддерживать свой софт из-за разных версий библиотек на этих системах. Поэтому и нужен инструмент, который бы позволил разработчикам распространять свои приложениях среди максимального числа дистрибутивов Linux.
Flatpak - более изолированное приложение и запускается в так называемой "песочнице" (Sandbox), которая спрашивает разрешения на любой доступ к системе.
Вот общая схема:
Flatpak делает упор на Runtime, в котором находятся общие библиотеки, которые могут использоваться разными приложениями. Это сокращает размер приложений, установленных через Flatpak, которые используют одну версию библиотеки.
Установка Flatpak в Linux
Чтобы начать использовать flatpak в вашем дистрибутиве, нужно установить его поддержку в систему.
По ссылке https://flatpak.org/setup/ на официальном сайте есть инструкции для множества дистрибутивов:
Кликаем по иконке вашего дистрибутива и получаем инструкцию.
На некоторых системах Flatpak уже предустановлен в системе, к примеру в Fedora и ничего устанавливать не нужно.
Установка Flatpak в Ubuntu
Рассмотрим установку поддержки Flatpak в Ubuntu.
В основном репозитории Ubuntu, начиная с Ubuntu 18.04, уже есть данный пакет, просто выполните в терминале:
В более старых версиях дистрибутива Ubuntu, нужно подключить Flatpak PPA и установить из него, для этого выполните в терминале:
Чтобы можно было устанавливать Flatpak приложения через Менеджер приложений Ubuntu (Gnome Software), то нужно установить плагин для него, для этого выполните в терминале:
Flatpak не может работать без хабов с приложениями. По умолчанию, ни один хаб не подключен, поэтому нужно подключить официальный хаб Flatpak приложений - Flathub, для этого выполните в терминале:
Теперь осталось перезагрузить компьютер и можно использовать Flatpak в Ubuntu.
Магазин приложений Flathub
Как упоминалось выше, в flatpak добавляются хабы (репозитории) приложений. Flathub - официальный, который поддерживается самими разработчиками Flatpak.
Он находится по адресу:
Можно искать или листать приложения по категориям.
К сожалению, сайт не локализован. На данный момент, только английская версия.
Перейдем на персональную страницу какого-нибудь приложения в магазине:
Чтобы установить данное приложение, жмём кнопку "Install" прямо на сайте. Скачается файл c расширением .flatpakref:
Двойным кликом по данному файлу будет открыт Менеджер приложений Ubuntu c предложением установить данное приложение:
Приложения можно искать и непосредственно в самом Менеджере приложений Ubuntu.
Только в этом случае, приложения будут показывать из всех источников, а не только с Flathub.
В списке установленных приложений можно определить приложения с Flathub по полю "Источник":
Использование Flatpak в Linux
Давайте теперь пробежимся по консольным командам flatpak.
Вся полная и актуальная документация (на английском) Flatpak находится по адресу:
http://docs.flatpak.org/en/latest/
Справка по всем командам Flatpak
Полную справку можно получить, выполнив команду в терминале:
Управление удалёнными репозиториями Flatpak
Как было сказано выше, в Flatpak нужно подключать репозитории, чтобы в них искать и устанавливать из них приложения.
Чтобы отобразить список удаленных репозиториев, выполняем команду:
Чтобы отобразить более подробную информацию, добавляем параметр "-d":
Добавление нового удаленного репозитория происходит, используя файл .flatpakrepo, который в себе содержит как GPG ключ, так и всю остальную информацию:
Здесь, flathub - это локальное имя удаленного репозитория. Параметр "--if-not-exists" используется, чтобы исключить повторное добавление репозитория.
Удаляется репозиторий с помощью следующей команды:
Здесь, flathub - это локальное имя удаленного репозитория, нужно менять на своё, которое всегда можно увидеть в выводе списка репозиториев первой команды.
Поиск приложений Flatpak
Поиск приложений осуществляется при помощи команды:
К примеру, давайте найдем программу Peek, которая позволяет делать простые скринкасты.
В этом поиске нам нужны две колонки Application ID и Remotes, которые понадобятся нам при установке приложения:
Установка приложений Flatpak
Для того, чтобы установить приложение, нужно использовать команду:
То есть, указываем локальное имя репозитория и ID приложения:
Ещё можно установить приложение, передав в команду адрес до файла с расширением ".flatpakref" как локальный, так и удаленный:
Кроме того, начиная с версии Flatpak 1.2, команда install умеет искать и устанавливать приложение:
На сайте Flathub, в самом низу страницы любого приложения, к примеру, https://flathub.org/apps/details/com.uploadedlobster.peek, написаны терминальные инструкции для того:
Запуск приложений Flatpak
Когда устанавливается приложение, то ярлык будет добавлен к остальным ярлыкам приложений. Но, если хотите запустить приложение в терминале, то надо выполнить следующую команду в терминале:
То есть, надо подставить ID приложения, к примеру запустим Peek:
Обновление приложений Flatpak
Чтобы обновить все установленные приложения, нужно выполнить в терминале следующую команду:
Вывести список установленных приложений Flatpak
Чтобы вывести список всех установленных приложений и систем запуска (runtimes), выполните следующую команду в терминале:
Как видно на скриншоте, вывелась runtime - org.gnome.Platform/x86_64/3.30, то есть окружение рабочего стола Gnome, которая нужна для запуск GTK Flatpak приложений.
Чтобы вывести только список установленных Flatpak приложений, выполните команду в терминале:
Удаление приложений Flatpak
Для того, чтобы удалить приложение, нужно ввести в терминале следующую команду:
То есть, указываем ID приложения, которое нужно удалить, к примеру:
Чтобы удалить неиспользуемые среды исполнения (runtimes), нужно еще выполнить следующую команду:
То есть, данная команда позволяет освободить место на диске.
Устранение неисправностей Flatpak
Если какие-то приложения работают некорректно, есть команда, которая проверяет и старается исправить установленные приложения и среды запуска:
P.S.
Вот и всё, что хотелось рассказать об этом инструменте. На мой взгляд, рассмотрели самые необходимые команды, что-то более серьезное всегда можно посмотреть в документации или в справке в консоле.
Теперь при обзорах каких-либо приложений, буду стараться не только указываться установку с помощью команды snap, но и при помощи flatpak (если приложение есть в репозитории Flathub, конечно).