Batch management. What is a package manager? Configuring Package Caching

We will compare different Linux package managers. Between all Linux distributions, one of the things they share is the need to install new software packages on the system. Depending on the distribution, various package managers are available to allow you to easily and quickly install, manage, and remove packages. Package managers are very good at simplifying installations, with common installation locations and configurations. In this article, we will discuss the various package managers available, which distributions they can use, and what makes them unique. We'll look at Debian-based package managers, RedHat Enterprise Linux (RHEL) package managers, and other package managers designed specifically for you.

Debian based package managers

Ubuntu and Debian are considered to be one of the most widely used desktops in the market today. Linux operating systems. Their package managers are separated, with the lowest level package management system being "dpkg", short for "Debian Package". This is barebones package management software, with tools to install, remove and create packages.

What dpkg lacks are more advanced features - features like downloading packages from the internet or automatically installing dependencies are not possible through dpkg. Being able to do this from the web is very useful as it allows users to add repositories for packages, which greatly increases the choice. software, which can be easily installed on the system. It can also greatly simplify the software installation process as it can 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, remove, and create packages, but its functionality goes much further. APT can automatically update your packages, install dependencies, and automatically download your packages from the Internet. It is one of the most common package managers installed on modern distributions, with Ubuntu, Debian, and most other Debian-based operating systems pre-installed.

Aptitude Package Manager

Aptitude is very similar to APT, offering much of the same functionality. But it can offer a few additional features, such as secure updates, allowing users to update their packages without removing their existing packages from the system. A package is also available that prevents automatic update certain packages.

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 is one of the most widely used server operating systems found on servers today. The main package management software installed on these systems is RPM, which reduces the work of the Red Hat Package Manager. This package manager also performs basic operations such as installing and removing packages, and like dpkg also cannot manage packages or install them directly from the web.

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 as an RPM interface. It opens up a lot more options for RPM files through repositories, keeps track of what's installed on the system, makes it easy to update, and more. It is the RHEL-based equivalent of the APT package manager.

DNF, short for Dandified Packaging Tool, is a more modernized and extended version of the YUM manager, incorporating YUM features while improving performance and resource usage. At the moment, only Fedora uses this next generation version of YUM, but hopefully we'll see it roll out to more 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 create custom package managers designed for their Linux distributions - these are usually developed around the operating system and are not found in mainstream Linux distributions.

Pacman is a package manager found in Arch Linux. Pacman is the only package management tool found on Arch, making it a non-frontend. Arch Linux is a rolling version of the operating system, with updates being added every day. There are only a few pacman commands for finding, installing, and removing 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, which makes it impossible to install from third-party repositories.

ABS Package Builder

ABS, short for Arch Build System, is a system of tools designed to create installable software packages for Arch Linux from source code. This consists of several tools that work together to create packages. These tools are all independent programs like makepkg, pacman, asp, etc. The way to create/install a package using ABS is different from the normal one Linux distribution. Instead of installing precompiled packages, you need to create a PKGBUILD file from an Svn or Git branch using the asp package. From there, you use the makepkg command, which uses the PKGBUILD file to download and compile your system's source code. This makes ABS a slightly less intuitive method of installing packages on Arch Linux. It also has several other uses such as setting existing packages or building and installing a custom kernel.

Port Packet Manager

Portage is a package manager for Gentoo, a non-hacky 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 added.

While there are a lot of uses for package management software, many of them are designed to perform the same tasks. So it's best to just check and see which package management program will work best for your needs.

PS. If you liked this post when comparing different Linux package managers, please share it with your friends on in social networks using the buttons on the left, or just leave an answer below. Thank you.

Update (April 09, 2018): Fixed some inaccuracies regarding the ABS package builder toolkit.

What is a package manager?

Package Manager keeps track of what programs are installed on your computer and allows you to easily install new programs, upgrade programs to newer versions, or remove programs that you have previously installed. As the name suggests, package managers deal with packages- sets of files that are packaged together and can be installed or removed as a group.

Often, a package is just a standalone program. For example, an instant messaging client gaim is in the Debian package of the same name. On the other hand, it is quite normal for programs to consist of several interconnected packages. For example, a graphics editor gimp consists not only of the gimp package, but also of the gimp-data package; optional packages with add-ons (containing esoteric data, documentation, etc.) are also available. Several small related programs can be included in one package, for example the fileutils package contains several common Unix commands such as ls , cp etc.

Some packages require other packages to work. On Debian, packages can depend from other packages recommend, suggest, break them or to confront with them.

    If package A depends on another package B, then B is required for A to function correctly. For example, the gimp package depends on the gimp-data package because it must be ensured that the necessary data files are available to the GIMP graphics editor.

    If package A recommends another package B, then package B provides important additional functionality to package A that is desirable in most cases. For example, the mozilla-browser package recommends the mozilla-psm package, which adds support for secure data transfer to the Mozilla web browser. While the mozilla-psm package is not strictly required for Mozilla to function, most users want Mozilla to support the secure transfer of sensitive data (such as credit card numbers).

    If package A offers another package B, then package B provides functionality that can improve package A, but is not necessary in most cases. For example, the kmail package offers the gnupg package, which contains an encryption program that can be used by KMail.

    If package A conflicts with another package B, then the two packages cannot be installed at the same time. For example, the fb-music-hi package conflicts with the fb-music-low package because they provide alternative music sets for Frozen Bubble .

The job of a package manager is to provide an interface that assists the user in managing the set of packages installed on his or her system. aptitude provides such an interface based on the control system apt packages.

Package managers make it easier to use someone else's code by providing this code in the form of independent modules - packages. These packages are connected to their code according to the principle of black boxes - this is when we don’t know and it doesn’t matter to us how everything works inside this box, but we know what it does. Thanks to this loosely coupled architecture, it becomes possible to easily update someone else's code or replace one package with another with similar functionality.

How package managers work

Each package manager has a settings file in which we need to specify which packages our code depends on, so that the package manager downloads and installs them into our system. However, each package can depend on other packages. The package manager unravels this dependency system and installs whatever it needs, which is why they are also called dependency managers. Here's an example: I'm using the Twitter Bootstrap framework for work and it needs jQuery to work. So if I tell my package manager to install Twitter Bootstrap, it will automatically install jQuery as well.

Which package managers to use

I use three different package managers in my work:

  • is a package manager for the PHP world. I use to load someone else's PHP code;

We will be comparing different package managers in Linux. Between 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, various 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 installation 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 package managers based on , the main RedHat Enterprise Linux (RHEL) package managers, and other custom package managers.

Debian - Based Package Managers

dpkg package manager

Ubuntu and Debian are considered to be one of the most widely used Linux-based consumer operating systems on the market today. Their package managers are generic, with the lowest level package management system "Dpkg", short for "Debian Package". It is a skeleton of package management software, with tools to install, remove, and build packages.

Dpkg lacks more advanced features − functionality, such as downloading packages from the internet, or installing dependencies automatically is not possible via DPKG. Being able to do this from the web 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.

Pacman is the package manager for Arch Linux. Pacman is the only package management tool found on Arch, which makes it not a frontend. Arch Linux is an operating system release where updates are added every day. There are only a few pacman commands for finding, installing, and removing 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, which makes it impossible to install from third-party repositories.

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 - all of these tools are independent programs such as 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 precompiled packages, you need to create a PKGBUILD file from an 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 slightly less intuitive method of installing packages on Arch Linux. It has several other uses, such as customizing existing packages, or building and installing your own kernel.

mob_info