Мы будем сравнивать различные менеджеры пакетов в Linux. Между всеми распределениями в Linux, одна из вещей, которые они разделяют, это необходимость иметь возможность установить новые пакеты программного обеспечения в систему. В зависимости от распределения, доступны различные менеджеры пакетов, что позволяет пользователю устанавливать, управлять и удалять пакеты легко и быстро. Менеджеры пакетов очень хороши в оптимизации установок, с общими местами установки и конфигурациями. В этой статье мы обсудим различные доступные менеджеры пакетов, на каких дистрибутивах они могут использоваться и что делает каждый из них уникальным. Мы расскажем, менеджеры пакетов основанные на Debian, основные менеджеры пакетов RedHat Enterprise Linux (RHEL), и другие пользовательские менеджеры пакетов.
Ubuntu и Debian считаются одним из наиболее широко используемых потребительских операционных систем на основе Linux, имеющихся сегодня на рынке. Их менеджеры пакетов являются общими, с системой управления пакетами нижайшего уровня «Dpkg», сокращенно от «Debian Package». Это скелет программного обеспечения для управления пакетами, с инструментами для установки, удаления и сборки пакетов.
В Dpkg не хватает более расширенные возможности — функциональные возможности, такие как загрузка пакетов из Интернета, или установка зависимостей автоматически не возможно через DPKG. Будучи в состоянии сделать это из Интернета очень полезна, так как она позволяет пользователям добавлять репозитории пакетов, что значительно увеличивает выбор программного обеспечения, которое может быть легко установлено в системе. Оно также может значительно упростить процесс установки программного обеспечения, будучи в состоянии легко найти и установить пакет только с одной командой.
Это где интерфейсы, такие как apt и aptitude вступают в игру. APT, сокращенно от Advanced Package Tool, гораздо более продвинутый в функциональности по сравнению с dpkg. Он также может устанавливать, удалять и собирать пакеты – однако его функциональность идет гораздо дальше. APT может обновить свои пакеты, установить зависимости автоматически, а также загрузить пакеты из интернета. Это один из наиболее распространенных менеджеров пакетов, установленных на современных дистрибутивах, с предустановленными на Ubuntu, Debian и большинстве других операционных систем на основе Debian.
Aptitude очень похож на APT, предлагая большую часть той же функциональности. Но он может предложить несколько дополнительных функций, таких как безопасные обновления, позволяющие пользователям обновлять свои пакеты, не удаляя существующие пакеты из системы. Также доступно удержание пакетов, что предотвращает автоматическое обновление некоторых пакетов.
Оба этих менеджера пакетов фактически используют dpkg для основных операций и используют только свое собственное программное обеспечение для загрузки пакетов и управления ими.
Redhat и CentOS являются одним из наиболее широко используемых серверных операционных систем на серверах. Основное программное обеспечение для управления пакетами в этих системах-RPM, сокращенно от Red Hat Package Manager. Этот менеджер пакетов также выполняет основные операции, такие как установка и удаление пакетов, и, как dpkg, также не может управлять пакетами или устанавливать их непосредственно из интернета.
Как и операционные системы на основе Debian, операционные системы RHEL также имеют собственное программное обеспечение для управления пакетами. YUM, короткий для Yellow Dog Updater, является самым популярным выбором в качестве интерфейса RPM. Он открывает гораздо больше возможностей для RPM-файлов через репозитории, отслеживая то, что установлено в системе, оптимизированное обновление и многое другое. RHEL эквивалентен менеджеру пакетов APT.
DNF, сокращенно от Dandified Packaging Tool, — это более модернизированная и усовершенствованная версия менеджер пакетов yum – вбирая в себя черты yum, при одновременном повышении производительности и использования ресурсов. На данный момент только Fedora использовала эту версию следующего поколения YUM, но, надеюсь, мы увидим, что она будет распространятся на другие операционные системы в будущем.
Существует несколько других инструментов управления пакетами, доступных для систем на основе RPM, таких как up2date, urpmi и ZYpp, однако они не так широко используются, как YUM или DNF.
Иногда разработчики будут создавать специальные менеджеры пакетов, предназначенные для их распределений Linux — они, как правило, строятся вокруг операционной системы, и не будет найдены в основных дистрибутивах Linux.
Pacman — это менеджер пакетов в Arch Linux. Pacman является единственным инструментом управления пакетами, найденным на Arch, что делает его не фронтендом. Arch Linux является релизом операционной системы, где обновления добавляются каждый день. Есть только несколько команд с pacman, предназначенных для поиска, установки и удаления пакетов. Этот менеджер пакетов может подключаться к Интернету и приобретать свои пакеты оттуда, что делает его более удобным для пользователя. Тем не менее, pacman предназначен для установки программного обеспечения из репозитория Arch, что делает его невозможным для установки из сторонних репозиториев.
ABS, сокращенно от Arch Build System, представляет собой систему инструментов, предназначенных для создания устанавливаемых программных пакетов для Arch Linux из исходного кода. Он состоит из нескольких инструментов, функционирующих вместе для создания пакетов – все эти инструменты являются независимыми программами, такими как makepkg, pacman, asp и так далее. Метод создания/установки пакета с использованием ABS отличается от обычного дистрибутива Linux. Вместо установки предварительно скомпилированных пакетов необходимо создать файл PKGBUILD из ветви Svn или Git с помощью пакета asp. Оттуда вы используете команду makepkg, которая использует файл PKGBUILD для загрузки и компиляции исходного кода для вашей системы. Это делает ABS немного менее интуитивным методом установки пакетов на Arch Linux. Он имеет несколько других применений, таких как настройка существующих пакетов, или сборка и установка собственного ядра.
Portage — это менеджер пакетов для Gentoo, операционной системы без излишеств, которая должна быть скомпилирована с нуля при установке в любой системе. Это один из самых продвинутых менеджеров пакетов, доступных в настоящее время, с новыми функциями и улучшениями, которые постоянно добавляются.
Несмотря на то, что есть много разнообразия при использовании программного обеспечения для управления пакетами, многие из них предназначены для выполнения тех же задач. Поэтому лучше всего просто протестировать и посмотреть, какая программа управления пакетами будет работать лучше всего для ваших нужд.