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.