Flatpak: различия между версиями
Строка 1: | Строка 1: | ||
'''Flatpak''' - это система для создания, распространения и запуска изолированных настольных приложений в Linux. Приложения можно устанавливать независимо от хост-системы, в которой они используются, и они в некоторой степени изолированы от хост-системы (изолированы) во время выполнения. Это позволяет пользоваться установленными приложениями вне зависимости от обновления хост-системы. | '''Flatpak''' - это система для создания, распространения и запуска изолированных настольных приложений в Linux. Приложения можно устанавливать независимо от хост-системы, в которой они используются, и они в некоторой степени изолированы от хост-системы (изолированы) во время выполнения. Это позволяет пользоваться установленными приложениями вне зависимости от обновления хост-системы. | ||
= Установка flatpak = | |||
<code># apt-get install flatpak</code> | <code># apt-get install flatpak</code> | ||
Версия от 17:57, 28 апреля 2021
Flatpak - это система для создания, распространения и запуска изолированных настольных приложений в Linux. Приложения можно устанавливать независимо от хост-системы, в которой они используются, и они в некоторой степени изолированы от хост-системы (изолированы) во время выполнения. Это позволяет пользоваться установленными приложениями вне зависимости от обновления хост-системы.
Установка flatpak
# apt-get install flatpak
Для установки приложений при помощи flatpak из-под непривилегированного пользователя следует добавить пользователя в группу fuse:
# gpasswd -a USER fuse
USER - имя Вашего пользователя
Добавление репозиториев
$ flatpak remote-add name_repository url
name_repository - название удаленного репозитория
url - url адрес репозитория
После подключения нового репозитория следует выполнить обновление его данных:
$ flatpak update
Пример:
$ flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo
Удаление репозитория
$ flatpak remote-delete name_repository
name_repository - название удаляемого репозитория.
Список подключенных репозиториев
$ flatpak remotes
Поиск пакетов
Перед поиском следует выполнить обновление данных в репозитории:
$ flatpak update
Для поиска пакета:
$ flatpak search name_package
name_package - название Вашего пакета.
Получение списка пакетов в репозитории:
$ flatpak remote-ls name_repository
name_repository - название репозитория
Установка приложений
$ flatpak install name_repository name_package
Например:
$ flatpak install flathub firefox
Файлы размещаются по адресу:
~/.local/share/flatpak
Список установленных приложений
$ flatpak list
Запуск-удаление-обновление приложений
Запуска приложения:
$ flatpak run appname
где appname, имя приложения вида org.unknown_horizons.UnknownHorizons (см. flathub.org)
Обновление приложения:
$ flatpak update name_package
Удаление приложения:
$ flatpak uninstall name_package
Удаление неиспользуемых пакетов
$ flatpak uninstall --unused
Просмотр и определение разрешений
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 автоматически перехватит управление, добавит новый репозиторий и начнет установку.
Известные проблемы
Для установки приложений при помощи flatpak из-под непривилегированного пользователя следует добавить пользователя в группу fuse:
# gpasswd -a USER fuse
Не найдено удаленных репозиториев
Нет доступного репозитория их следует добавить.
$ flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo
Для второго случая:
$ flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Неправильное имя файла
Неправильное название файла ярлыка. Например: io.brackets.Brackets.flatpakref
Убрать из имени .flatpakref
Не удается смонтировать fuse fs
Добавить пользователя в группу fuse
# gpasswd -a $USER 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
'/var/lib/flatpak/exports/share' '/home/zloyadmin/.local/share/flatpak/exports/share'
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
session is restarted.Не добавляет ярлыки программ в меню приложений. Сделать файл flatpak.sh исполняемым.
# chmod +x /etc/profile.d/flatpak.sh
Перезапустить сеанс. Это действие в DE kde вызывает вылет при загрузке.