Поиск по сайту:

3 лучших универсальных менеджера пакетов для Linux в 2023 году


Управление пакетами или установка программного обеспечения в системах Linux может быть очень загадочной, особенно для новичков (новых пользователей Linux), поскольку в разных дистрибутивах Linux используются разные традиционные системы управления пакетами. Самая запутанная часть всего этого в большинстве случаев — это разрешение/управление зависимостями пакетов.

Например, дистрибутивы на основе Debian, такие как Ubuntu и Linux Mint, используют пакеты .deb, управление которыми осуществляется через систему управления пакетами dpkg.

С другой стороны, дистрибутивы на основе RHEL, такие как CentOS Stream, Rocky Linux и AlmaLinux, используют .rpm. пакеты, которые управляются с помощью системы управления пакетами rpm.

За последние несколько лет управление пакетами и их распространение в экосистеме Linux никогда не было прежним после появления универсальных или перекрестных инструментов управления пакетами.

Эти инструменты позволяют разработчикам упаковывать свое программное обеспечение или приложения для нескольких дистрибутивов Linux из одной сборки, что позволяет пользователям легко устанавливать один и тот же пакет в нескольких поддерживаемых дистрибутивах.

В этой статье мы рассмотрим три лучшие универсальные или кросс-дистрибутивные системы управления пакетами с открытым исходным кодом для Linux.

1. Snap – универсальный формат упаковки

Snap — это популярный формат приложений/пакетов с открытым исходным кодом и система управления пакетами, разработанная Canonical, разработчиком Ubuntu Linux. Некоторые дистрибутивы Linux теперь поддерживают Snap, включая Ubuntu, Debian, Fedora, Arch Linux, Manjaro . и CentOS/RHEL.

Простая установка и обновления

Приложение snap — это приложение, предназначенное для разных дистрибутивов, в комплекте со всеми его зависимостями (без зависимостей) для простой установки с автоматическими обновлениями (приложения всегда актуальны) в любом дистрибутиве Linux, поддерживающем Snap. Snap может работать на рабочем столе, сервере, в облаке или в IoT (Интернете вещей).

Чтобы создать или привязать приложение, вы используете Snapcraft, платформу и мощный инструмент командной строки для создания привязок. Для установки и использования snap в Linux необходимо установить snapd (или демон snappy), фоновую службу, которая позволяет системам Linux работать с файлами .snap. Фактическая установка снимков выполняется с помощью инструмента командной строки snap.

Безопасность и изоляция

Поскольку они работают в условиях изоляции (различные и настраиваемые уровни изоляции), снимки по умолчанию безопасны. Важно отметить, что привязка, которой требуется доступ к системному ресурсу за пределами ее границ, использует «интерфейс», который тщательно выбирается создателем привязки на основе требований к привязке. Это позволяет запускать приложения без ущерба для стабильности и гибкости базовой операционной системы.

Кроме того, система управления пакетами Snap использует концепцию, называемую каналы (которая состоит из дорожек, уровней риска и ветвей и подразделяется на них), чтобы определить, какая версия Snap установлена и отслеживается на наличие обновлений. Snaps также автоматически обновляются — процесс, которым вы можете управлять вручную.

Чтобы найти и установить снап, найдите его в магазине снапов (место, где разработчики могут делиться своими снапами) или узнайте о нем больше, используя наши руководства:

2. Flatpak – совместимость между дистрибутивами

Flatpak — это известная платформа с открытым исходным кодом для распространения настольных приложений в дистрибутивах Linux. Flatpak, разработанный независимым сообществом, позволяет устанавливать и запускать одну сборку приложения практически в любом дистрибутиве Linux.

Всего он поддерживает 25 дистрибутивов, включая Fedora, Ubuntu, RHEL, CentOS, OpenSUSE . и Arch Linux, а также работает на Raspberry Pi.

Среды выполнения Flatpak предоставляют платформы общих библиотек, которые приложение может использовать. Однако это также позволяет вам чрезвычайно легко иметь полный контроль над зависимостями: вы можете объединять свои библиотеки как часть своего приложения.

