hostprofi.ru
Подобрать хостинг
Термин·буква F

Flatpak

краткое определение

Flatpak — система установки приложений для Linux в изолированных контейнерах. Позволяет устанавливать актуальные версии программ независимо от дистрибутива и его репозиториев.

Flatpak — система упаковки и дистрибуции приложений для Linux с изоляцией через контейнер и универсальностью: один пакет работает на любом дистрибутиве (Ubuntu, Fedora, Debian, openSUSE) без переупаковки. Приложение включает собственные зависимости — не зависит от версий системных библиотек. Главный репозиторий — Flathub.org с более чем 2 000 приложений.

Принцип работы

Flatpak использует OSTree (version control для файловых систем) для хранения и обновления приложений. Каждое приложение запускается в sandbox с ограниченным доступом к файловой системе, сети и устройствам через Portals API. Приложение видит только свой ~/.var/app/{appid}/ и файлы, доступ к которым разрешён пользователем через диалог.

Основные команды

# Добавить репозиторий Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# Установить приложение
flatpak install flathub org.libreoffice.LibreOffice

# Запустить приложение
flatpak run org.gimp.GIMP

# Обновить все приложения
flatpak update

# Список установленных
flatpak list

# Удалить
flatpak uninstall org.libreoffice.LibreOffice

История

Flatpak разработан Александром Ларссоном (Alexander Larsson) из Red Hat в 2007 году (тогда проект назывался Glick). В 2012 году переименован в xdg-app, затем в 2016 году — в Flatpak. Flathub.org запущен в 2017 году как центральный репозиторий. Red Hat, Endless OS и другие компании активно участвуют в разработке. Конкурент — Snap от Canonical: принудительно использует только их реестр (snapcraft.io).

Flatpak vs Snap vs AppImage

ПараметрFlatpakSnapAppImage
SandboxДа (строгий)ДаНет
Децентрализованные репоДаНет (только Snapcraft)N/A
Скорость запускаСредняяМедленная (snapd daemon)Быстрая
Серверное применениеНетИногдаНет

Flatpak и серверный хостинг

Flatpak ориентирован на десктопные приложения — на серверах без GUI практически не применяется. Серверный аналог для изоляции приложений — Docker/Контейнеры: они обеспечивают изоляцию и воспроизводимость для серверных сервисов (Nginx, MySQL, Redis) без GUI. Для серверной установки стандартных приложений используй APT, DNF или Docker.

История Flatpak

Flatpak (ранее xdg-app) разработан Александром Ларссоном (Alexander Larsson) из Red Hat в 2013–2016 годах. Проект ответил на давнюю проблему Linux: разные дистрибутивы имели разные версии системных библиотек, из-за чего разработчики вынуждены были создавать пакеты для каждого дистрибутива отдельно. Flatpak 0.9.0 переименован из xdg-app в 2016 году; Flathub.org (централизованный репозиторий) запущен в 2017 году. К 2023 году Flathub содержит более 2 000 приложений с 2+ миллионами уникальных установок в месяц.

Flatpak vs Snap vs AppImage

ПараметрFlatpakSnap (Canonical)AppImage
РепозиторийFlathub.org (независимый)Snap Store (Ubuntu)Нет централизованного
ИзоляцияБуддерфи (sandbox)AppArmor/seccompНет изоляции
АвтообновлениеДа (фоново)Да (автоматически)Нет
Серверное применениеОчень ограниченноеСерверные снапы (ограниченно)Нет
Размер пакетовБольше (зависимости)БольшеКомпактно

На что обращать внимание

Flatpak предназначен исключительно для десктопных приложений с GUI. На VPS без графического интерфейса Flatpak не имеет смысла — для серверных сервисов используй APT, DNF или Docker. Пакеты Flatpak крупнее нативных из-за bundled-зависимостей: LibreOffice в Flatpak занимает ~1 ГБ против ~300 МБ в APT. Sandbox ограничивает доступ к файловой системе и сети — иногда требуется дополнительная настройка разрешений через flatpak override.

Другие термины