- What is Package Manager in Linux?[Install, Update & Manage]
- What is a Package?
- What is a Package Manager?
- What is a Repository?
- How Does the Package Manager Work?
- How to Install Package Manager?
- How to Uninstall Package Manager?
- Advantages of Package Manager
- Disadvantages of Package Manager
- Conclusion
- Linux Jargon Buster: What is a Package Manager in Linux? How Does it Work?
- What is a package manager in Linux?
- What is a package?
- How does the package manager work?
- Different kinds of package managers
- Conclusion
What is Package Manager in Linux?[Install, Update & Manage]
A package manager is a utility that simplifies installing, updating and managing software packages on a Linux system. With the help of a package manager in Linux, a user can easily keep all the software on their system updated and compatible with each other.
What is a Package?
In Linux, a package refers to a compressed archive file that contains software along with all necessary libraries, header files, and other files that software needs to run. By utilizing packages, Linux distributions can effectively manage the installation, removal, and updating of software on a system with ease. In Linux, the package manager typically recognizes packages that are distributed in a specific format. Common package formats include .deb (used by Debian and Ubuntu), .rpm (used by Red Hat, CentOS, and Fedora), and .pkg (used by macOS).
What is a Package Manager?
A package manager is a software tool that simplifies installing, updating, configuring and removing software packages on a system. Users commonly use package managers in operating systems such as Linux, macOS, and Windows. There are several package managers available in Linux, such as:
By utilizing a package manager in Linux, managing software becomes effortless since the system automatically downloads and installs updates, ensuring the software remains up-to-date and secured.
What is a Repository?
A package manager uses repositories to search and download software packages in Linux. A repository is a collection of packages just like a warehouse full of goods. Some common repositories with their package managers and servers are mentioned below:
A. Debian and Ubuntu
Package Manager:
APT (Advanced Package Tool)
B. CentOS and Red Hat Enterprise Linux
Package Manager:
YUM (Yellowdog Updater Modified)
C. Arch Linux
Package Manager:
Package Manager:
Package Manager:
How Does the Package Manager Work?
The package manager is not exclusive to Linux, it is almost available in all operating systems. Developers construct and develop software applications and packages on the foundation of the Linux operating system.
The package manager requests a list of software packages that can be installed on the system by connecting to the repositories. It evaluates every package metadata to ensure that its dependencies are satisfied.
The package manager downloads and installs a package and its dependencies if they are not already installed, to fulfill any missing requirements. It continuously checks the repositories for updated versions of installed packages and installs them when necessary.
The package manager eliminates any package that is no longer required from the system. While elimination, the package manager analyzes if any packages depend on it and if so, it prompts the user for further action.
A package manager is capable of performing various other functions.
How to Install Package Manager?
The installation process of the package manager is very easy in Linux. I’ve included the syntax and a practical example for installing a package manager in the following section.
The syntax for installing the package manager is given below:
sudo apt-get install Package_Manager
As you have seen, there are various packager managers in Linux. Among all the package managers, I will show you how to install the snap package manager. To install the snap package manager you can follow the procedure below:
Steps to Follow:
➊ Initially launch the Terminal in Ubuntu.
➋ Execute the following command in the command prompt:
sudo apt-get install snapd
➌ Then, press the ENTER key.
As you can see, the output displays that the package manager is installed.
How to Uninstall Package Manager?
Uninstalling a package manager is a straightforward process in Linux. Below, you’ll find the syntax and a practical example of how to uninstall a package manager.
The syntax for uninstalling the package manager is indicated below:
sudo apt-get remove Package_Manager
As I have shown you how to install the snap package manager, and that’s why I will show you how to uninstall the same package manager. To uninstall the snap package manager you can follow the procedure below:
Steps to Follow:
➊ To start open the Terminal in Ubuntu.
➋ Run the command below in the command prompt:
➌ Now, hit the ENTER button.
In the following image, the output displays that the package manager is removed.
Advantages of Package Manager
- Installing, updating, and removing software packages become easier using the package manager. The user does not have to manually download and install software packages.
- A package manager can automatically manage dependencies for a software package that ensures the installation and configuration of all the necessary components and libraries appropriately.
- A package manager saves time for the users who would need to look for the software on the internet and manually download and install it as it maintains a streamlined repository of software packages.
- A package manager frequently comes with built-in security features to verify the authenticity and safety of software packages.
- A package manager helps to reduce the risk of software conflicts or compatibility issues which ensures the system has a consistent set of software packages that are compatible with each other.
Disadvantages of Package Manager
- Limited software availability: A user may need to manually download and install the packages as specific programs may not be downloadable or installable through a package manager.
- In some cases, conflicts between dependencies and other software packages can cause difficulties in installation or upgradation.
- Users may experience delays as the latest software versions may not be available immediately in the package manager’s repository.
- Users may not have full control over the software installation process, which can affect where the user installed the software.
- A package can introduce security vulnerabilities to the user’s system if a repository or package is compromised.
Conclusion
In this article, I have explained what a package manager is and how it works in Linux. You’ve also seen the advantages and disadvantages of using the package manager. After completing this article, you will get a basic idea of package manager in Linux.
Similar Readings
Linux Jargon Buster: What is a Package Manager in Linux? How Does it Work?
Learn about packaging system and package managers in Linux. You’ll learn how do they work and what kind of package managers available.
One of the main points how Linux distributions differ from each other is the package management. In this part of the Linux jargon buster series, you’ll learn about packaging and package managers in Linux. You’ll learn what are packages, what are package managers and how do they work and what kind of package managers available.
What is a package manager in Linux?
In simpler words, a package manager is a tool that allows users to install, remove, upgrade, configure and manage software packages on an operating system. The package manager can be a graphical application like a software center or a command line tool like apt-get or pacman. You’ll often find me using the term ‘package’ in tutorials and articles on It’s FOSS. To understand package manager, you must understand what a package is.
What is a package?
A package is usually referred to an application but it could be a GUI application, command line tool or a software library (required by other software programs). A package is essentially an archive file containing the binary executable, configuration file and sometimes information about the dependencies. In older days, software used to installed from its source code. You would refer to a file (usually named readme) and see what software components it needs, location of binaries. A configure script or makefile is often included. You will have to compile the software or on your own along with handling all the dependencies (some software require installation of other software) on your own. To get rid of this complexity, Linux distributions created their own packaging format to provide the end users ready-to-use binary files (precompiled software) for installing software along with some metadata (version number, description) and dependencies. It is like baking a cake versus buying a cake. Around mid 90s, Debian created .deb or DEB packaging format and Red Hat Linux created .rpm or RPM (short for Red Hat Package Manager) packaging system. Compiling source code still exists but it is optional now. To interact with or use the packaging systems, you need a package manager.
How does the package manager work?
Please keep in mind that package manager is a generic concept and it’s not exclusive to Linux. You’ll often find package manager for different software or programming languages. There is PIP package manager just for Python packages. Even Atom editor has its own package manager. Since the focus in this article is on Linux, I’ll take things from Linux’s perspective. However, most of the explanation here could be applied to package manager in general as well. I have created this diagram (based on SUSE Wiki) so that you can easily understand how a package manager works. Almost all Linux distributions have software repositories which is basically collection of software packages. Yes, there could be more than one repository. The repositories contain software packages of different kind. Repositories also have metadata files that contain information about the packages such as the name of the package, version number, description of package and the repository name etc. This is what you see if you use the apt show command in Ubuntu/Debian. Your system’s package manager first interacts with the metadata. The package manager creates a local cache of metadata on your system. When you run the update option of the package manager (for example apt update), it updates this local cache of metadata by referring to metadata from the repository. When you run the installation command of your package manager (for example apt install package_name), the package manager refers to this cache. If it finds the package information in the cache, it uses the internet connection to connect to the appropriate repository and downloads the package first before installing on your system. A package may have dependencies. Meaning that it may require other packages to be installed. The package manager often takes care of the dependencies and installs it automatically along with the package you are installing. Similarly, when you remove a package using the package manager, it either automatically removes or informs you that your system has unused packages that can be cleaned. Apart from the obvious tasks of installing, removing, you can use the package manager to configure the packages and manage them as per your need. For example, you can prevent the upgrade of a package version from the regular system updates. There are many more things your package manager might be capable of.
Different kinds of package managers
Package Managers differ based on packaging system but same packaging system may have more than one package manager. For example, RPM has Yum and DNF package managers. For DEB, you have apt-get, aptitude command line based package managers. Package managers are not necessarily command line based. You have graphical package managing tools like Synaptic. Your distribution’s software center is also a package manager even if it runs apt-get or DNF underneath.
Conclusion
I don’t want to go in further detail on this topic because I can go on and on. But it will deviate from the objective of the topic which is to give you a basic understanding of package manager in Linux. I have omitted the new universal packaging formats like Snap and Flatpak for now. I do hope that you have a bit better understanding of the package management system in Linux. If you are still confused or if you have some questions on this topic, please use the comment system. I’ll try to answer your questions and if required, update this article with new points.