APT – Advanced Package Tool

Updated 20-Sep-2023

APT -- Advanced Package Tool -- is all that is needed for most application installations when there are repositories which are regularly updated for packages of interest.

Note that apt essentially makes irrelevant apt-get so there is no reason for that redundancy any longer.

Note: Use aptitude when dealing with packages that have upgrade/downgrade issues, as aptitude provides better options for resolving issues. Use the -f flag with aptitude if the downgrading is out of hand.

If packages are kept back, simply install them directly with the install command. Use -f to force dependency upgrade.

Additional Note: Use apt or aptitude to install .deb packages including the ./ before packagename, as in:

> sudo apt install -y ./packagename

stable, backports, testing, unstable repos

For a stable system, using stable (or oldstable) and backports ensures stability. However, it doesn't deal with new hardware issues, or any kind of additional functionality, such as adding updated applications. For this, it is a matter of tracking down external packages, or using the testing or unstable repositories.

> Note that mixing repos is discouraged by debian and may result in breakage. See also choosing a distribution.

Currently, my main desktop is tied to an oldstable release to keep an older printer working properly.

I do expect to be running Debian 10, and Debian 11 (aka stable and test)more or less parallel (backup desktop, server, primary desktop).

Apt pinning

Upgrading the linux kernel using apt

Update Repositories

sudo apt update -y 
sudo apt update -y -t stretch-backports

Upgrade Applications

sudo apt upgrade -y --fix-missing
sudo apt upgrade -y -t stretch-backports --fix-missing

Brokent Dependencies

sudo apt install -f

Upgrade Distributon (e.g, Debian Stable)

sudo apt dist-upgrade -y --fix-missing

Clean, Autoclean, Check, Autoremove

All these commands can be run from apt. In particular, autoremove is a good option to keep things tidy.

sudo apt autoremove -y

Purge and Remove

To seriously remove things, do:

sudo apt --purge remove package-name


Sources are found in a few places:

sudo nano /etc/apt/sources.list
ls /etc/apt/sources.list.d

Use this handy debian sources.list generator to get an updated sources.list including adding alternative repositories for popular applications such as nginx, php, syncthing.


Note: mixing repositories is not needed and generally discouraged (called franken-distributions). Stable for servers, testing for desktop.