Как установить и использовать Flatpak в Linux
В данной статье поговорим о Flatpak пакетах для установки приложений, о том как их искать, устанавливать, обновлять и удалять.

Коротко о Flatpak

Flatpak является как форматом пакета, так и инструментом для установки и управления этими пакетами. По сути, Flatpak - это конкурент технологии snap пакетов, которые я подробно рассмотрел в статье: Установка snap пакетов в Ubuntu и других дистрибутивах Linux.

Обе эти технологии призваны освободить программы от установки дополнительных зависимостей, то есть, поставляются вместе с ними. Повторюсь, что есть огромный зоопарк дистрибутивов Linux, под каждый из таких дистрибутивов очень сложно поддерживать свой софт из-за разных версий библиотек на этих системах. Поэтому и нужен инструмент, который бы позволил разработчикам распространять свои приложениях среди максимального числа дистрибутивов Linux.

Flatpak - более изолированное приложение и запускается в так называемой "песочнице" (Sandbox), которая спрашивает разрешения на любой доступ к системе.

Вот общая схема:

Общая схема системы Flatpak

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

Установка Flatpak в Linux

Чтобы начать использовать flatpak в вашем дистрибутиве, нужно установить его поддержку в систему.

По ссылке https://flatpak.org/setup/ на официальном сайте есть инструкции для множества дистрибутивов:

Установка Flatpak в Linux

Кликаем по иконке вашего дистрибутива и получаем инструкцию.

На некоторых системах Flatpak уже предустановлен в системе, к примеру в Fedora и ничего устанавливать не нужно.

Установка Flatpak в Ubuntu

Рассмотрим установку поддержки Flatpak в Ubuntu.

В основном репозитории Ubuntu, начиная с Ubuntu 18.04, уже есть данный пакет, просто выполните в терминале:

sudo apt install flatpak

В более старых версиях дистрибутива Ubuntu, нужно подключить Flatpak PPA и установить из него, для этого выполните в терминале:

sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak

Чтобы можно было устанавливать Flatpak приложения через Менеджер приложений Ubuntu (Gnome Software), то нужно установить плагин для него, для этого выполните в терминале:

sudo apt install gnome-software-plugin-flatpak

Flatpak не может работать без хабов с приложениями. По умолчанию, ни один хаб не подключен, поэтому нужно подключить официальный хаб Flatpak приложений - Flathub, для этого выполните в терминале:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Теперь осталось перезагрузить компьютер и можно использовать Flatpak в Ubuntu.

Магазин приложений Flathub

Как упоминалось выше, в flatpak добавляются хабы (репозитории) приложений. Flathub - официальный, который поддерживается самими разработчиками Flatpak.

Он находится по адресу:

https://flathub.org/

Магазин приложений Flathub

Можно искать или листать приложения по категориям.

Магазин приложений Flathub

К сожалению, сайт не локализован. На данный момент, только английская версия.

Перейдем на персональную страницу какого-нибудь приложения в магазине:

Магазин приложений Flathub

Чтобы установить данное приложение, жмём кнопку "Install" прямо на сайте. Скачается файл c расширением .flatpakref:

Магазин приложений Flathub

Двойным кликом по данному файлу будет открыт Менеджер приложений Ubuntu c предложением установить данное приложение:

Магазин приложений Flathub

Приложения можно искать и непосредственно в самом Менеджере приложений Ubuntu.

Только в этом случае, приложения будут показывать из всех источников, а не только с Flathub.

В списке установленных приложений можно определить приложения с Flathub по полю "Источник":

Магазин приложений Flathub

Использование Flatpak в Linux

Давайте теперь пробежимся по консольным командам flatpak.

Вся полная и актуальная документация (на английском) Flatpak находится по адресу:

http://docs.flatpak.org/en/latest/

Справка по всем командам Flatpak

Полную справку можно получить, выполнив команду в терминале:

flatpak --help

Справка по всем командам Flatpak

Управление удалёнными репозиториями Flatpak

Как было сказано выше, в Flatpak нужно подключать репозитории, чтобы в них искать и устанавливать из них приложения.

