One thing a new Linux user will get to know as he/she progresses in using it is the existence of several Linux distributions and the different ways they manage packages.
Package management is very important in Linux, and knowing how to use multiple package managers can prove life-saving for a power user, since downloading or installing software from repositories, plus updating, handling dependencies and uninstalling software is very vital and a critical section in Linux System Administration.
Therefore to become a Linux power user, it is significant to understand how the major Linux distributions actually handle packages and in this article, we shall take a look at some of the best package managers you can find in Linux.
Here, our main focus is on relevant information about some of the best package managers, but not how to use them, that is left to you to discover more. But I will provide meaningful links that point out usage guides and many more.
1. DPKG – Debian Package Management System
Dpkg is a base package management system for the Debian Linux family, it is used to install, remove, store, and provide information about .deb
packages.
It is a low-level tool and there are front-end tools that help users to obtain packages from remote repositories and/or handle complex package relations these include:
Don’t Miss: 15 Practical Examples of “dpkg commands” for Debian-Based Distros
APT (Advanced Packaging Tool)
It is a very popular, free, powerful, and more so, useful command line package management system that is a front end for the dpkg package management system.
Users of Debian or its derivatives such as Ubuntu and Linux Mint should be familiar with this package management tool.
To understand how it actually works, you can go over these how-to guides:
Don’t Miss: 15 Examples of How to Use the New Advanced Package Tool (APT) in Ubuntu/Debian
Don’t Miss: 25 Useful Basic Commands of APT-GET and APT-CACHE for Package Management
Aptitude Package Manager
This is also a popular command line front-end package management tool for the Debian Linux family, it works similarly to APT and there have been a lot of comparisons between the two, but above all, testing out both can make you understand which one actually works better.
It was initially built for Debian and its derivatives but now its functionality stretches to the RHEL family as well. You can refer to this guide for more understanding of APT and Aptitude:
Don’t Miss: What are APT and Aptitude? and What’s the real Difference Between Them?
Synaptic Package Manager
Synaptic is a GUI package management tool for APT based on GTK+ and it works fine for users who may not want to get their hands dirty on a command line. It implements the same features as the apt-get command line tool.
2. RPM (Red Hat Package Manager)
This is the Linux Standard Base packing format and a base package management system created by RedHat. Being the underlying system, there are several front-end package management tools that you can use with it and but we shall only look at the best and that is:
YUM (Yellowdog Updater, Modified)
It is an open-source and popular command line package manager that works as an interface for users to RPM. You can compare it to APT under Debian Linux systems, it incorporates the common functionalities that APT has. You can get a clear understanding of YUM with examples from this how-to guide:
Don’t Miss: 20 Linux YUM Commands for Package Management
DNF – Dandified Yum
It is also a package manager for RPM-based distributions, introduced in Fedora 18 and it is the next generation of the version of YUM.
If you have been using Fedora 22 onwards, you must have realized that it is the default package manager. Here are some links that will provide you with more information about DNF and how to use it:
Don’t Miss: DNF – The Next Generation Package Management for RPM-Based Distributions
Don’t Miss: 27 ‘DNF’ Commands Examples to Manage Fedora Package Management
3. Pacman Package Manager – Arch Linux
It is a popular and powerful yet simple package manager for Arch Linux and some little-known Linux distributions, it provides some of the fundamental functionalities that other common package managers provide including installing, automatic dependency resolution, upgrading, uninstalling, and also downgrading software.
But most effectively, it is built to be simple for easy package management by Arch users. You can read this Pacman overview which explains in detail some of its functions mentioned above.
4. Zypper Package Manager – openSUSE
It is a command line package manager on OpenSUSE Linux and makes use of the libzypp library, its common functionalities include repository access, package installation, resolution of dependencies issues, and many more.
Importantly, it can also handle repository extensions such as patterns, patches, and products. New OpenSUSE users can refer to the following guide to master it.
Don’t Miss: 45 Zypper Commands to Master OpenSUSE Package Management
5. Portage Package Manager – Gentoo
It is a package manager for Gentoo, a less popular Linux distribution as of now, but this won’t limit it as one of the best package managers in Linux.
The main aim of the Portage project is to make a simple and trouble-free package management system to include functionalities such as backward compatibility, automation plus many more.
For better understanding, try reading the Portage project page.
Concluding Remarks
As I already hinted at the beginning, the main purpose of this guide was to provide Linux users a list of the best package managers but knowing how to use them can be done by following the necessary links provided and trying to test them out.
Users of the different Linux distributions will have to learn more on their own to better understand the different package managers mentioned above.
I agree with @dragonmouth Newbies are very scary about terminal and command line (including myself at the beginning). Imagine users used to a perfect graphical interface and switch to one window and just one line that says
[host@user]~$:
that is scary right? that means newbies want a gui! want a graphical interface, not a command-line tool.I wish Linux writers write that way “Linux is easy to learn even for those who not like it, and not like terminal! ” In this way, I am sure newbies won’t switch back to their previous OS…
sorry for the bad English. It’s not my native language.
Hi,
Thank you so much for the great topic.
“5 Best Linux Package Managers for Linux NEWBIES” (emphases mine)
The article is an epic, total FAIL.
Linux newbies need (require) applications that they can understand and are intuitive, which means GUI. Of the Package Managers mentioned only Synaptic fits that description. All the other PMs are command-line applications. They use esoteric, byzantine, absolutely non-intuitive commands.
Don’t get me wrong. I am NOT putting down the command line or command-line applications. There are very powerful and useful but not to NEWBIES. To NEWBIES, they are scary, confusing, overwhelming, and off-putting. Declaring that these are the “best” package managers for NEWBIES is the same as declaring that a jumbo jet is the “best” plane to use to learn how to fly. It can be done but how many people will quit along the way discouraged?
Maybe if tech writers emphasized the ease of use of Linux GUI applications for those switching from other O/Ss instead of emphasizing and glorifying the command line, more people would switch to Linux. Even though Windows and OS/X both have a command line, none of the ads for those O/Ss ever mentions that. There are relatively few articles about Windows Power Shell and even fewer about the OS/X command line. At the same time, a majority of Linux articles are on how to use the command line. It is ironic that those that know Linux best and could/should spread its use are the very ones that are driving users from trying it.
Worse than that, why do you compare low-level and high-level managers altogether? This is just unacceptable.
Why are they the best, how do you score them? Wouldn’t that be less confusing to new Linux admins to understand what is important?
For example, a pretty important aspect is conflict management, since this is a common cause of system breakage.