Flatpak – это новый универсальный формат упаковки. Включив Flatpak, вы получите доступ к простой установке многих приложений Linux. Давайте посмотрим как использовать Flatpak в Ubuntu и других дистрибутивах Linux.
Установить приложение в Linux так же просто, как открыть Центр программного обеспечения, найти и установить его. Приложения, недоступные в магазинах приложений, можно установить с помощью пакетов DEB или RPM. Некоторые из них доступны через PPA (для дистрибутивов на базе Debian), а если ничего нет, то можно собрать из исходного кода.
Однако здесь есть некоторые ограничения. Магазины App Store обычно не имеют последних выпусков приложений, работа с зависимостями может быть утомительной, а PPA не всегда безопасны! Кроме того, сборка из исходного кода требует некоторой работы с терминалом.
При наличии нескольких дистрибутивов Linux и систем управления пакетами возникла необходимость в универсальной системе упаковки, которая могла бы запускать приложение независимо от того, какой дистрибутив Linux вы используете. Компания Canonical подумала об этом и создала Snaps. Существует также независимый универсальный пакет программного обеспечения под названием AppImage, с помощью которого вы загружаете приложение и запускаете его без фактической установки приложения.
Наряду с Snaps и AppImage существует еще одна универсальная пакетная система под названием Flatpak. Мы рассмотрим, как установить и использовать Flatpak в большинстве дистрибутивов Linux, а также его преимущества.
Что такое Flatpak?
Flatpak – это, по сути, основа для приложений в Linux. Поскольку различные дистрибутивы предпочитают собственное управление пакетами, Flatpak нацелен на предоставление кросс-платформенного решения с другими преимуществами. Он еще больше облегчает работу разработчиков. Одна сборка приложения может быть использована практически во всех дистрибутивах Linux (которые поддерживают Flatpak) без каких-либо изменений в пакете.
Основные преимущества Flatpak
Помимо предложения единого пакета для различных дистрибутивов Linux, Flatpak предлагает интеграцию в рабочие столы Linux, что упрощает просмотр, установку и использование приложений Flatpak, например, для установки Flatpak можно использовать Gnome Software Center.
Flatpak совместимы, т.е. одно и то же приложение Flatpak может работать на следующих выпусках дистрибутива без изменений.
Поддерживаются зависимости времени выполнения, которые могут быть использованы приложением. Недостающие могут быть добавлены в приложение.
Хотя Flatpak предоставляет централизованный сервис для распространения приложений, он полностью поддерживает децентрализованное распространение приложений.
Как использовать Flatpak в Ubuntu и других дистрибутивах Linux
Установка Flatpak – это двухэтапный процесс. Сначала нужно установить Flatpak, а затем добавить репо Flatpak (Flathub), откуда мы можем устанавливать приложения.
Установка Flatpak на Ubuntu и Linux Mint
В Linux Mint и Ubuntu, Flatpak поддерживается по умолчанию. Однако вы можете проверить это, попробовав установить Flatpak еще раз:
sudo apt install flatpak
Установка Flatpak в Debian, Ubuntu, Elementary OS и другие дистрибутивы на базе Ubuntu
Дистрибутивы на базе Debian могут использовать официальный PPA для установки Flatpak. Откройте терминал и выполните следующие команды:
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
Установка Flatpak в дистрибутивы Linux на базе Red Hat и Fedora
Чтобы установить Flatpak в Red Hat и Fedora, достаточно ввести следующую команду:
sudo yum install flatpak
Установка Flatpak в openSUSE
Чтобы включить поддержку Flatpak в дистрибутивах Linux на базе openSUSE, используйте следующую команду:
sudo zypper install flatpak
Установка Flatpak в Arch Linux
Чтобы включить поддержку Flatpak в дистрибутивах Linux на базе Arch, выполните следующую команду:
sudo pacman -S flatpak
Включение поддержки приложений Flatpak в Software Center
Приложениями Flatpak можно полностью управлять через командную строку. Но не всем нравится использовать командную строку для установки приложений, поэтому включение поддержки Flatpak в программном центре GNOME станет спасением.
В некоторых дистрибутивах, таких как Pop!_OS 20.04, вы найдете Flatpak интегрированным в программный центр. Таким образом, вам не нужно ничего отдельно делать.
Однако, если у вас нет интеграции Flatpak по умолчанию, вам понадобится программный плагин GNOME для установки flatpak через графический интерфейс. Для его установки в дистрибутивах на базе Ubuntu используйте следующую команду:
sudo apt install gnome-software-plugin-flatpak
Для других дистрибутивов используйте обычную команду установки пакета для установки gnome-software-plugin-flatpak. После установки перезапустите Software Center или вашу машину.
Теперь вы можете загрузить файл .flatpakref с сайта разработчика приложения или из официального магазина приложений Flatpak, Flathub.
Перейдите в папку загрузки и дважды щелкните на загруженном файле .flatpakref. Должен открыться Центр программного обеспечения и появится возможность установки, как показано на рисунке ниже:
Вы также можете щелкнуть правой кнопкой мыши на файле и Открыть с помощью Software Install (по умолчанию), если двойной щелчок не сработал.
После завершения установки вы можете запустить его из центра программного обеспечения или из меню приложений.
Использование команд Flatpak (для специалистов среднего и высшего уровня)
Теперь, когда мы рассмотрели, как включить поддержку Flatpak и как устанавливать приложения Flatpak, мы можем перейти к рассмотрению команд Flatpak для полного контроля над установкой пакетов.
Эта часть руководства является необязательной и предназначена только для пользователей среднего и опытного уровня, которые предпочитают командную строку графическому интерфейсу.
Добавление репозиториев для установки приложений Flatpak
Flatpak нуждается в информации о репозиториях, из которых вы можете найти и загрузить приложения. Было бы неплохо добавить репозиторий Flathub, чтобы вы получили доступ к ряду приложений Flatpak.
Стоит отметить, что на момент написания этой статьи – Flathub является самым популярным репозиторием для установки Flatpak. Поэтому мы использовали его для всех упомянутых команд. Если вы используете какой-либо другой репозиторий (удаленный источник), не стесняйтесь заменить Flathub на тот, который вы используете для каждой команды.
Для этого выполните следующую команду:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo.
Могут быть доступны и другие репозитории – проверьте и добавьте их при необходимости.
Поиск Flatpak через терминал
Вы можете искать доступные приложения Flatpak с помощью опции поиска в команде Flatpak следующим образом:
flatpak search applicationname
Имя приложения не обязательно должно быть точным. Будут показаны все возможные результаты, соответствующие поисковому запросу.
Например, flatpak search libreoffice выводит стабильный выпуск LibreOffice.
Вы должны обратить внимание на две вещи в вышеприведенном выводе команды. Это “ID приложения” и “Remotes”. Эти два параметра понадобятся для установки приложения.
Установка приложений Flatpak
Общий способ установки приложения Flatpak из репозитория следующий:
flatpak install <remotes> <ApplicationID>.
Например, в предыдущей команде поиска вы получили ID приложения и имя репозитория. Вы можете использовать эту информацию для установки приложения следующим образом:
flatpak install flathub org.libreoffice.LibreOffice
Установка Flatpak Flathub
Некоторые разработчики предоставляют свой собственный репозиторий. Вы можете использовать абсолютный путь к flatpakref приложения для установки приложения или через Flathub.
flatpak install --from https://flathub.org/repo/appstream/com.spotify.Client.flatpakref
Установка приложений Flatpak из файла flatpakref
Если вы загрузили файл .flatpakref в свою систему, перейдите в каталог и используйте команду для установки:
flatpak install <ApplicationID>.flatpakref
Предположим, вы скачали файл net.poedit.Poedit.flatpakref, команда будет выглядеть следующим образом:
flatpak install net.poedit.Poedit.flatpakref
Как запустить Flatpak
Чтобы запустить приложение Flatpak, вы можете воспользоваться командой, приведенной ниже:
flatpak run <ApplicationID>
Например, если вы установили spotify, вот как будет выглядеть команда:
flatpak run com.spotify.Client
Отображение всех приложений Flatpak, установленных в вашей системе
Вы можете отобразить все приложения Flatpak, установленные в вашей системе, с помощью следующей команды:
flatpak list
Удаление приложения Flatpak
Вы можете использовать опцию uninstall с идентификатором приложения, чтобы удалить установленный пакет Flatpak.
flatpak uninstall <ApplicationID>
Вот как это должно выглядеть:
flatpak uninstall com.spotify.Client
Обновление всех приложений Flatpak одновременно
flatpak update
Освободите место, удалив неиспользуемые исполняемые программы Flatpak
Было бы разумно время от времени чистить систему и освобождать место. Вы можете удалить неиспользуемые режимы выполнения Flatpak с помощью этой команды:
flatpak uninstall --unused
Приведенная выше команда выводит список неиспользуемых приложений и дает вам возможность удалить их все.
Устранение неполадок Flatpak
В этом разделе мы рассмотрим некоторые общие проблемы, с которыми вы можете столкнуться при работе с Flatpak.
Устранение ошибки установки Flatpak
Если вы столкнулись с ошибкой, подобной этой:
error: runtime/org.freedesktop.Platform/x86_64/1.6 not installed
Вы можете легко исправить ее с помощью этой команды:
flatpak update -v
Эта ошибка возникает, если установка Flatpak не была завершена из-за плохого интернет-соединения или выключения системы. Обновление репозиториев Flatpak обычно устраняет эту проблему.
Что вы думаете о Flatpak?
Включение поддержки Flatpak, безусловно, открывает доступ к большему количеству программного обеспечения. Сайт Flathub предоставляет простой способ найти эти Flatpak-приложения.
Flathub для поиска приложений Flatpak
Flatpak не только решает проблему кросс-платформенной установки приложений среди пользователей Linux, но и экономит усилия по разработке отдельных пакетов для разных дистрибутивов. Один пакет может быть использован в различных дистрибутивах Linux, а его обслуживание очень просто.
Хотя, по сравнению со Snap, Flatpak немного сложнее. Полагаться на идентификатор приложения вместо имени приложения – это, на мой взгляд, раздражает. Меня также удивило, что для установки и удаления приложений Flatpak не требуются права sudo.
Что вы думаете о Flatpak и используете ли вы их? Предпочитаете ли вы его AppImage или Snaps? Сообщите нам, если вы столкнулись с какой-либо проблемой, в разделе комментариев.