Software package management is the foundation that makes Linux operating systems powerful, flexible, and easy to maintain. It simplifies the software deployment process, ensuring the system is always stable and secure.
Software package management is the process of installing, upgrading, configuring, and removing software on an operating system using package managers.
Package managers help:
| Components | Roles |
|---|---|
| Package | Software package containing binary code, configuration, documentation, scripts… |
| Package Manager | CLI tool to install, update, remove, search for packages (eg: apt, dnf) |
| Repository | A place where software packages are stored. Can be local or remote (on the network) |
| Dependency Resolver | Component that handles related software dependencies |
| Metadata | Package information: name, version, architecture, dependencies, description… |
apt search htop
sudo apt install htop
sudo apt update && sudo apt upgrade
sudo apt remove htop
apt show htop
| Distro | Package Manager | Software packages | Command examples |
|---|---|---|---|
| Ubuntu/Debian | apt, dpkg |
.deb |
sudo apt install gimp |
| Fedora/RHEL/CentOS | dnf, yum, rpm |
.rpm |
sudo dnf install gimp |
| Arch Linux | pacman |
.pkg.tar.zst |
sudo pacman -S gimp |
| openSUSE | zypper |
.rpm |
sudo zypper install gimp |
| Flatpak (multiplatform) | flatpak |
.flatpakref |
flatpak install flathub gimp |
| Snap (multiplatform) | snap |
.snap |
sudo snap install gimp |