Linux Package Management

Installing Packages/Software on Linux

Installing, upgrading, patching, removing of software on Linux

Package Management is a key part of maintaining a secure and up to date Linux system. Many Linux distributions come with different package management tools for aiding the administrator. These package management tools are often referred to as package managers as they look after the complex process of installing, upgrading, configuring and removing of software packages. The package manager generally maintains a database of software installed. When you install a package, your package manager will generally check for any dependencies - prerequisites. These prerequisites will automatically be downloaded and installed. Packages are generally available from repositories. Most systems will have multi repositories. These can be from the main distribution source of your particular distribution or from third party contributors or organisations.

As we have already seen there are many different distributions of Linux to choose from, however, many of these distributions use standard package management tools:

RPM package management (Red Hat Package Manager)

One of the most commonly used package management systems is Red Hat's "RPM" system. The name "RPM" refers to the file extension of ".rpm". Originally RPM was created for Red hat Linux, it is now widely used by many other Linux distributions and even by IBM's AIX Unix system. As well as using RPM, many front end utilities - systems have been created for working with rpm packages:
RPM User Guide

yum - package management tool

yum: A very popular used front end to "RPM". Used by RHEL, CentOS, Oracle Linux and many other systems.
yum user guide

dnf - package management tool

dnf: A new package manaement tool for the replacement of yum. Currently only used on Fedora 18 and above systems.
dnf user guide

zypper - package management tool

zypper: Used by many administrators of SLES (SUSE Linux Enterprise Server) and openSUSE systems.
zypper user guide

yast - package management tool

yast: Used on SLES and open SUSE systems. Yast is a graphical menu driven interface.
yast user guide

Debian Package Management (Debian - Ubuntu - Mint Linux based Systems)

The management of packages on debian based systems can use several different package management tools. The most popular of these are "dpkg", "apt" , "apt-get" and "apt-cache".

dpkg - package management tool

dpkg: Debian Package Manager.
dpkg user guide

apt-get - package management tool

apt-get: apt-get package manager
apt-get user guide

apt-cache - package management tool

apt-cache: apt-cache package management tool
apt-cache user guide

Arch Linux Package Management (Arch Linux Based Distributions- Antergos - ArchBang - Manjaro )

The management of packages on Arch Linux based systems uses a package manager called PacMan.

PacMan - Arch Linux Based Package Management Tool

PacMan: Arch Linux Based Package Management Tool
PacMan user guide

Synaptic Package Manager (GUI) based

Although we have concentrated on CLI (command line interface package managers, it is worth mentioning that there are graphical user interface package managers available. A popular Debian based system is "synaptic". Basically Synaptic is a front end to the "Advanced Packaging Tool". The graphical interface offers many easy to use features such as: System Wide Upgrades, Package Search Facility, Repository Management, Package name filtering, browsable online package information plus many more features.

Package Management Tool

Package Management Tool (also known as "pirut") is also a (GUI) for Red Hat based systems. This package tool allows you to perform basic package management such as downloading, installing, removing and viewing packages. More importantly, it can also take care of dependencies.