The apt command in Linux

apt is the package manager front-end on Debian and Ubuntu: it resolves dependencies, fetches signed packages from repositories and keeps the system upgradable in one command. The concepts transfer directly to dnf (Fedora/RHEL) and pacman (Arch) — same ideas, different spellings. Two-step rhythm to internalize: update the index, then act.

How apt works

apt is the strategist over dpkg's mechanics. Repositories publish signed indexes; apt update downloads them into /var/lib/apt/lists — a local catalog of every available version. Install requests run the dependency solver over that catalog, producing a plan (install these, upgrade those) that dpkg then executes package by package. update refreshes knowledge; everything else acts on it — hence the eternal pairing.

Trust is cryptographic end to end: each repository's Release file is GPG-signed, and indexes carry hashes of every package, so a tampered mirror fails verification rather than installing quietly. Meanwhile dpkg tracks which config files under /etc belong to which package and whether you edited them — the machinery behind those "config file modified" prompts during upgrades, and behind purge knowing exactly what to remove.

Syntax

apt COMMAND [PACKAGE]

Common options

OptionWhat it does
updateRefresh the package index (what versions exist). Changes nothing installed.
upgradeInstall available upgrades for everything.
install PKGInstall (or upgrade) a package with its dependencies.
remove / purge PKGUninstall / uninstall including config files.
search TERMFind packages by name/description.
show PKGDetails: version, size, dependencies, description.
autoremoveDelete dependencies nothing needs anymore.

How to use apt: examples

$ sudo apt update && sudo apt upgrade

The maintenance pair: refresh the index, apply upgrades.

$ sudo apt install htop ripgrep

Install several packages at once.

$ apt search json | grep -i cli

Hunt for a tool by keyword.

$ apt show nginx

Inspect before installing.

$ sudo apt purge oldapp && sudo apt autoremove

Clean removal including config and orphaned dependencies.

Real-world use cases for apt

The patching routine

apt update && apt list --upgradable to see what's pending, apt upgrade to apply, checking whether kernel or libc moved (reboot territory). Boring, reviewable, and the single highest-leverage security habit a server owner has.

Tracing a file to its owner

A mystery config appears: dpkg -S /etc/thing.conf names the package it belongs to; apt show explains it; dpkg -L lists everything else it installed. The package database as a map of the whole system.

Pro tips and common mistakes

Frequently asked questions about apt

update vs upgrade?

update downloads the catalog; upgrade installs from it. Running upgrade without a recent update upgrades against stale information — hence the eternal pairing.

"Unable to locate package"?

Index stale (run apt update), name misspelled (apt search it), or the package lives in a repository you have not enabled.

And on Fedora or Arch?

Same grammar: dnf install / dnf upgrade; pacman -S pkg / pacman -Syu. Learn the concepts once, translate the verbs.

Errors you may hit with apt

bash: command: command not found

The shell searched every directory in your PATH and found no executable with that name.

Related commands

curl

Download files, test APIs, send POST requests with JSON, and inspect headers.

sudo & su

Temporary privilege, audited — and why sudo won everywhere.

which & type

Which binary actually runs when you type a name — and unmask aliases.

Want to build real fluency? The interactive course takes you through apt and every other essential command with guided, checked exercises.