Linux Package Management Cheat Sheet

Comprehensive Linux package management reference for apt, dnf, yum, pacman, zypper, rpm, and dpkg workflows across common distributions.

View
StandardDetailedCompact
Export
Copy the compact sheet, download it, or print it.
Download
`D` dense toggle · `C` copy all
## APT and Debian/Ubuntu
Refresh package index
sudo apt update

# Download latest package metadata.

Upgrade installed packages
sudo apt upgrade

# Upgrade installed packages without removing old ones.

Perform full upgrade
sudo apt full-upgrade

# Handle dependency changes and package removals if needed.

Install package
sudo apt install nginx curl jq

# Install one or more packages.

Remove package
sudo apt remove nginx

# Remove a package but keep config files.

Purge package and config
sudo apt purge nginx

# Remove package plus configuration files.

Show package details
apt show nginx

# Display package metadata.

List upgradable packages
apt list --upgradable

# Show packages that can be upgraded.

Find package owning a file
dpkg -S /usr/bin/psql

# Determine which package installed a path.

List installed packages
dpkg -l | less

# Show locally installed dpkg packages.

## DNF and Yum for RHEL family
Check available updates
sudo dnf check-update

# Query repositories for updates.

Upgrade packages
sudo dnf upgrade

# Upgrade installed packages to latest versions.

Install package
sudo dnf install nginx jq

# Install packages with dependencies.

Remove package
sudo dnf remove nginx

# Uninstall packages from the system.

Show package information
dnf info nginx

# Display version and package metadata.

Install package group
sudo dnf groupinstall 'Development Tools'

# Install a named group of packages.

Install package with yum
sudo yum install nginx

# Install packages on older yum-based systems.

Query installed package
rpm -qi openssh-server

# Inspect installed rpm metadata.

Find package owning a file
rpm -qf /usr/sbin/sshd

# Identify which rpm package owns a path.

## Pacman and Zypper
Refresh package databases
sudo pacman -Sy

# Synchronize package databases on Arch.

Full system upgrade on Arch
sudo pacman -Syu

# Synchronize package databases and upgrade packages.

Install package on Arch
sudo pacman -S nginx jq

# Install one or more packages.

Remove package on Arch
sudo pacman -Rns nginx

# Uninstall packages.

Refresh repositories on SUSE
sudo zypper refresh

# Refresh package metadata.

Update packages on SUSE
sudo zypper update

# Upgrade installed packages.

Install package on SUSE
sudo zypper install nginx jq

# Install one or more packages.

Remove package on SUSE
sudo zypper remove nginx

# Uninstall a package.