APT Package Manager Cheatsheet


Updating and Upgrading Packages

  • Refresh package index from repositories
sudo apt update
  • Upgrade installed packages to latest versions
sudo apt upgrade
  • Upgrade with dependency additions/removals
sudo apt full-upgrade

Installing and Removing Packages

  • Install a package (e.g., nginx)
sudo apt install <package>
  • Install specific version (e.g., nginx=1.18.0-0ubuntu1)
sudo apt install <package>=<version>
  • Remove package, keep config files
sudo apt remove <package>
  • Remove package and config files
sudo apt purge <package>
  • Remove unneeded dependencies
sudo apt autoremove

Searching and Querying Packages

  • Search packages by name/description (e.g., nginx)
apt search <keyword>
  • List all installed packages
apt list --installed
  • List packages with available upgrades
apt list --upgradable
  • Show package details (e.g., nginx)
apt show <package>
  • List available versions across repositories
apt madison <package>

Managing Repositories

  • Add a PPA (e.g., ppa:nginx/stable)
sudo add-apt-repository <ppa>
  • Remove a PPA
sudo add-apt-repository --remove <ppa>
  • Edit /etc/apt/sources.list
sudo apt edit-sources
  • View repository configuration
cat /etc/apt/sources.list
  • List additional repository files
ls /etc/apt/sources.list.d/

Package Maintenance and Cleanup

  • Remove obsolete package files from cache
sudo apt autoclean
  • Clear entire package cache
sudo apt clean
  • Simulate package removal
sudo apt remove --dry-run <package>
  • Fix interrupted installations
sudo dpkg --configure -a
  • Resolve broken dependencies
sudo apt -f install

Holding and Pinning Packages

  • Prevent package upgrades (e.g., nginx)
sudo apt hold <package>
  • Allow held package to upgrade
sudo apt unhold <package>
  • Alternative way to hold a package
echo "<package> install" | sudo dpkg --set-selections
  • Pin package versions via priority settings
sudo vim /etc/apt/preferences

Advanced Commands

  • Show package dependencies
apt depends <package>
  • Show packages depending on the specified package
apt rdepends <package>
  • Show installed and available versions, priorities
apt-cache policy <package>
  • Install build dependencies for a package
sudo apt build-dep <package>
  • Download source code for a package
sudo apt source <package>