Основные понятия
Как использовать Flatpak можно понять с помощью небольшого количества ключевых терминов. Полезно ознакомиться с ними, прежде чем узнавать, как использовать Flatpak из командной строки или использовать его для создания приложений.
Среда выполнения
Среды выполнения предоставляют основные зависимости, которые используются приложениями. Каждое приложение должно быть построено на основе среды выполнения, и эта среда выполнения должна быть установлена в хост-системе, чтобы приложение могло работать (Flatpak может автоматически установить среду выполнения, требуемую приложением). Одновременно можно установить несколько разных сред выполнения, включая разные версии одной и той же среды выполнения.
Среда выполнения не зависит от дистрибутива и не зависит от конкретной версии дистрибутива. Это означает, что они обеспечивают стабильную базу для перекрестного распространения приложений и позволяют приложениям продолжать работать независимо от обновлений операционной системы.
Связанные библиотеки
Если приложению требуются какие-либо зависимости, которых нет во время выполнения, они могут быть объединены как часть приложения. Это дает разработчикам приложений гибкость в отношении используемых ими зависимостей, включая использование:
библиотеки, которые недоступны в среде выполнения
версии библиотек, отличные от тех, что находятся в среде выполнения
пропатченные версии библиотек
Песочницы
В Flatpak каждое приложение создается и запускается в изолированной среде, которая называется «песочницей». Каждая песочница содержит приложение и его среду выполнения. По умолчанию приложение может получить доступ только к содержимому своей песочницы. Доступ к пользовательским файлам, сети, графическим сокетам, подсистемам на шине и устройствам должен быть явно разрешен. Доступ к другим вещам, например, к другим процессам, намеренно невозможен.
По необходимости, некоторые ресурсы, находящиеся внутри песочницы, должны быть открыты снаружи, чтобы их могла использовать хост-система. Они известны как «экспорт», поскольку представляют собой файлы, которые экспортируются из песочницы и включают такие вещи, как файл и значок приложения .desktop
.
Порталы
Порталы - это механизм, с помощью которого приложения могут взаимодействовать с хост-средой из песочницы. Они дают возможность взаимодействовать с данными, файлами и службами без необходимости добавлять разрешения песочницы.
Примеры возможностей, к которым можно получить доступ через порталы, включают открытие файлов через диалоговое окно выбора файлов или печать. Наборы инструментов интерфейса могут реализовать прозрачную поддержку порталов, поэтому доступ к ресурсам за пределами песочницы будет работать безопасно и из коробки.
Более подробную информацию о порталах можно найти в Разрешения песочницы.
Репозитории
Приложения и среды выполнения Flatpak обычно хранятся и публикуются с помощью репозиториев, которые очень похожи на репозитории Git. Репозиторий Flatpak может содержать один объект или несколько объектов, и каждый объект имеет версии, что позволяет обновлять и даже понижать версию.
Каждую систему, использующую Flatpak, можно настроить для доступа к любому количеству удаленных репозиториев. После того, как система настроена для доступа к «удаленному», содержимое удаленного репозитория можно проверять и искать, и его можно использовать в качестве источника приложений и сред выполнения.
При выполнении обновления новые версии установленных приложений и сред выполнения загружаются с соответствующих удалённых. Как и в случае с Git, загружается только разница между версиями, что делает процесс очень эффективным.