Flatpak против Snaps против Appimage против Packages — сравнение форматов пакетов Linux
Автор: The Linux Experiment
Загружено: 2020-06-23
Просмотров: 218354
Посетите http://linode.com/linuxexperiment и получите 20$ на свой новый аккаунт Linode!
Linux часто пользуется дурной славой, когда дело касается установки программного обеспечения, и это в основном связано с тем, что существует множество различных форматов распространения приложений. Большинство из них также неправильно поняты или связаны с предвзятым отношением, поэтому, думаю, пришло время разобраться в различиях между различными форматами пакетов!
Поддержите канал на Patreon:
/ thelinuxexperiment
Подпишитесь на меня в Твиттере: / thelinuxexp
Мой канал «Игры на Linux»: / @thelinuxgamingexperiment1440
Подпишитесь на меня в LBRY: https://lbry.tv/@TheLinuxExperiment:e
Существует два основных формата пакетов: DEB и RPM. Deb-пакеты используются Debian и дистрибутивами на его основе, такими как Ubuntu, а RPM-пакеты — Fedora, Red Hat и OpenSUSE. Оба эти формата обычно скачиваются непосредственно из репозиториев дистрибутива или могут быть установлены вручную. Они содержат двоичную версию приложения или библиотеки, которую вы пытаетесь установить, то есть они уже скомпилированы для архитектуры вашей системы. Эти пакеты поставляются с описательным файлом, который также включает все библиотеки и другие приложения, необходимые вашей программе для работы.
Пакеты DEB и RPM обладают рядом преимуществ: они быстро устанавливаются, уже скомпилированы для вашей архитектуры и мгновенно подтягивают все ваши зависимости, если они доступны. Однако у них есть недостатки: во-первых, поскольку эти пакеты привязаны к дистрибутиву, разработчикам приложений приходится упаковывать свои приложения для нескольких дистрибутивов, разных версий и архитектур этих дистрибутивов.
Для решения этих проблем был создан формат Flatpak. Он отличается от пакетов одним важным моментом: хотя Flatpak также поставляются в виде двоичных файлов, то есть компиляция не требуется, они также включают все необходимые библиотеки непосредственно в пакет. Они также могут использовать общие библиотеки, предоставляемые другими Flatpak.
Flatpak также относительно быстро устанавливаются и могут быть загружены из репозиториев, называемых удалёнными репозиториями. Самый крупный из них — Flathub, который является источником большинства доступных приложений Flatpak.
Flatpaks также создают некоторые проблемы, в основном связанные с безопасностью: хотя Flatpaks и изолированы, они всё равно могут предоставлять устаревшие версии библиотек, которые разработчик может поддерживать в актуальном состоянии.
Они также занимают больше места. Flatpaks могут работать на любом дистрибутиве, где установлен пакет Flatpak, и их можно загрузить из центров программного обеспечения большинства дистрибутивов, если в них добавлен удалённый доступ к FlatHub.
Моментальные пакеты (snaps) основаны на той же модели, что и FlatPak: это двоичные приложения, поставляемые в одном пакете со своими зависимостями. Они также могут использовать среды выполнения и изолированы, чтобы Snaps не могли видеть или читать всё, что есть в вашей системе.
Однако Snaps имеют интересное отличие: они также могут предоставлять серверные компоненты. В то время как FlatPak в основном ориентированы на графические приложения, Snaps могут содержать пакеты командной строки. Другое отличие заключается в том, что Snaps можно обновлять во время использования и получать дельта-обновления. Snaps также можно легко откатить к предыдущей версии.
Однако у Snap есть некоторые недостатки: во-первых, они не используют системную тему. Во-вторых, они не могут использовать внешние репозитории: все Snap поставляются через Snapcraft, который является «официальным» центром распространения.
Snap, как правило, больше по размеру и запускаются медленнее, чем FlatPak или обычные пакеты. Snap могут работать в любом дистрибутиве, имеющем доступ к Snapd, бэкенд-компоненту Snap.
Appimages — это ещё один способ распространения приложений в одном пакете. Они используют метод «одно приложение — один файл»: AppImage содержит все необходимые файлы и все библиотеки в одном файле. Они не загружаются из репозитория, но существует AppImage Hub — веб-сайт, на котором представлено большинство, если не все, доступных AppImages.
Их можно просто скачать вручную и сразу же запустить, где бы они ни находились в системе. Не нужно устанавливать среды выполнения или общие компоненты, такие как Snaps или FlatPaks, вы можете просто разместить свой AppImage в любом месте и запустить его.
Это означает, что образы приложений невероятно портативны: чтобы сохранить все свои приложения, достаточно просто скопировать их, и всё готово.
Это большое преимущество, но есть и некоторые недостатки: во-первых, невозможно обновить образ приложения, не загрузив новую версию самостоятельно, что немного похоже на приложения в Windows.
Образы приложений также совершенно не привязаны к теме системы и могут стать довольно большими, поскольку не используют общие среды выполнения. Образы приложений могут работать...
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: