Flatpak — это утилита для развертывания программного обеспечения и управления пакетами для Linux . Она рекламируется как предлагающая среду -песочницу , в которой пользователи могут запускать прикладное программное обеспечение изолированно от остальной части системы. [5] [6] Flatpak был известен как xdg -app до 2016 года. [7]
Приложения, использующие Flatpak, нуждаются в разрешениях на доступ к таким ресурсам, как Bluetooth , звук (с PulseAudio ), сеть и файлы . Эти разрешения настраиваются разработчиком Flatpak и могут быть добавлены или удалены пользователями в их системе. [8] [9]
Еще одной ключевой особенностью Flatpak является то, что он позволяет разработчикам приложений напрямую предоставлять обновления пользователям, минуя дистрибутивы и не упаковывая и не тестируя приложение отдельно для каждого дистрибутива. [10]
Поскольку Flatpak работает в песочнице (которая предоставляет отдельную, стабильную версию ABI всех распространенных системных библиотек), он использует больше места в системе, чем обычные собственные пакеты. Однако OSTree , технология, лежащая в основе Flatpak, будет дедуплицировать соответствующие файлы. Это означает, что первые несколько установок Flatpak будут занимать больше места, но по мере добавления большего количества пакетов система будет использовать пространство более эффективно. [11]
Flathub , репозиторий (или удаленный источник в терминологии Flatpak), расположенный по адресу flathub.org
, стал фактическим стандартом для получения приложений, упакованных с помощью Flatpak. [12] Пакеты предоставляются как администраторами Flathub, так и разработчиками приложений, с заявленным предпочтением для предложений от самих разработчиков. [13] Хотя Flathub является фактическим источником приложений, упакованных с помощью Flatpak, можно разместить репозиторий Flatpak, который независим от Flathub. [14] [15] [16]
Теоретически приложения Flatpak можно установить на любой существующий и будущий дистрибутив Linux , включая те, которые установлены с уровнем совместимости подсистемы Windows для Linux , при условии доступности bubblewrap и OSTree .
Его также можно использовать в системах на базе ядра Linux, таких как ChromeOS . [17]