Flatpak
Информайия по Flatpak
Что такое Flatpak пакеты?
Flatpak – это современный прогрессивный формат самодостаточных пакетов для GNU/Linux. Он поддерживает рантаймы, изоляцию внутри песочниц, установку без наличия прав суперпользователя и многое другое.
Какие преимущества и недостатки у Flatpak пакетов?
Преимущества:
поддерживает динамическую линковку с большим количеством библиотек из рантаймов, что решает проблемы с лицензированием, их поддержкой в актуальном состоянии и исправлением в них ошибок, а также уязвимостей;
библиотеки, для которых нет рантаймов, могут быть упакованы непосредственно внутрь флатпака и подгружаться по мере необходимости;
Flatpak позволяет установить разные версии приложений одновременно;
для установки не требуются права суперпользователя;
поддерживается контейнерная изоляция приложения внутри собственной песочницы;
приложению могут быть выданы только необходимые права доступа и разрешения;
могут использоваться на любом дистрибутиве GNU/Linux без перекомпиляции и перекомпоновки;
лёгкое создание и хостинг собственных репозиториев.
Недостатки:
из-за того, что Flatpak пакеты по определению должны запускаться на разных дистрибутивах, они содержат в себе все зависимости либо в виде рантаймов, либо внутри флатпака;
в публичных репозиториях (например Flathub) мейнтейнеры не занимаются обновлением своих пакетов до актуальных рантаймов, из-за чего уже при установке нескольких приложений в системе появится куча различных версий одних и тех же рантаймов, что тратит очень много места на диске впустую;
из-за использования разных рантаймов полноценно не используется разделяемая память библиотек, т.е. каждое приложение загружает все свои зависимости в собственное адресное пространство;
отсутствует возможность использования общесистемных настроек среды для контейнеризированных приложений;
отсутствует возможность использования уже установленных в системе библиотек.
Репозитории Flatpak
Подключение Flathub
Подключим Flathub в Fedora из консоли, выполнив следующую команду:
Установка пакетов через Flatpak
Установим пакет для текущего пользователя (для этого не требуется повышение прав до суперпользователя):
Здесь после команды install указывается репозиторий, откуда данный пакет будет установлен, а также его уникальный идентификатор внутри него.
Графические менеджеры пакетов вроде Gnome Software также поддерживают установку флатпаков. Нужно лишь выбрать интересующий нас пакет на одноимённой странице и нажать кнопку Установить.
Запуск пакетов
Однако в большинстве случаев запускать пакеты вручную не требуется, т.к. актуальная версия Flatpak автоматически создаёт ярлыки в главном меню используемой графической среды пользователя.
Удаление пакетов
Удалим установленный в профиле текущего пользователя пакет:
Обновление пакетов
Проверим доступность обновлений для установленных пакетов:
Обновим конкретный пакет посредством flatpak update:
Управление Flatpak приложениями
Обновить все Flatpak приложения:
flatpak update
Посмотреть список приложений Flatpak:
flatpak list
Удалить Flatpak приложение:
flatpak remove org.название.приложения
Тонкая настройка Sandbox окружения
Как уже говорилось выше, пакеты по умолчанию запускаются в изолированных контейнерах для максимальной безопасности, и по умолчанию имеют доступ к каталогам, прописанным в их манифестах, однако многие мейнтейнеры для удобства указывают домашний каталог пользователя целиком.
Политики Flatpak позволяют нам гибко управлять этим посредством команды flatpak override.
Пример 1. Запретим браузеру Firefox доступ к любым каталогам, за исключением стандартного каталога хранения загружаемых файлов:
Пример 2. Запретим клиенту Transmission доступ к домашнему каталогу, за исключением ~/mydir:
Last updated