Package Manager Examples

LINUX
FUNDAMENTALS
A Complete Guide for Beginners Enroll Course Now

Package managers are the tools that are used in different operating systems to make the management which include installation, removal, update, and resolve dependencies easier. With the help of these package managers, users can efficiently handle the operating system. In this article, I will illustrate some package manager examples of Linux operating systems and also show the importance of package managers.

What is a Package Manager?

In a distribution, if a user wants to install, remove, and update software packages then he has to use a software tool which is mainly called a package manager. Different distributions have different package managers. To increase the operating systems’ efficiency, dependability, security, and consistency package managers are essential. A package manager includes libraries, metadata, and repositories that allow the system to function properly.

Importance of Package Managers

Package managers have made the management of packages easier and more efficient with the functions that they provide. Here I have shown the functions of a package manager:

1. Installation Removal and Cleaning

Package manager provides tools that you can use to install, uninstall, and clean the packages to manage the software.

2. Manage dependencies

The package manager reduces the potential error and conflict by managing the dependencies and also provides software versions that are compatible with one another.

3. Quick software setup

When you need to install a package on a system package manager handles the dependencies and installs the required package.

4. Centralized repository

As a package manager provides a central repository, one can easily download thousands of libraries.

5. Automatic resolution of conflict

When multiple versions of different packages need the same dependencies, it solves the conflict and conducts the particular function.

6. Management of versions

It helps you to install specific versions according to your needs and also upgrade and update the packages to newer versions.

7. Security

Package managers provide verified packages most of the time. So, it ensures the software’s legitimacy and lowers the possibility of downloading and installing dangerous malware.

8. Management of distribution

The Package managers smooth the distribution of software for the software developers and also make it accessible for users over different operation systems.

9 Package Manager Examples

There are many package managers in Linux distributions such as dpkg, rpm, apt, yum, and pacman. Some of them are low-level package managers and some of them are high-level package managers. Here I will show the examples of different package managers.

Analyze the package manager in details

Now I will discuss the above-mentioned package managers.

Debian-based Linux Distribution

In the Debian-based Linux distribution, you can see two levels of package managers. One is the low-level package manager and another is the high-level. In the low-level, I have mentioned dpkg and in the high-level package manager, I have discussed apt, aptitude, and synaptic package managers.

1. Debian Package Manager (dpkg)

Dpkg is the base package manager for Debian-based Linux distribution. It acts as a backend for many other front-end package managers. You can see the key component of dpkg below:

  • Usage: Low-level package manager is used by Debian-based distributions like Ubuntu, and Linux Mint.
  • File extension: Aptitude works with Debian-based packages that use the .deb file extension.
  • Key Features: Install, remove, query packages, and Verify the packages that provide security to the software.
  • Dependency Handling: External tools like apt and apt-get are necessary for handling dependencies.

The pros and cons of the dpkg package manager have been shown below:

Package name Pros Cons
dpkg    
  • Install packages from local files.
  • Direct package management which is useful for developers.
  • No automatic dependency resolution.
  • Does not support rollback.
Some Common Syntaxes

Here I have shown some of the basic commands of dpkg below:

Functions Command
Install a package dpkg -i [package name. deb]

dpkg –install [package name. deb]

Remove the desired package dpkg -r [package name]

dpkg –remove [package name]

List of all installed packages dpkg -l
Purge an installed package dpkg -P [package name]

2. Advanced Package Tool (APT)

In Debian-based distributions, the installation, and removal of software are generally managed through the package management system known as the Advanced Package Tool (APT). Some key components have been shown below:

  • Usage: Primarily used in Debian and Ubuntu, front end for low-level dpkg
  • File extension: The file extension for the APT package manager is .deb.
  • Key Features: Dependency resolution, Easy automatic package management and upgrade repository handling, Invoke the dpkg backend.
  • Dependency Handling: Resolving dependencies automatically and installing required packages.

You can see some of the pros and cons of apt package manager below:

Package name Pros Cons
apt    
  • It is user-friendly.
  • The pinning feature is available.
  • Can add an infinite number of repositories and also depends on the centralized repository.
  • It has an interactive mode that helps one when significant changes occur.
  • Use online repositories.
  • It can not remove old packages without manual intervention.
  • Lack of customizability.
  • Lack of flexibility in command.
Some Common Syntaxes

I have shown some of the common commands of apt below:

Functions Command
Install a package apt install [pacakge name]
Remove the desired package apt remove [package name]
List of all installed packages apt list
Purge an installed package apt purge [package name]

3. Aptitude

Aptitude is a frontend package manager that is used over apt. It does not come by default. So you have to install it with apt. To install aptitude you can use this command:

sudo apt install aptitude

