What is a package manager in Linux?

A software package or simply “package” in Linux is a collection of computer programs that are bundled together to perform a specific task.

A package manager in Linux is a tool that comes pre-installed with an operating system to manage software packages on a system. It automates the process of package installation, removal, or up-gradation. It can also be used to see the information about a package, change its configuration settings, etc.

Uses of a package manager

Some uses of a package manager are given below.

  • A package manager is used to install, remove, configure and update packages on a system
  • It keeps the information of dependencies of a software package to avoid inconsistency
  • It keeps the version of a package to avoid version mismatch
  • A package manager is used to increase the user-friendliness of a system by automating the processes such as installing or removing a software

List of some popular Linux package managers

There are a number of distributions in Linux. Many of them use a different set of tools to manage software packages on a system.

Following is the list of some mostly used package managers in Linux.

Apt/dpkg –

The apt (advanced packaging tools) and dpkg (Debian package) are package managers used to install, remove and upgrade packages on Debian-based Linux distributions such as Ubuntu, Linux Mint, Mx Linux, Elementary OS, Kali Linux, etc including Debian Linux.

Apt is a high-level tool that is considered as the front end of dpkg it can fetch packages from the remote repository while dpkg is a low-level tool that is generally used for working with local .deb files.

Yum/rpm –

Yum (yellow dog modifier updater) is the package management utility used in rpm-based Linux distribution which includes RHEL, CentOS, etc. It can fetch packages from remote repositories. It is used to install, upgrade, configure, and remove packages on RHEL/CentOS.

Yum works as a frontend to rpm( a low-level tool) while RPM can be used locally to work with .rpm packages.


DNF (Dandified yellow dog updater modified) is a package manager used in Fedora Linux. It is the default package manager of Fedora Linux since Fedora version 22. DNF is also a front-end to the rpm package manager.

Before DNF, yum was Fedora’s default package manager. It was launched to address the issues such as poor performance, high memory usage, and slowness in the yum package manager.

Pacman –

The pacman is a package manager used in Arch Linux and distributions based on it such as Manjaro. It uses binary packages with easy to use build system. If you want to see the pacman commands you could see them here.


Slackpkg is the package management tool used in Slackware and distributions based on it. You can use it to fetch, install, configure, remove, or update a package.


Portage is the official package manager of Gentoo Linux. It includes various commands emerge is one of them.

This package management tool is also used by Chrome OS, Funtoo Linux, Sabayon, etc. Portage is similar to the BSD-style ports system.


Zypper is a command-line interface of the ZYpp package manager. This package management tool is used in distributions such as OpenSUSE, SUSE Enterprise Linux.

Similarly, there are many other package managers in Linux. You can manually install them on your system if you want to use them.

Windows package manager

The Windows package manager (or Winget) is a free and open-source package manager used on Windows 10. It provides a command-line utility and a set of commands to manage the software packages from the command prompt.

It supports installers based on EXE, MSIX, and MSI.


Ok, that’s it for now. You can find the information of commands specific to a package manager by seeing its manual page in the terminal.

You can share your thoughts with us by writing in the comments below.


Leave a Comment