Linux: How 5 Package Managers Work
Fedora was the first Linux distribution that I used in the late 1990s. The Linux desktop was not as sophisticated as it is today. Gnome and KDE did not have graphical interfaces that provided the kind of user experience that offered subtle hints about how to manage basic operating system functions like software installation. I learned that many Linux applications were compiled from source code, and then installed from scratch. I used a few tutorials to learn how to use Make, configure GCC for my computer and install a few apps. But I was constantly plagued by dependency issues that drove the hell out of me. I didn’t know that Linux distributions have a package manager.
That is no longer an issue. Since the late 90s, I have tried a variety of Linux distributions, from enterprise-level REHLs and Ubuntu distros to niche distributions like Pop OS or Elementary OS. And even the versions that make Linux novices cringe like Arch and Gentoo. Each Linux distribution has its own pros and cons. However, they all share one thing in common: Linux’s package manager.
What is a Linux Package Manager?
Linux is a different operating system than Windows or Mac OS. Windows applications are often monolithic, large applications that work within their own systems. It is likely that Windows applications will include all the libraries and additional applications it requires with their install package. Windows applications are built using core libraries that are already part of the OS. Handbrake, for example, will include FFMPEG if it is installed on Windows. This is in addition to any other libraries that Handbrake needs to run the UI.
Linux’s philosophy is simpler. Applications are small, purpose-built tools. These small applications can work together through the piping of information. Linux’s very nature allows this. Applications can be connected together using the command-line to collaborate. Applications are not necessarily designed with other applications in mind. However, they can be linked together to accomplish complex tasks.
Learn how to become a security expert with SPOTO’s Cybersecurity Training
Start training Some applications require other applications to function properly. Applications may also depend on certain versions of other programs. This can lead to even more confusion as older versions or newer dependent applications may cause problems. These dependencies are not included in the Linux application’s self-contained installer package.
This is where a package manager comes in. A Linux package manager is responsible for organizing and installing applications and their dependencies. A package manager for Linux will also keep track and update those applications.
5 Types Of Linux Package Managers
Every Linux distribution has a package manager. They all do the same job though:
Installation of applications
Managing application dependencies
How to handle OS updates
Depending on which Linux distribution you’re using, each package manager will be different. Here is a quick overview of the most popular package managers for Linux distributions:
Linux Package Manager
Ubuntu / Debian
How do Linux Package Managers work?
Although each Linux package manager is different, they all have a common architecture.
Linux package managers use a repository. Repositories are a list of applications. These lists include the dependencies for each app.
Linux distributions usually have their own maintained repo