Here below I have shown some of the key components:

  • Usage: Used as front-end and on the apt package manager and used on Debian-based distribution.
  • File extension: Aptitude works with Debian-based packages that use the .deb file extension.
  • Key Features: Vaster functionality, Advanced features, Robustness, User friendly.
  • Dependency Handling: Handle dependency resolution and fix broken packages.

Some of the Pros and Cons have been shown below:

Package Pros Cons
aptitude
  • Provide advanced searching and sorting.
  • User-friendly.
  • Provide interactive mode.
  • Drawback for low resource system.
  • Some GUI users may face problems.

 

Some Common Syntaxes

You can use the following commands of aptitude where you need them by giving the package name:

Functions Command
Install a package aptitude install [package name]
Remove or uninstall a package aptitude remove [package name]
Purge a package with its configuration file aptitude purge [package name]
Show the package information aptitude show [package name]

4. Synaptic

It is a graphical package manager that provides the same features as apt-get. It does not come by default. So you have to install it with apt. To install Synaptic you can copy this command:

sudo apt install synaptic

Here I have provided some of the key components and pros and cons of synaptic package manager below:

  • Usage: Graphical front-end of apt and used in Debian and Debian-based Linux distribution.
  • File extension: The file extension synaptic package manager is .deb and is also used for .rpm
  • Key Features: Install, Remove, and upgrade packages, User-friendly, Mainly used by those who prefer a graphical user interface.
Package name Pros Cons
Synaptic
  • Customizable repository.
  • User-friendly interface.
  • Seamless dependency resolution.
  • Only useful for GUI users.
  • Lack of advanced features.
  • Slower while updating packages.

RedHat-Based Linux Distribution

As Debian, RedHat-based Linux Distribution have also two levels of package managers. In this article, I have shown the low-level, rpm package manager and the high-level, yum and dnf package managers.

5. RedHat Package Manager (rpm)

The Redhat package manager is used for installing, removing, and updating packages on Red Hat-based distribution. Below I have shown some of the modules and concepts and pros and cons of the rpm package manager:

  • Usage: Used by Red Hat-based distributions like RHEL, CentOS, and Fedora.
  • Tool: Manage rpm packages, two major components compressed source code, and metadata.
  • Key Features: Automatic dependency evaluation, cryptographic verification, pre and post-installation action.
  • Dependency Handling: External tools like yum and dnf are necessary for handling dependencies.
Package name Pros Cons
rpm
  • Use source code that provides customizability.
  • The back-end is for yum, and dnf so it is useful for developers.
  • Can not resolve dependency automatically.
  • Less user-friendly.
  • Slower update as one package can be updated at a time.
Some Common Syntaxes

I have shown some of the common commands of rpm below:

Functions Command
Install a package rpm -i [package name.rpm]
Remove a package rpm -e [package name]
Search for a package rpm -qa | grep [keyword]
Update packages rpm -U [pacakge.rpm]
Query whether a package is installed or not rpm -q [package name]

6. Yellowdog Updater Modified (YUM)

In RedHat-based Linux distribution, a primary package for managing software packages is YUM which refers to Yellowdog Updater Modifier. I have illustrated the YUM-related few key components and concepts and pros and cons below:

  • Usage: frontend system for lower-level RPM which is a backend system.
  • File extension: The file extension for the YUM package manager is .rpm.
  • Key Features: Installation and removal, Automated updates, dependency resolution, and repository management.
  • Dependency Handling: Check the dependencies with header files and package metadata and resolve dependencies while installing or updating packages
  • Verification tool: Build-in verification tool that ensures correct sign-in package installation.
Package name Pros Cons
Yum
  • Solve dependency with a single pass.
  • Install packages from local files also.
  • Vast customizability of repository.
  • API is fully not documented.
  • Unavailable pinning feature.
  • Slow while downloading and upgrading packages.
Some Common Syntaxes

You can use the following commands of yum package manager where you need them by giving the package name:

Functions Command
Install a package yum install [package name]
Remove the desired package yum remove [package name]
Update or upgrade a single package yum update

yum upgrade [package name]

Search for a package yum search [package name]
List of all packages yum list –installed or yum list installed

yum list –available

7. Dandified YUM (DNF)

Besides the successor of YUM, DNF is the package, management tool that simplifies the management of the software which includes installing, updating, and removing several packages. You can check the key concept and pros and cons below:

  • Usage: Used in modern Red Hat-based distributions, default package management tool in Fedora.
  • File extension: The file extension for the dnf package manager is .rpm.
  • Key Features: Faster performance, Parallel downloading, rich command line interface, Enhanced dependency resolution.
  • Dependency handling: Third-party dependency solver, dnf calculates and resolves dependencies and also resolves conflict resolution.
Package name Pros Cons
Dnf
  • Use fully documented API.
  • It has a modular design.
  • Efficient network.
  • Improved dependency solver algorithm.
  • Small helpful community.
