LINUX.ORG.RU

Что такое Flatpak, Snap и AppImage - простыми словами

 , ,


2

1

Я достаточно много информации изучил по Flatpak, Snap (Snappy) и AppImage, но не уверен, что понял все правильно. Хотелось бы попросить кого-то из ЛОРовцев разъяснить, что такое Flatpak и Snap и как конкретно они работают. Чуть ниже я приведу несколько утверждений, и прошу пояснить, верные они или нет, и там, где я ошибся, указать, как дела обстоят на самом деле


Итак:
0. Задача Flatpak и Snap - упростить для конечного пользователя процесс установки программ, которые не содержатся в менеджере установки ПО его дистрибутива, а для разработчика процесс сборки программ, дабы ему не пришлось собирать отдельные DEB-ы и RPM-ы.
1. Flatpak (и Snap) являются дополнением для систем DEB и RPM, объединяющей все семейства дистрибутивов, но не может использоваться для ядра и некоторых базовых компонентов системы.
2. файл .flatpak может физически содержать бинарные файлы устанавливаемых программ и их зависимости, но разработчики предпочитают использовать онлайн-сервис flathub
3. Flatpak (и Snap) НЕ является скриптом, который содержит информацию об устанавливаемой программе и списке ее зависимостей
4. Flatpak (и Snap) все равно, на каком конкретно дистрибутиве Linux он запущен
5. Flatpak (и Snap) требует установки рантайма (-ов).
6. Приложения, устанавливаемые через Flatpak и Snap, и все их зависимости устанавливаются в песочницу, и не заменяют собой системные версии файлов и библиотек
7. Snap - это концептуально то же самое, что Flatpak, но с единым «магазином», который контролируется Canonical, плюс нужно подписать с Canonical соглашение для его использования, поэтому, если разработчик уже поддерживает flatpak, то единственная причина поддерживать еще и snap - выделенное место на серверах Canonical для хранения его файлов, хотя технически flatpak и snap, конечно, имеют отличия.
8. «Зоопарк» различных версий пакетов для дистрибутивов это навсегда и реальных альтернатив для DEB и RPM нет и не предвидится, так как основная проблема несовместимости различных дистрибутивов даже не в самой разнице форматов DEB и RPM, а в наборах используемых в разных дистрибутивах библиотек, структуре файлов, расположении каталогов и т.д., и нет надежды на то, что разработчики Red Hat, Debian, Ubuntu, Arch и OpenSuse когда-нибудь решат сесть за стол переговоров и утвердить единый общий для всех стандарт и унифицированный менеджер пакетов...
9. ...но есть AppImage - большой увесистый архив, внутри которого содержится программа в универсальном для всех дистрибутивов бинарном виде и все ее зависимости в известном данной программе виде, - программа ставится в песочницу и работает в любом дистрибутиве линукс, однако сделать так, чтобы устанавливаемая через AppImage программа работала и работал хорошо на всех возможных дистрибутивах - сложно, поэтому перспективность AppImage под вопросом, а вот у flatpak будущее однозначно есть.


Верны ли данные утверждения?

★★★

Ответ на: комментарий от anonymous

Не более чем снап

Ну нет. У snap всё же основное применение это для серверов и IoT. А десктоп — это так побочное.

Ну как и Ubuntu в целом.

fornlr ★★★★★ ()
Ответ на: комментарий от Deleted

это считают нормальным

Сами же говорят, что решение временное, чтобы привлечь аудитории и собрать базу программ побольше.

gasinvein ★★★ ()
Ответ на: комментарий от gasinvein

нет ничего более постоянного, чем временное :) Ну понятно

Deleted ()

Тред не читал, это как динамическая линковка и распространение всех используемых библиотек «с собой» - только мейнтейнеру не нужно всё вручную делать, всё само сделается

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от anonymous

Простите за оффтопик, но искренне удивлен, что GUI с концепцией Gnome 3 может в принципе кто-то сознательно пользоваться. Немного изучал эргономику в университете и есть такое ощущение, что гномовцы пытались сделать все с точностью наоборот.

Opeth ★★★ ()
Ответ на: комментарий от gasinvein

Внес в первый пост финальные исправления. Спасибо, что помогли разобраться.

Opeth ★★★ ()
Ответ на: комментарий от Opeth

Ну контрол сентер там по серьезнее будет в темных тонах и более взрослый не усеянный тысячу kwin функции которые я не употребляю , и все то на budgie с fps больше чем у xfce OS3.0

anonymous ()
Ответ на: комментарий от Opeth

5. Flatpak (и Snap) требует установки рантайма (-ов).

не требует, а сам устанавливает (из интернетов)

у flatpak будущее однозначно есть.

Только лишь как один из пунктов списка 'Download as' на сайте разработчика, наряду с deb, rpm, tgz, etc

