Flatpak: различия между версиями

Материал из ALT Linux Wiki
(нач из http://www.opennet.ru/openforum/vsluhforumID3/120038.html#183 (спасибо Annoynymous))
 
(не показано 12 промежуточных версий 7 участников)
Строка 1: Строка 1:
Для применения {{pkg|flatpak}} следует добавить пользователя в группу <tt>fuse</tt> и перелогиниться:
'''Flatpak''' - это система для создания, распространения и запуска изолированных настольных приложений в Linux. Приложения можно устанавливать независимо от хост-системы, в которой они используются, и они в некоторой степени изолированы от хост-системы (изолированы) во время выполнения. Это позволяет пользоваться установленными приложениями вне зависимости от обновления хост-системы.


# gpasswd -a USER fuse
= Установка 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

Примечание: При подключении репозитория от пользователя входящего в группу wheel будет запрошен пароль root.

Удаление репозитория

$ 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

Примечание: При установке приложений через терминал, чтобы они появились в меню, необходимо перелогиниться.

Не найдено удаленных репозиториев

Внимание! error: remote "flathub" not found
Внимание! error: No remote refs found similar to ‘flathub’

Нет доступного репозитория их следует добавить.

$ flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo

Для второго случая:

$ flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Неправильное имя файла

Внимание! error: Nothing matches io.brackets.Brackets.flatpakref in remote flathub

Неправильное название файла ярлыка. Например: 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

# 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 вызывает вылет при загрузке.

Полезные ссылки