Flatpak поставляется с простыми в использовании инструментами сборки и предлагает единообразную среду (одинаковую для всех устройств и аналогичную той, что уже есть у пользователей), позволяющую разработчикам создавать и тестировать свои приложения.

Песочница для повышенной безопасности

Flatpak обеспечивает безопасность, помещая каждое приложение в свою песочницу, таким образом, приложения не могут вмешиваться в основную систему или другие приложения. Это очень удобно, когда вы имеете дело с приложениями из источников, в которых вы не уверены.

Удобство для пользователя и разработчиков

Полезным аспектом Flatpak является прямая совместимость, при которой один и тот же Flatpak можно запускать в разных версиях одного и того же дистрибутива, включая версии, которые еще не выпущены разработчиками. Он также стремится и продолжает быть совместимым с новыми версиями дистрибутивов Linux.

Если вы разработчик, вы можете сделать свое приложение доступным для пользователей Linux через Flathub — централизованный сервис для распространения приложений во всех дистрибутивах.

3. AppImage: портативная альтернатива

AppImage также представляет собой формат пакета с открытым исходным кодом, который позволяет разработчикам один раз упаковать приложение, которое работает во всех основных дистрибутивах Linux для настольных компьютеров. В отличие от предыдущих форматов пакетов, при использовании AppImage нет необходимости устанавливать пакет. Просто скачайте приложение, которое собираетесь использовать, сделайте его исполняемым и запустите – это очень просто. Он поддерживает большинство 32-битных и 64-битных настольных компьютеров Linux.

Установка не требуется

С AppImage нет необходимости ничего устанавливать. Вы можете поместить эти пакеты на USB-накопитель, поделиться ими и запускать приложения, не меняя систему. Это отлично подходит для портативных Linux и живых систем.

Широкая совместимость

AppImage имеет множество преимуществ. Разработчикам это позволяет охватить как можно больше пользователей, независимо от того, какой дистрибутив и версию Linux используют. Пользователям не нужно беспокоиться о зависимостях приложений, поскольку каждое AppImage связано со всеми его зависимостями (одно приложение=один файл). Опробовать новые версии приложений также легко с помощью AppImage.

Системным администраторам, которые поддерживают большое количество настольных систем и обычно запрещают пользователям устанавливать приложения, которые потенциально могут привести к поломке системы, больше не о чем беспокоиться. Благодаря AppImage система остается неизменной, поскольку пользователям не нужно устанавливать приложения для их запуска.

Сравнение трио: Snap, Flatpak и AppImage

Вот сравнение трех универсальных менеджеров пакетов:

Feature Snap Flatpak AppImage
Package format Self-contained, compressed file Self-contained, compressed file Single executable file
Sandboxing Yes (by default) No (by default) No
Automatic updates Yes Optional No
Installation Requires snapd daemon Requires Flatpak runtime Does not require installation
Root privileges Requires root privileges to install Does not require root privileges to install Does not require root privileges to run

Какой менеджер пакетов мне выбрать?

Если вы ищете безопасный и простой в использовании менеджер пакетов с автоматическими обновлениями, то Snap – хороший выбор. Если вы ищете более гибкий менеджер пакетов, который можно использовать для упаковки приложений любого типа, то Flatpak – хороший выбор. Если вы ищете менеджер пакетов, не требующий установки или привилегий root, то AppImage – хороший выбор.

Также важно отметить, что все три менеджера пакетов все еще находятся в стадии разработки, поэтому могут быть некоторые ошибки или отсутствующие функции. Однако все они активно поддерживаются и регулярно обновляются.

Заключение

Универсальные или кросс-дистрибутивные форматы пакетов — это технологии нового поколения для создания и распространения программного обеспечения в экосистеме Linux. Однако традиционные системы управления пакетами по-прежнему держат свои позиции.

Что вы думаете? Поделитесь этим с нами через раздел комментариев.