Flatpak: различия между версиями
(не показано 5 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
'''Flatpak''' - это система для создания, распространения и запуска изолированных настольных приложений в Linux. Приложения можно устанавливать независимо от хост-системы, в которой они используются, и они в некоторой степени изолированы от хост-системы (изолированы) во время выполнения. Это позволяет пользоваться установленными приложениями вне зависимости от обновления хост-системы. | '''Flatpak''' - это система для создания, распространения и запуска изолированных настольных приложений в Linux. Приложения можно устанавливать независимо от хост-системы, в которой они используются, и они в некоторой степени изолированы от хост-системы (изолированы) во время выполнения. Это позволяет пользоваться установленными приложениями вне зависимости от обновления хост-системы. | ||
= Установка flatpak = | |||
<code># apt-get install flatpak</code> | <code># apt-get install flatpak</code> | ||
Строка 10: | Строка 10: | ||
'''USER''' - имя Вашего пользователя | '''USER''' - имя Вашего пользователя | ||
= Добавление репозиториев = | |||
<code>$ flatpak remote-add name_repository url</code> | <code>$ flatpak remote-add name_repository url</code> | ||
Строка 25: | Строка 25: | ||
<code>$ flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo</code> | <code>$ flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo</code> | ||
{{Note|При подключении репозитория от пользователя входящего в группу '''wheel''' будет запрошен пароль '''root'''.}} | {{Note|При подключении репозитория от пользователя входящего в группу '''wheel''' будет запрошен пароль '''root'''.}} | ||
= Удаление репозитория = | |||
<code>$ flatpak remote-delete name_repository</code> | <code>$ flatpak remote-delete name_repository</code> | ||
'''name_repository''' - название удаляемого репозитория. | '''name_repository''' - название удаляемого репозитория. | ||
= Список подключенных репозиториев = | |||
<code>$ flatpak remotes</code> | <code>$ flatpak remotes</code> | ||
= Поиск пакетов = | |||
Перед поиском следует выполнить обновление данных в репозитории: | Перед поиском следует выполнить обновление данных в репозитории: | ||
Строка 51: | Строка 51: | ||
'''name_repository''' - название репозитория | '''name_repository''' - название репозитория | ||
= Установка приложений = | |||
<code>$ flatpak install name_repository name_package</code> | <code>$ flatpak install name_repository name_package</code> | ||
Строка 65: | Строка 65: | ||
'''~/.local/share/flatpak''' | '''~/.local/share/flatpak''' | ||
= Список установленных приложений = | |||
<code>$ flatpak list</code> | <code>$ flatpak list</code> | ||
= Запуск-удаление-обновление приложений = | |||
Запуска приложения: | Запуска приложения: | ||
Строка 83: | Строка 83: | ||
<code>$ flatpak uninstall name_package</code> | <code>$ flatpak uninstall name_package</code> | ||
= Удаление неиспользуемых пакетов = | |||
<code>$ flatpak uninstall --unused</code> | <code>$ flatpak uninstall --unused</code> | ||
= Просмотр и определение разрешений = | |||
'''Flatpak''' использует стандартный набор правил песочницы, которые определяют ресурсы и пути файловой системы для приложений. Чтобы просмотреть разрешения конкретного приложения необходимо узнать его '''ID''': | '''Flatpak''' использует стандартный набор правил песочницы, которые определяют ресурсы и пути файловой системы для приложений. Чтобы просмотреть разрешения конкретного приложения необходимо узнать его '''ID''': | ||
Строка 99: | Строка 99: | ||
Изменить разрешения можно командой: | Изменить разрешения можно командой: | ||
<code> | <code># flatpak override permission_option application_id</code> | ||
Например: | Например: | ||
<code> | <code># flatpak override --device=dri org.mozilla.firefox</code> | ||
Сбросить разрешения до стандартных: | Сбросить разрешения до стандартных: | ||
<code> | <code># flatpak override --reset application_id</code> | ||
= Управление flatpak из GUI = | |||
Для установки, обновления и удаления ПО из графического интерфейса используется ''Центр программ'' '''Discover'''. | Для установки, обновления и удаления ПО из графического интерфейса используется ''Центр программ'' '''Discover'''. | ||
В настройках '''Discover → Добавить репозиторий flathub'''. | В настройках '''Discover → Добавить репозиторий flathub'''. | ||
Строка 115: | Строка 115: | ||
Можно использовать [https://flathub.org/apps web-интерфейс.] Выбрать приложение скачать для него ярлык и запустить, '''Discover''' автоматически перехватит управление, добавит новый репозиторий и начнет установку. | Можно использовать [https://flathub.org/apps web-интерфейс.] Выбрать приложение скачать для него ярлык и запустить, '''Discover''' автоматически перехватит управление, добавит новый репозиторий и начнет установку. | ||
= Известные проблемы = | |||
Для установки приложений при помощи '''flatpak''' из-под ''непривилегированного пользователя'' следует добавить пользователя в группу '''fuse''': | Для установки приложений при помощи '''flatpak''' из-под ''непривилегированного пользователя'' следует добавить пользователя в группу '''fuse''': | ||
Строка 121: | Строка 121: | ||
{{Note|При установке приложений через терминал, чтобы они появились в меню, необходимо перелогиниться.}} | {{Note|При установке приложений через терминал, чтобы они появились в меню, необходимо перелогиниться.}} | ||
== Не найдено удаленных репозиториев == | |||
{{Attention| | {{Attention| | ||
Строка 133: | Строка 134: | ||
<code>$ flatpak remote-add --user --if-not-exists 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| | {{Attention| | ||
Строка 140: | Строка 142: | ||
Убрать из имени '''.flatpakref''' | Убрать из имени '''.flatpakref''' | ||
== Не удается смонтировать fuse fs == | |||
{{Attention| | {{Attention| | ||
Строка 146: | Строка 149: | ||
<code># gpasswd -a $USER fuse</code> | <code># gpasswd -a $USER fuse</code> | ||
== Discover падает при добавлении новой программы == | |||
{{Attention| | {{Attention| | ||
Строка 154: | Строка 158: | ||
<code># control fusermount wheelonly</code> | <code># control fusermount wheelonly</code> | ||
== Нет соединения с интернетом == | |||
{{Attention| | {{Attention| | ||
Строка 162: | Строка 167: | ||
<code># plasma5-discover-packagekit</code> | <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://docs.flatpak.org/en/latest/index.html Документация flatpak] | ||
*[https://github.com/flatpak/flatpak/blob/master/README.md README проекта] | *[https://github.com/flatpak/flatpak/blob/master/README.md README проекта] |
Версия от 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 вызывает вылет при загрузке.