- Flatpak
- Установка flatpak
- Добавление репозиториев
- Удаление репозитория
- Список подключенных репозиториев
- Поиск пакетов
- Установка приложений
- Список установленных приложений
- Запуск-удаление-обновление приложений
- Удаление неиспользуемых пакетов
- Просмотр и определение разрешений
- Управление flatpak из GUI
- Известные проблемы
- Не найдено удаленных репозиториев
- Неправильное имя файла
- Не удается смонтировать fuse fs
- Discover падает при добавлении новой программы
- Нет соединения с интернетом
- Не добавляет ярлыки в меню приложений
- При запуске приложений выдаёт unprivileged user namespaces disabled
- Полезные ссылки
- Как установить Flatpak
- Особенности Flatpak
- Установка Flatpak в Linux
- Как пользоваться Flatpak
- 1. Поиск программ на FlatHub
- 2. Добавление репозиториев
- 3. Поиск по репозиториям
- 4. Установка пакетов
- 5. Запуск программ Flatpak
- 6. Удаление программ
- 7. Обновление программ
- Выводы
Flatpak
Flatpak — это система для создания, распространения и запуска изолированных настольных приложений в Linux. Приложения можно устанавливать независимо от хост-системы, в которой они используются, и они в некоторой степени изолированы от хост-системы (изолированы) во время выполнения. Это позволяет пользоваться установленными приложениями вне зависимости от обновления хост-системы.
- 1 Установка flatpak
- 2 Добавление репозиториев
- 3 Удаление репозитория
- 4 Список подключенных репозиториев
- 5 Поиск пакетов
- 6 Установка приложений
- 7 Список установленных приложений
- 8 Запуск-удаление-обновление приложений
- 9 Удаление неиспользуемых пакетов
- 10 Просмотр и определение разрешений
- 11 Управление flatpak из GUI
- 12 Известные проблемы
- 12.1 Не найдено удаленных репозиториев
- 12.2 Неправильное имя файла
- 12.3 Не удается смонтировать fuse fs
- 12.4 Discover падает при добавлении новой программы
- 12.5 Нет соединения с интернетом
- 12.6 Не добавляет ярлыки в меню приложений
- 12.7 При запуске приложений выдаёт unprivileged user namespaces disabled
Установка flatpak
Для установки приложений при помощи flatpak из-под непривилегированного пользователя следует добавить пользователя в группу fuse:
USER — имя Вашего пользователя
Добавление репозиториев
$ flatpak remote-add name_repository url
name_repository — название удаленного репозитория
url — url адрес репозитория
После подключения нового репозитория следует выполнить обновление его данных:
Примечание: При подключении репозитория от пользователя входящего в группу wheel будет запрошен пароль root.
Удаление репозитория
$ flatpak remote-delete name_repository
name_repository — название удаляемого репозитория.
Список подключенных репозиториев
Поиск пакетов
Перед поиском следует выполнить обновление данных в репозитории:
$ flatpak search name_package
name_package — название Вашего пакета.
Получение списка пакетов в репозитории:
$ flatpak remote-ls name_repository
name_repository — название репозитория
Установка приложений
$ flatpak install name_repository name_package
$ flatpak install flathub firefox
Примечание: Если пакет содержит несколько версий терминал выведет меню выбора версий. Некоторые приложения требует другую среду выполнения она будет загружена автоматически.
Файлы размещаются по адресу:
Список установленных приложений
Запуск-удаление-обновление приложений
где appname, имя приложения вида org.unknown_horizons.UnknownHorizons (см. flathub.org)
$ flatpak update name_package
$ flatpak uninstall name_package
Удаление неиспользуемых пакетов
Просмотр и определение разрешений
Flatpak использует стандартный набор правил песочницы, которые определяют ресурсы и пути файловой системы для приложений. Чтобы просмотреть разрешения конкретного приложения необходимо узнать его ID:
$ flatpak list | grep name_package
Затем посмотреть разрешения:
$ flatpak info —show-permissions application_id
Список доступных параметров для разрешений Вы можете найти в документации flatpak.
Изменить разрешения можно командой:
# flatpak override permission_option application_id
# flatpak override —device=dri org.mozilla.firefox
Сбросить разрешения до стандартных:
# flatpak override —reset application_id
Управление flatpak из GUI
Для установки, обновления и удаления ПО из графического интерфейса используется Центр программ Discover. В настройках Discover → Добавить репозиторий flathub.
Можно использовать web-интерфейс. Выбрать приложение скачать для него ярлык и запустить, Discover автоматически перехватит управление, добавит новый репозиторий и начнет установку.
Открываем Менеджер пакетов Synaptic, устанавливаем пакет flatpak-repo-flathub, также установиться и сам flatpak.
Открываем Центр управления системой, в меню Локальные группы находим группу fuse и добавляем нашего юзера в Члены группы. После этого перезапускаем текущую сессию.
После запуска Discover пройдет обновление репозитариев, в том числе и flathub, о чем нам покажет сообщение при запуске, затем можно пользоваться обычным поиском для установки нужных flatpak прямо в Discover.
На примере Spotify — запустить его можно командой flatpak run com.spotify.Client. Чтобы не запускать через терминал, а из меню, нужно добавить ярлык Spotify с помощью символьной ссылки в /.local/share/applications:
ln -s /var/lib/flatpak/app/com.spotify.Client/current/active/export/share/applications/com.spotify.Client.desktop /home/USER/.local/share/applications
На что обратить внимание в команде? — Расположение установленных программ в /var/lib/flatpak/app, на полный путь до ярлыка файл.desktop, а также имя своего пользователя указанного в примере — USER.
Если все сделано правильно в /.local/share/applications, мы увидим наш ярлык с именем com.spotify.Client.desktop, в меню появиться Spotify. Символьная ссылка работает так — ln -s /ЧТО /КУДА, для понимания команды выше.
Добавление в меню других программ аналогично.
Известные проблемы
Для установки приложений при помощи flatpak из-под непривилегированного пользователя следует добавить пользователя в группу fuse:
Примечание: При установке приложений через терминал, чтобы они появились в меню, необходимо перелогиниться.
Не найдено удаленных репозиториев
Нет доступного репозитория их следует добавить.
Неправильное имя файла
Неправильное название файла ярлыка. Например: io.brackets.Brackets.flatpakref
Убрать из имени .flatpakref
Не удается смонтировать fuse fs
Внимание! Can’t get document portal: GDBus.Error:org.freedesktop.portal.Error.Failed: Can’t mount fuse fs
Добавить пользователя в группу fuse
Discover падает при добавлении новой программы
Could not unmount revokefs-fuse filesystem
Failed to execute child process fusermount (Permission denied)
При этом Discover крашится. Нет прав на монтирование файловой системы.
# control fusermount wheelonly
Нет соединения с интернетом
Discover сообщает об ошибке соединения с интернетом. Следует установить пакет plasma5-discover-packagekit.
# plasma5-discover-packagekit Перезапустить сеанс
Не добавляет ярлыки в меню приложений
Note that the directories
are not in the search path set by the XDG_DATA_DIRS environment variable, so applications installed by Flatpak may not appear on your desktop until the
Не добавляет ярлыки программ в меню приложений. Сделать файл flatpak.sh исполняемым.
# chmod +x /etc/profile.d/flatpak.sh
Перезапустить сеанс. Это действие в DE kde вызывает вылет при загрузке.
При запуске приложений выдаёт unprivileged user namespaces disabled
Должно помогать # sysctl -w kernel.unprivileged_userns_clone=1
или установка пакета sysctl-conf-userns, но не помогает.
Полезные ссылки
Как установить Flatpak
Насколько бы пакетные менеджеры Linux не были бы удобными, они имеют как преимущества, так и недостатки. Зависимости пакетов, это сильная сторона Linux пока вы не попытаетесь установить старый пакет или пакет из другого дистрибутива. Небольшая ошибка создателей пакета в настройке зависимостей приведет к тому что вам придется потратить уйму времени на то, чтобы во всём разобраться и исправить.
Чтобы решить эту проблему был придуман универсальный формат пакетов flatpak. Все зависимости программы уже находятся в самом пакете, именно такие, какие надо и их не нужно устанавливать отдельно. Поэтому пакеты flatpak могут быть установлены в любом дистрибутиве. В этой статье мы рассмотрим как установить flatpak в Linux, а также как пользоваться этой программой для установки пакетов.
Особенности Flatpak
Примерно в то же время, что и Flatpak, появился менеджер пакетов snap. По своей сути Flatpak очень похож на snap. Здесь тоже все зависимости находятся внутри установочного пакета, программе внутри пакета разрешен доступ только к тем, ресурсам, которые ей нужны. Но в отличие от snap, flatpak более децентрализован. Никто не контролирует какие репозитории вы создаёте и что в них распространяете. Вы можете создать свой репозиторий, вроде PPA и распространять там свое программное обеспечение. В то же время как для того чтобы попасть в Snap Store надо получить разрешение от Canonical.
Установка Flatpak в Linux
В таких системах, как Fedora пакетный менеджер Flatpak уже поставляется по умолчанию. Но если вы захотите использовать программу в Ubuntu, Debian или в Linux Mint, то вам понадобится её установить:
Если в репозиториях вашего дистрибутива нет пакета Flatpak, вы можете установить его из PPA:
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpakЕсли всё же вам надо установить flatpak в дистрибутиве, основанном на Red Hat Enterprice Linux, выполните:
Для OpenSUSE команда не сильно отличается:
sudo zypper install flatpak
После установки вы можете пользоваться flatpak из командной строки. Чуть ниже мы рассмотрим как это делать, но для удобства можно добавить поддержку flatpak в центр приложений. Для этого в Ubuntu достаточно установить такой пакет:
sudo apt install gnome-software-plugin-flatpak
Для других дистрибутивов пакет будет тот же, только надо будет использовать их пакетный менеджер. После этого вы можете скачивать файлы .flatpakref и Flathub и устанавливать их двойным кликом.
Как пользоваться Flatpak
1. Поиск программ на FlatHub
Несмотря на то, что Flatpak децентрализованный, большинство самых популярных пакетов вы можете найти на сайте FlatHub. Просто выберите нужную программу из списка:
Откройте её страницу и нажмите кнопку Install для установки программы с помощью центра приложений:
Кроме того, внизу страницы есть инструкция как установить программу с помощью терминала:
2. Добавление репозиториев
Самый популярный репозиторий Flatpak на момент написания этой статьи — flathub. Если Flatpak уже был установлен в вашей системе, то, скорее всего, и этот репозиторий тоже был установлен. Для добавления репозитория используется такая команда:
$ flatpak remote-add имя_репозитория ссылка_на_репозиторий
Например, для FlatHub выполните:
flatpak remote-add —if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Кроме того, существует ещё несколько репозиториев, например, репозиторий программ Gnome:
flatpak remote-add —if-not-exists gnome https://sdk.gnome.org/gnome.flatpakrepo
flatpak remote-add gnome-apps https://sdk.gnome.org/gnome-apps.flatpakrepoflatpak remote-add —if-not-exists kdeapps —from https://distribute.kde.org/kdeapps.flatpakrepo
Другие репозитории вы можете найти в интернете. Посмотреть все добавленные репозитории можно выполнив:
3. Поиск по репозиториям
Вы можете посмотреть все пакеты, которые есть в репозитории. Для этого выполните команду remote-ls и передайте ей имя репозитория:
Ещё можно искать нужный пакет по имени, для этого используйте:
$ flatpak search имя_пакета
Для установки программы вам понадобиться имя пакета программы из колонки Application ID и имя репозитория из колонки Remotes.
4. Установка пакетов
Для установки пакета flatpak используйте такую команду:
$ flatpack install имя_репозитория имя_пакета
Например, давайте установим тот же Pidgin, найденный предыдущей командой:
flatpak install flathub im.pidgin.Pidgin
Если вы не хотите добавлять репозиторий в систему, вы можете установить программу по ссылке из сети. Просто скопируйте ссылку на файл flatpakref и передайте её программе:
flatpak install —from https://dl.flathub.org/repo/appstream/im.pidgin.Pidgin.flatpakref
Если вы уже скачали файл flatpakref, его тоже можно установить.
flatpak install ~/Загрузки/im.pidgin.Pidgin.flatpakref
Посмотреть все установленные программы можно выполнив команду:
5. Запуск программ Flatpak
Программы, установленные с помощью flatpak можно запустить из главного меню. Однако если вы захотите запустить их с помощью терминала. Надо использовать команду flatpak:
flatpak run im.pidgin.Pidgin
6. Удаление программ
Для удаления программы используйте такую команду:
$ flatpak uninstall имя_программы
flatpak uninstall im.pidgin.Pidgin
После удаления пакета можно удалить неиспользуемые компоненты, чтобы освободить место на диске:
7. Обновление программ
Как и в любом другом пакетном менеджере, здесь можно обновлять установленные программы до самой новой версии. Для этого выполните:
Иногда устанавливаемые пакеты требуют более новые версии компонентов и поэтому не хотят устанавливаться. Если вы сталкиваетесь с такой ошибкой, просто обновите все пакеты.
Выводы
В этой небольшой статье мы рассмотрели как установить Flatpak, а также как пользоваться этой системой. Как видите, здесь всё немного сложнее по сравнению со snap, зато тут больше свободы. А что вам больше нравится snap или flatpak? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.