Если бы вы в последнее время обратили внимание на сообщество Linux, вы бы подумали, что идет война пакетов. С одной стороны у вас есть пакеты Snappy Ubuntu, технология, изначально созданная для Ubuntu. Теперь, с выпуском Snapd, его можно запустить практически на чем угодно.
С другой стороны, у вас есть Flatpaks, во многом похожий на Snaps, за исключением того, что он имеет более открытый исходный код и использует отдельные репозитории, а не одно центральное расположение. Эту технологию также можно установить практически на что угодно. Итак, какой из них лучше? Какой из них вам следует использовать? И самое главное, в чем различия? Давайте узнаем!
В чем различия?
Различия между пакетами Snap и Flatpaks на самом деле не так уж и велики. Snap был создан компанией Canonical – компанией, стоящей за Ubuntu – и эта технология жестко запрограммирована для использования хранилища пакетов Snap. Некоторые могут нервничать по этому поводу, поскольку Ubuntu имеет полный контроль, и на самом деле, чтобы создать пакет Snap, вам нужно подписать лицензионное соглашение для участников (против чего некоторые люди очень сильно выступают).
В Flatpaks все имеет открытый исходный код и не так централизовано, как в Snaps. Более важно то, что пакеты Flatpaks больше ориентированы на доставку программного обеспечения на настольные компьютеры, а пакеты Snap – это, по сути, просто серверная технология, которую Canonical переняла для настольных компьютеров, но работает и для тех, и для других.
У Flatpak нет централизованного хранилища. Даже сейчас, если вы установите его, вам не обязательно удастся так легко все запустить. Программное обеспечение по сути работает так же, как система Ubuntu PPA. Вам нужно пойти и найти репозиторий, а затем добавить его. Это контрастирует с тем, как работают Snaps, которые можно приобрести только в магазине Snappy Store Canonical и больше нигде (на данный момент).
При установке пакета Snap вы, по сути, получаете каждый компонент программного обеспечения, необходимый для запуска чего-либо, в одном пакете (если вы запутались, подумайте о Докер-контейнеры ). Например: вы устанавливаете Snap, который объединяет весь рабочий стол Gnome. В комплекте будет все, включая библиотеки и все такое.
С Flatpak все немного по-другому. Возьмите пример с Gnome. В пакете Gnome Desktop будут все необходимые файлы, но не все библиотеки — если только разработчик не решит это сделать. Команда Flatpak создала среду выполнения, в которой должно быть все необходимое.
Какой из них следует использовать?
Сложно сказать, какая технология будет здесь лидером. Нет никаких сомнений в том, что мое мнение по этому вопросу будет встречено некоторыми гневными комментариями, аргументирующими предпочтение одной позиции над другой, поэтому, прежде чем идти дальше, я просто хотел бы внести ясность. Пакеты Flatpaks и Snap — очень интересные и уникальные идеи.
Мне ясно, по крайней мере сейчас, что Snap-пакеты подойдет, если вам нужен «универсальный формат пакета». Поскольку Snapd доступен практически для каждого дистрибутива, на котором он может быть создан, приступить к работе становится все проще. Самое главное, что это может понять каждый. Вам не нужно искать URL-адреса репозитория , как Flatpak. Просто установите и работайте.
Это не значит, что Flatpak бесполезен. Например, если вы используете Fedora 24, вам следует в полной мере воспользоваться преимуществами Flatpak. Вы также можете заставить его работать в Arch, если вам это нравится, установив пакет АУР или создав его самостоятельно из Гитхаб .
Заключение
Хотя Flatpak и Snappy не являются новыми идеями, за ними стоит большая сила. В прошлом у нас были такие инструменты, как AppImage (и другие), но они никогда не пользовались такой популярностью. Тем не менее, я думаю, что и Flatpak, и Snappy имеют все необходимое, чтобы сделать более универсальными инструменты установки в Linux – даже если это означает, что у нас есть два основных формата вместо одного.
Некоторые говорят, что слишком большой выбор в Linux — это плохо. У нас слишком много дистрибутивов, слишком много форматов двоичных пакетов, слишком много вариантов файловых систем, слишком много сред рабочего стола, и этот список можно продолжать. Однако я думаю, что то, что некоторые называют слабостью, на самом деле является и большой силой. Мы можем подстраховаться как с помощью Snappy, так и с Flatpak. Если один окажется плохим, мы можем попробовать что-то другое, а если оба хороши, это беспроигрышная ситуация, в которой мы все пожинаем плоды.
Как вы относитесь к упаковке Snap по сравнению с пакетами Flatpaks? Расскажите нам ниже!