Каковы различия между оснастками, appimage, flatpak и другими?

В последнее время я получал этот вопрос от студентов, и, хотя у меня есть много информации, которую я могу предложить, я не нашел источника, на который я мог бы указать людям, где они могли бы прочитать обновленный ответ (я нашел много дезинформации и устаревшей информации). Итак, некоторые вопросы, которые у меня возникают по поводу форматов упаковки, таких как snap, appimage, flatpak и другие в этой эволюции универсальных упаковочных систем:

  • Кто создал формат пакета?
  • Какие функции он предлагает?
  • Какие особенности являются уникальными для него? (Что у других еще нет)
  • Кто это поддерживает?
  • Какие дистрибутивы используют это?
  • На чем сфокусирован пакет? (Для настольных компьютеров, облаков, мобильных устройств и т. Д.)
  • Какие из них более активно развиваются?

5 ответов

Решение

Вот длинное табличное сравнение функций AppImage против Snap и Flatpak. Это из AppImage Wiki на GitHub:

Сравнение AppImage и Snap против Flatpack

Снимки были созданы 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

Источник: https://verummeum.com/portable-package-formats/

Если у вас запущено несколько плоских пакетов, файловая система работает неправильно. Например, если у меня открыты Openscad и Flashprint, я могу записывать на диски из Openscad, но не из Flashprint. В Snap вроде проблем нет.

Другие вопросы по тегам