Кстати, как flatpak решит вопрос комбинаторного увеличения количества дистрибутивов ПО под разные архитектуры? (amd64, x86, armel, arm64 для начала) ?

Deleted ()
Ответ на: комментарий от Deleted

вопрос комбинаторного увеличения количества дистрибутивов ПО под разные архитектуры

А в чём вопрос-то?

gasinvein ★★★ ()
Ответ на: комментарий от gasinvein

Позволяет ли оно распространять сотнимегабайтный один .flatpak без заморочек со всеми предоставляемыми разработчиком архитектурами?

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Вряд ли. Хотя принципиально это вроде возможно, но вопрос скорее к OSTree - можно ли включить несколько ref'ов в один срез.
А зачем, собственно?

gasinvein ★★★ ()
Последнее исправление: gasinvein (всего исправлений: 1)
Ответ на: комментарий от gasinvein

всмысле, зачем? Для удобства распространения. Раз мы отказываемся от десятка отдельных зависимостей, почему бы не улучшить еще немного. А то получается полумера. Кто хочет лицезреть и выбирать себе архитектуру, пусть идет в rpm или ebuild.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Для удобства распространения в flatpak'е используются репозитории (и файлы .flatpakref для их прозрачного добавления). Возможность изготовить бандл с программой скорее побочная.

gasinvein ★★★ ()
Ответ на: комментарий от gasinvein

Для удобства распространения в flatpak'е используются репозитории

это их ошибка, ИМХО. Так и будут тянуть эту заморочку, а она не нужна. Для удобства первичен единый установочный файл. А то, что его еще скачать откуда то можно - это уже не важно. Я вот по террентам хочу их раздавать, как тебе такое илон маск :)

Deleted ()
Ответ на: комментарий от Deleted

это их ошибка, ИМХО. Так и будут тянуть эту заморочку, а она не нужна

Здесь требуется аргументация.

Я вот по террентам хочу их раздавать

P2P для загрузки контента, вроде, уже впилили (или в процессе).

gasinvein ★★★ ()
Ответ на: комментарий от gasinvein

Здесь требуется аргументация.

Ты чего такой серьезный? Разработчик flatpak? Я бы не хотел приводить аргументы человеку, который не понимает, что значит легкость и простота распространения. Если такие во flatpak-е - то не судьба значит. Ну я и не надеялся.

Deleted ()
Ответ на: комментарий от Deleted

Мое видение супер простого способа распростаренения - единственный файл, .flatpak_v2. Формат которого таков, что первой строкой в нем идет подобие magnet-link. Всё. Система с хабом - должна быть всего лишь надстройкой над ним. Когда очередный безумный копирайтер или ханжа засудит конкретный хаб, никому не будет дела, потому что у многих будут лежать архивы, которые таким же образом можно раздавать, по хешу. Передать эти файлы можно будет хоть на флешках, хоть в письме. А изначально эти файлы должны исходить от разработчика и публиковаться на _его_ сайте. Хаб - это не сборище мейнтейнеров-пересборщиков, а просто каталог и дополнительная нода раздачи для существующих официальных .flatpak_v2

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

легкость и простота распространения

Вареза, видимо? Потому что для легального контента везде есть «магазины», и это точно удобнее, чем скачивать setup.exe с сайтов.

Разработчик flatpak?

Нет, но пытаюсь участвовать в наполнении Flathub'а.

что первой строкой в нем идет подобие magnet-link. Всё. Система с хабом - должна быть всего лишь надстройкой над ним

Технически мне это видится вполне реализуемым. Flatpak не приколочен к своим репозиториям, и по сути ему всё равно, откуда взялись данные локального OSTree - с http-зеркала, из файла со срезом или были собраны у тебя на компе. Думаю, вместо http-зеркала возможно использовать, к примеру, торрент.

gasinvein ★★★ ()
Последнее исправление: gasinvein (всего исправлений: 1)
Ответ на: комментарий от gasinvein

Вареза, видимо?

не разработчикам формата об этом судить. Можете поговорить об этом с Рошалем или менее известными разработчиками архиватора .cab и форматов .exe, .msi, .iso.

Существуют контент кроме вареза, о существовании которого вы можете даже не догадываться.

Если flatpak имеет ограничение на содержимое, пожалуйста, это надо указывать на главное странице проекта.

пытаюсь участвовать в наполнении Flathub

за дела в любом случае респект

Deleted ()
Последнее исправление: Deleted (всего исправлений: 2)

2. файл .flatpak может физически содержать бинарные файлы устанавливаемых программ и их зависимости, но разработчики предпочитают использовать онлайн-сервис flathub

Чушь какая-то, типа «Автомобиль может физически содержать двигатель и прочие агрегаты, но производители предпочитают использовать автосалон».

nvl ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.