Чтобы отобразить список удаленных репозиториев, выполняем команду:

flatpak remotes

Чтобы отобразить более подробную информацию, добавляем параметр "-d":

flatpak remotes -d

Управление удалёнными репозиториями Flatpak

Добавление нового удаленного репозитория происходит, используя файл .flatpakrepo, который в себе содержит как GPG ключ, так и всю остальную информацию:

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Здесь, flathub - это локальное имя удаленного репозитория. Параметр "--if-not-exists" используется, чтобы исключить повторное добавление репозитория.

Удаляется репозиторий с помощью следующей команды:

flatpak remote-delete flathub

Здесь, flathub - это локальное имя удаленного репозитория, нужно менять на своё, которое всегда можно увидеть в выводе списка репозиториев первой команды.

Управление удалёнными репозиториями Flatpak

Поиск приложений Flatpak

Поиск приложений осуществляется при помощи команды:

flatpak search <искомая фраза>

К примеру, давайте найдем программу Peek, которая позволяет делать простые скринкасты.

flatpak search peek

В этом поиске нам нужны две колонки Application ID и Remotes, которые понадобятся нам при установке приложения:

Поиск приложений

Установка приложений Flatpak

Для того, чтобы установить приложение, нужно использовать команду:

flatpak install <Remote> <Application ID>

То есть, указываем локальное имя репозитория и ID приложения:

flatpak install flathub com.uploadedlobster.peek

Установка приложений Flatpak

Ещё можно установить приложение, передав в команду адрес до файла с расширением ".flatpakref" как локальный, так и удаленный:

flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref
flatpak install ~/Загрузки/com.uploadedlobster.peek.flatpakref

Установка приложений Flatpak

Кроме того, начиная с версии Flatpak 1.2, команда install умеет искать и устанавливать приложение:

flatpak install gimp

На сайте Flathub, в самом низу страницы любого приложения, к примеру, https://flathub.org/apps/details/com.uploadedlobster.peek, написаны терминальные инструкции для того:

Установка приложений Flatpak

Запуск приложений Flatpak

Когда устанавливается приложение, то ярлык будет добавлен к остальным ярлыкам приложений. Но, если хотите запустить приложение в терминале, то надо выполнить следующую команду в терминале:

flatpak run <Application ID>

То есть, надо подставить ID приложения, к примеру запустим Peek:

flatpak run com.uploadedlobster.peek

Обновление приложений Flatpak

Чтобы обновить все установленные приложения, нужно выполнить в терминале следующую команду:

flatpak update

Вывести список установленных приложений Flatpak

Чтобы вывести список всех установленных приложений и систем запуска (runtimes), выполните следующую команду в терминале:

flatpak list

Вывести список установленных приложений Flatpak

Как видно на скриншоте, вывелась runtime - org.gnome.Platform/x86_64/3.30, то есть окружение рабочего стола Gnome, которая нужна для запуск GTK Flatpak приложений.

Чтобы вывести только список установленных Flatpak приложений, выполните команду в терминале:

flatpak list --app

Удаление приложений Flatpak

Для того, чтобы удалить приложение, нужно ввести в терминале следующую команду:

flatpak uninstall <Application ID>

То есть, указываем ID приложения, которое нужно удалить, к примеру:

flatpak uninstall org.gimp.GIMP

Чтобы удалить неиспользуемые среды исполнения (runtimes), нужно еще выполнить следующую команду:

flatpak uninstall --unused

То есть, данная команда позволяет освободить место на диске.

Устранение неисправностей Flatpak

Если какие-то приложения работают некорректно, есть команда, которая проверяет и старается исправить установленные приложения и среды запуска:

flatpak repair

Устранение неисправностей

P.S.

Вот и всё, что хотелось рассказать об этом инструменте. На мой взгляд, рассмотрели самые необходимые команды, что-то более серьезное всегда можно посмотреть в документации или в справке в консоле.

Теперь при обзорах каких-либо приложений, буду стараться не только указываться установку с помощью команды snap, но и при помощи flatpak (если приложение есть в репозитории Flathub, конечно).


Комментарии отключены