Some Common Syntaxes

You can use the following commands of dnf package manager where you need them by giving the package name:

Functions Command
Install a package dnf install [package name]
Remove the desired package dnf remove [package name]
Update or upgrade a single package dnf update

dnf upgrade [package name]

Search for a package dnf search [package name]
List of all packages dnf list installed

dnf list available

Arch-based Linux Distribution

Arch-Linux is a lightweight Linux Distribution that also supports rolling back. Below I have discussed a package manager named Pacman which is used in this distribution.

8. Pacman

Packman is a utility that is used in Arch Linux distribution for managing software packages. Using simple compressed files, it maintains a text-based database. It does not act as a front-end for any back-end package manager. Here I have provided the key components and pros and cons below:

  • Usage: Used in Arch Linux and its derivatives KaOS.
  • File extension: The file extension for the Pacman package manager is .pkg.tar.xz.
  • Key Features: Lightweight, fast, High-speed packaging, two types of repository, Automatically upgrade package.
  • Dependency Handling: Dependency resolution, install the specific program with all other needed dependencies.
Package name Pros Cons
Pacman
  • High-speed packaging.
  • Failed downloads are retried automatically.
  • Fewer features than other package managers.
  • Does not have an official GUI.
  • Require manual configuration.
Some Common Syntaxes

Here you can check some of the basic commands of pacman package manager that I have shown below:

Functions Command
Install a package pacman -S [package name]
Remove the desired package pacman -R [package name]

pacman -Rns[pacakge name]

List of all installed packages pacman -Q
Update the available packages pacman -Sy (Update)

pacman -Syu(upgrade)

Search for an installed package pacman -Ss [pacakge name]

Gentoo-based Linux Distribution

Gentoo-based Linux Distribution uses the Portage package manager to manage the system. Below I have discussed the package manager.

9. Portage

Portage package manager is mainly used for the Gentoo distribution and this distribution uses meta distribution because of the flexibility of portage. Here I have shown some key components and pros and cons of portage package manager below:

  • Usage: Source-based package manager used for Gentoo-based Linux distribution and its derivatives.
  • File extension: The file extension for the Portage package manager is .ebuild.
  • Key features: Provides Parallel packaging, flexibility, and configurability.
  • Dependency Handling: Dependency resolution, Resolving conflict issues by installing necessary libraries and components.
Package name Pros Cons
Portage
  • Robust dependency resolution system.
  • High-level customization.
  • Update the system continuously without upgrading versions.
  • Complex syntax for new Linux users.
  • Consume time while compiling packages.
Some Common Syntaxes

Here you can check some of the basic commands of portage package manager that I have shown below:

Functions Command
Install a specific package sudo emerge [package]
Update the specific version of a package sudo emerge -u [package]
Remove the specific package sudo emerge -c [package]
Search for a package of the following keyword sudo emerge –search [keyword]

sudo emerge -s [keyword]

How Should I Choose a Package Manager?

When one chooses a package manager according to his distribution, he has to keep in mind some important points.

  • Speed: Choose the package manager that shows faster results include faster installation and updating large files.
  • User-friendly: The package manager should have an interactive mode that helps one to review and confirm changes while making significant changes and a user-friendly interface that helps one to know the installation update.
  • Easy use: Easy syntax of commands that help the beginner to memorize them.
  • Features: It must have different and advanced features to manage the software effectively.
  • Seamless development: The workflow should be easy for the developers.

So while choosing a package you have to verify these points.

Conclusion

From the article, I have shown some of the essential package managers for different Linux distributions. I also have shown the basic things of a package manager that will help a user to know about it. Package manager helps one to manage a package on a distribution and work with it efficiently. So, you can learn about the extension, usages, key features, advantages, disadvantages, and basic commands of a package manager.

People Also Ask

What is the difference between a build manager and a package manager?
Build managers use tools to pack the code and dependencies together to build code on the other hand package managers install dependencies that are required for the codes.
Is Ubuntu a package manager?
No, Ubuntu is an operating system used for Linux distribution. You can use package managers such as apt,apt-get, and aptitude to manage software in Ubuntu.
What type of software are package managers?
Package managers are the set that is known as software management tools. You can use these managers to make the process of installation, removal, and updating the packages easier.

Related Articles


<< Go Back to Package Management in Linux | Learn Linux Basics

5/5 - (1 vote)
Afia Zahin Oishi

Assalamualaikum, I am Afia Zahin, completed my graduation in Biomedical Engineering from Bangladesh University of Engineering and Technology, currently working as a Linux Content Developer Executive at SOFTEKO. A high achieving professional with a strong work ethic and able to work in a team in order to consistently achieve my goal and build my skillset. Able to handle difficult problems with patience and swift decision-making. Read Full Bio

Leave a Comment