apt
Overview
apt is the user-friendly package manager front-end on Debian and Ubuntu. It installs, updates, searches, and removes .deb packages, resolving dependencies. Prefer apt for interactive use; apt-get/apt-cache remain for scripts and older docs.
Syntax
apt [options] commandCommon Commands
| Command | Description |
|---|---|
update |
Refresh package indexes |
upgrade / full-upgrade |
Install newer versions |
install PKG… |
Install |
remove / purge |
Remove (purge drops config) |
autoremove |
Drop unused deps |
search / show |
Discover package metadata |
list --installed |
Installed packages |
policy PKG |
Candidate versions / pinning |
edit-sources |
Open sources list |
history |
Recent transactions (newer apt) |
Key Use Cases
- Install software on Ubuntu/Debian
- Apply security updates
- Inspect why a package is installed
- Clean leftover dependencies
Safety
- Run
updatebefore install/upgrade.
- Read the transaction summary before confirming.
- Avoid mixing random PPAs without care; they complicate upgrades.
- Prefer
apt install package=versionfor pins when needed.
Examples with Explanations
Refresh and upgrade
sudo apt update
sudo apt upgrade
# or: sudo apt full-upgrade # may remove pkgs to satisfy depsInstall / remove
sudo apt install curl jq htop
sudo apt remove htop
sudo apt purge htop
sudo apt autoremoveSearch and inspect
apt search nginx
apt show nginx
apt policy nginxList installed
apt list --installed | less
apt list --upgradableFix broken deps
sudo apt --fix-broken installClean caches
sudo apt clean
sudo apt autocleanNoninteractive (scripts/CI)
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install packageapt-get is more stable for automation flags.
Notes & Pitfalls
aptCLI is not fully API-stable for machines; many CI scripts still useapt-get.
- Holds:
apt-mark hold PKG.
- Downloads live under
/var/cache/apt/archives.
- Snaps/flatpaks are separate systems.
Additional Resources
man apt
- Ubuntu packaging guide