We will be comparing various Linux package managers. Among all Linux distributions, one of the things they share is the need to be able to install new software packages on the system. Depending on the distribution, different package managers are available, allowing the user to install, manage and remove packages quickly and easily. Package managers are very good at optimizing installations, with common install locations and configurations. In this article, we’ll discuss the various package managers available, which distributions they can be used on, and what makes each one unique. We’ll cover Debian-based package managers, basic RedHat Enterprise Linux (RHEL) package managers, and other custom package managers.
Debian – based package managers
Dpkg package manager
Ubuntu and Debian are considered one of the most widely used consumer Linux operating systems on the market today. Their package managers are common, with the lowest-level package management system “Dpkg”, short for “Debian Package”. It is the skeleton of package management software, with tools for installing, removing, and building packages.
Dpkg lacks more advanced features – functionality such as downloading packages from the Internet or installing dependencies automatically is not possible through DPKG. Being able to do this from the Internet is very useful as it allows users to add package repositories, which greatly increases the choice of software that can be easily installed on the system. It can also greatly simplify the software installation process by being able to easily find and install a package with just one command.
APT package manager
This is where interfaces like apt and aptitude come into play. APT, short for Advanced Package Tool, is much more advanced in functionality than dpkg. It can also install, uninstall and build packages – however, its functionality goes much further. APT can update its packages, install dependencies automatically, and download packages from the Internet. It is one of the most common package managers installed on modern distributions, pre-installed on Ubuntu, Debian, and most other Debian-based operating systems.
Aptitude Package Manager
Aptitude is very similar to APT, offering much of the same functionality. But it may offer a few additional features, such as secure updates, allowing users to update their packages without removing existing packages from the system. Package hold is also available, which prevents some packages from being automatically updated.
Both of these package managers actually use dpkg for basic operations and only use their own software to download and manage packages.
RedHat Enterprise Linux (RHEL) Package Managers
RPM package manager
Redhat and CentOS are one of the most widely used server operating systems on servers. The main package management software on these systems is RPM, which is short for Red Hat Package Manager. This package manager also does basic operations like installing and removing packages, and like dpkg, it also cannot manage packages or install them directly from the internet.
YUM package manager
Like Debian-based operating systems, RHEL operating systems also have their own package management software. YUM, short for Yellow Dog Updater, is the most popular choice for an RPM interface. It opens up a lot more possibilities for RPM files through repositories, keeping track of what is installed on the system, optimized updates, and more. RHEL is equivalent to the APT package manager.
DNF package manager
DNF, short for Dandified Packaging Tool, is a more modernized and improved version of the yum package manager – incorporating the features of yum while improving performance and resource utilization. For now, only Fedora has used this next generation version of YUM, but hopefully we’ll see it roll out to other operating systems in the future.
There are several other package management tools available for RPM based systems such as up2date, urpmi and ZYpp, however they are not as widely used as YUM or DNF.
Other package managers
Sometimes developers will create special package managers dedicated to their Linux distributions – these are usually built around the operating system, and will not be found on the mainstream Linux distributions.
Pacman package manager
Pacman is a package manager for Arch Linux. Pacman is the only package management tool found on Arch, making it not a frontend. Arch Linux is an operating system release where updates are added every day. There are only a few commands from pacman to find, install and remove packages. This package manager can connect to the internet and purchase its packages from there, making it more user friendly. However, pacman is designed to install software from the Arch repository, making it impossible to install from third party repositories.
ABS package manager
ABS, short for Arch Build System, is a system of tools designed to create installable software packages for Arch Linux from source. It consists of several tools that work together to create packages – these tools are all independent programs like makepkg, pacman, asp, and so on. The method of creating / installing a package using ABS is different from a regular Linux distribution. Instead of installing the precompiled packages, you need to create a PKGBUILD file from the Svn or Git branch using the asp package. From there, you use the makepkg command, which uses the PKGBUILD file to download and compile the source code for your system. This makes ABS a little less intuitive for installing packages on Arch Linux. It has several other uses, such as customizing existing packages, or building and installing your own kernel.
Portage package manager
Portage is a package manager for Gentoo, a no-nonsense operating system that must be compiled from scratch when installed on any system. It is one of the most advanced package managers currently available, with new features and improvements being added all the time.
While there is a lot of variety when using package management software, many are designed to accomplish the same tasks. So your best bet is to just test and see which package manager works best for your needs.