Flatpak: различия между версиями
Нет описания правки |
|||
(не показано 11 промежуточных версий 6 участников) | |||
Строка 1: | Строка 1: | ||
'''Flatpak''' - это система для создания, распространения и запуска изолированных настольных приложений в Linux. Приложения можно устанавливать независимо от хост-системы, в которой они используются, и они в некоторой степени изолированы от хост-системы (изолированы) во время выполнения. Это позволяет пользоваться установленными приложениями вне зависимости от обновления хост-системы. | |||
= Установка flatpak = | |||
<code># apt-get install flatpak</code> | |||
После установки | Для установки приложений при помощи {{pkg|flatpak}} из-под непривилегированного пользователя следует добавить пользователя в группу <tt>'''fuse'''</tt>: | ||
<code># gpasswd -a USER fuse</code> | |||
'''USER''' - имя Вашего пользователя | |||
= Добавление репозиториев = | |||
<code>$ flatpak remote-add name_repository url</code> | |||
'''name_repository''' - название удаленного репозитория | |||
'''url''' - url адрес репозитория | |||
После подключения нового репозитория следует выполнить обновление его данных: | |||
<code>$ flatpak update</code> | |||
Пример: | |||
<code>$ flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo</code> | |||
{{Note|При подключении репозитория от пользователя входящего в группу '''wheel''' будет запрошен пароль '''root'''.}} | |||
= Удаление репозитория = | |||
<code>$ flatpak remote-delete name_repository</code> | |||
'''name_repository''' - название удаляемого репозитория. | |||
= Список подключенных репозиториев = | |||
<code>$ flatpak remotes</code> | |||
= Поиск пакетов = | |||
Перед поиском следует выполнить обновление данных в репозитории: | |||
<code>$ flatpak update</code> | |||
Для поиска пакета: | |||
<code>$ flatpak search name_package</code> | |||
'''name_package''' - название Вашего пакета. | |||
Получение списка пакетов в репозитории: | |||
<code>$ flatpak remote-ls name_repository</code> | |||
'''name_repository''' - название репозитория | |||
= Установка приложений = | |||
<code>$ flatpak install name_repository name_package</code> | |||
Например: | |||
<code>$ flatpak install flathub firefox</code> | |||
{{Note|Если пакет содержит несколько версий терминал выведет меню выбора версий. | |||
Некоторые приложения требует другую среду выполнения она будет загружена автоматически.}} | |||
Файлы размещаются по адресу: | |||
'''~/.local/share/flatpak''' | |||
= Список установленных приложений = | |||
<code>$ flatpak list</code> | |||
= Запуск-удаление-обновление приложений = | |||
Запуска приложения: | |||
<code>$ flatpak run appname</code> | |||
где appname, имя приложения вида [https://flathub.org/apps/details/org.unknown_horizons.UnknownHorizons org.unknown_horizons.UnknownHorizons] (см. flathub.org) | |||
Обновление приложения: | |||
<code>$ flatpak update name_package</code> | |||
Удаление приложения: | |||
<code>$ flatpak uninstall name_package</code> | |||
= Удаление неиспользуемых пакетов = | |||
<code>$ flatpak uninstall --unused</code> | |||
= Просмотр и определение разрешений = | |||
'''Flatpak''' использует стандартный набор правил песочницы, которые определяют ресурсы и пути файловой системы для приложений. Чтобы просмотреть разрешения конкретного приложения необходимо узнать его '''ID''': | |||
<code>$ flatpak list | grep name_package</code> | |||
Затем посмотреть разрешения: | |||
<code>$ flatpak info --show-permissions application_id</code> | |||
Список доступных параметров для разрешений Вы можете найти в [https://docs.flatpak.org/en/latest/sandbox-permissions-reference.html документации flatpak.] | |||
Изменить разрешения можно командой: | |||
<code># flatpak override permission_option application_id</code> | |||
Например: | |||
<code># flatpak override --device=dri org.mozilla.firefox</code> | |||
Сбросить разрешения до стандартных: | |||
<code># flatpak override --reset application_id</code> | |||
= Управление flatpak из GUI = | |||
Для установки, обновления и удаления ПО из графического интерфейса используется ''Центр программ'' '''Discover'''. | |||
В настройках '''Discover → Добавить репозиторий flathub'''. | |||
Можно использовать [https://flathub.org/apps web-интерфейс.] Выбрать приложение скачать для него ярлык и запустить, '''Discover''' автоматически перехватит управление, добавит новый репозиторий и начнет установку. | |||
= Известные проблемы = | |||
Для установки приложений при помощи '''flatpak''' из-под ''непривилегированного пользователя'' следует добавить пользователя в группу '''fuse''': | |||
<code># gpasswd -a USER fuse</code> | |||
{{Note|При установке приложений через терминал, чтобы они появились в меню, необходимо перелогиниться.}} | |||
== Не найдено удаленных репозиториев == | |||
{{Attention| | |||
error: remote "flathub" not found}} | |||
{{Attention| | |||
error: No remote refs found similar to ‘flathub’}} | |||
Нет доступного репозитория их следует добавить. | |||
<code>$ flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo</code> | |||
Для второго случая: | |||
<code>$ flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</code> | |||
== Неправильное имя файла == | |||
{{Attention| | |||
error: Nothing matches io.brackets.Brackets.flatpakref in remote flathub}} | |||
Неправильное название файла ярлыка. | |||
Например: '''io.brackets.Brackets.flatpakref''' | |||
Убрать из имени '''.flatpakref''' | |||
== Не удается смонтировать fuse fs == | |||
{{Attention| | |||
Can't get document portal: GDBus.Error:org.freedesktop.portal.Error.Failed: Can't mount fuse fs}} | |||
Добавить пользователя в группу '''fuse''' | |||
<code># gpasswd -a $USER fuse</code> | |||
== Discover падает при добавлении новой программы == | |||
{{Attention| | |||
Could not unmount revokefs-fuse filesystem | |||
Failed to execute child process fusermount (Permission denied)}} | |||
При этом '''Discover''' крашится. | |||
Нет прав на монтирование файловой системы. | |||
<code># control fusermount wheelonly</code> | |||
== Нет соединения с интернетом == | |||
{{Attention| | |||
Не удалось получить список приложений. Проверьте соединение с интернетом}} | |||
'''Discover''' сообщает об ошибке соединения с интернетом. | |||
Следует установить пакет '''plasma5-discover-packagekit'''. | |||
<code># plasma5-discover-packagekit</code> | |||
Перезапустить сеанс | |||
== Не добавляет ярлыки в меню приложений == | |||
{{Attention| | |||
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 исполняемым. | |||
<code># chmod +x /etc/profile.d/flatpak.sh</code> | |||
Перезапустить сеанс. Это действие в DE kde [https://bugzilla.altlinux.org/show_bug.cgi?id=38397 вызывает вылет при загрузке]. | |||
= Полезные ссылки = | |||
*[https://docs.flatpak.org/en/latest/index.html Документация flatpak] | |||
*[https://github.com/flatpak/flatpak/blob/master/README.md README проекта] | |||
*[https://flathub.org/home Web-интерфейс для поиска приложений] | |||
*[https://flatpak.org/ Сайт разработчиков flatpak] | |||
{{Category navigation|title=ALT Linux Desktop|category=ALT Linux Desktop}} |
Версия от 07:42, 29 апреля 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 вызывает вылет при загрузке.