Каковы различия между оснастками, appimage, flatpak и другими?
В последнее время я получал этот вопрос от студентов, и, хотя у меня есть много информации, которую я могу предложить, я не нашел источника, на который я мог бы указать людям, где они могли бы прочитать обновленный ответ (я нашел много дезинформации и устаревшей информации). Итак, некоторые вопросы, которые у меня возникают по поводу форматов упаковки, таких как snap, appimage, flatpak и другие в этой эволюции универсальных упаковочных систем:
- Кто создал формат пакета?
- Какие функции он предлагает?
- Какие особенности являются уникальными для него? (Что у других еще нет)
- Кто это поддерживает?
- Какие дистрибутивы используют это?
- На чем сфокусирован пакет? (Для настольных компьютеров, облаков, мобильных устройств и т. Д.)
- Какие из них более активно развиваются?
5 ответов
Вот длинное табличное сравнение функций AppImage против Snap и Flatpak. Это из AppImage Wiki на GitHub:
Снимки были созданы Canonical для Ubuntu. Основными преимуществами оснастки являются:
- Независимость от зависимостей - все библиотеки и зависимости включены в пакет. Это также позволяет иметь больше версий одной и той же программы.
- Песочница - привязки используют модифицированный AppArmor для песочницы приложений
- Дельта-обновления - снимки также должны разрешать дельта-обновления
Основным недостатком моментальных снимков является то, что программное обеспечение может использовать только библиотеки, включенные в его пакет. Это потенциальная угроза безопасности, так как автору пакета необходимо постоянно обновлять и обновлять все библиотеки.
Snaps в настоящее время могут работать в Ubuntu, Arch Linux, Fedora, Linux Mint, CentOS и Gentoo. Они также используются в Ubuntu Touch. Они предназначены для настольных компьютеров, серверов, телефонов, IoT и маршрутизаторов.
Flatpak имеет те же преимущества, что и оснастка. Тем не менее, он использует пространства имен вместо AppArmour для песочницы. Основное отличие состоит в том, что Flatpaks может использовать библиотеки, включенные в пакет, и общие библиотеки из другого Flatpak.
Разработчиком Flatpak является сотрудник Red Hat Александр Ларссон. Программное обеспечение Flatpak в настоящее время доступно в Arch Linux, Debian, Fedora, Mageia, Solus и Ubuntu. Он ориентирован только на рабочие столы.
AppImages разработан Саймоном Питером. Как и в Snaps или Flatpak, пакет включает в себя все библиотеки, необходимые для запуска программы. Программы AppImage не являются изолированной программной средой, и для их запуска не требуются права root. Согласно веб-сайту проекта, AppImages должен работать на Arch Linux, Centos, Debian, Fedora, OpenSUSE, Red Hat Linux и Ubuntu.
Не забыл главное, это Open source?
AppImage
Клиент с
открытым исходным кодом ✅ Да Сервер с открытым исходным кодом ✅ Да
Щелчок
Клиент с открытым исходным кодом ✅ Да
Сервер с открытым исходным кодом:x: Нет
Flatpak
Клиент с
открытым исходным кодом ✅ Да Сервер с открытым исходным кодом ✅ Да
Я нашел интересное сравнение производительности (ЦП + память) для этих систем упаковки.
VLC
LibreOffice
GIMP
Если у вас запущено несколько плоских пакетов, файловая система работает неправильно. Например, если у меня открыты Openscad и Flashprint, я могу записывать на диски из Openscad, но не из Flashprint. В Snap вроде проблем нет.