mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
4.2 KiB
4.2 KiB
The APT package manager
Table of contents
- TL;DR
- Automate security upgrades
- Configuration
- Version pinning
- Troubleshooting
- Further readings
- Sources
TL;DR
# Check for broken dependencies.
sudo apt-get check
# Update the packages lists.
sudo apt update
# Upgrade the system.
sudo apt upgrade
sudo apt dist-upgrade
# Look for packages.
apt search 'ansible'
apt search --names-only 'python'
# Show details of packages.
apt show 'vlc'
# List a package's dependencies.
apt depends 'ufw'
# Install packages.
sudo apt install 'nano' 'python3-zstd/stable'
# Remove packages.
sudo apt remove 'dhclient' 'sudo'
sudo apt remove --purge 'bluez'
sudo apt purge 'crda'
# Remove orphaned packages.
sudo apt autoremove --purge
# List packages.
sudo apt list
sudo apt list --upgradable
sudo apt list --installed
# List explicitly installed packages only.
sudo apt-mark showmanual
# Mark packages as explicitly installed.
sudo apt-mark manual 'vim' 'unattended-upgrades'
# List non-explicitly installed packages only.
sudo apt-mark showauto
# Mark packages as non-explicitly installed.
sudo apt-mark auto 'zsh' 'bash-completion'
sudo apt-mark auto $(sudo apt-mark showmanual)
# Reconfigure packages.
sudo dpkg-reconfigure 'mariadb-server'
sudo dpkg-reconfigure -p 'low' 'unattended-upgrades'
Automate security upgrades
Leverage unattended-upgrades for this.
# Configure the packages to keep up to date.
sudo dpkg-reconfigure -p 'low' 'unattended-upgrades'
# Check what packages would be installed.
sudo unattended-upgrade -d --dry-run
# Run manually.
sudo unattended-upgrade
Configuration
See Apt configuration for more information.
# /etc/apt/apt.conf.d/90default-release
APT::Default-Release "stable";
# /etc/apt/apt.conf.d/99parallel-fetch
APT::Acquire::Queue-Mode "access";
APT::Acquire::Retries 3;
Version pinning
See apt_preferences's man page for more information.
# /etc/apt/preferences.d/99perl
Package: perl
Pin: version 5.20*
Pin-Priority: 1001
# /etc/apt/preferences.d/90debian-release
Package: *
Pin: release a=testing
Pin-Priority: 990
Package: *
Pin: release a=stable
Pin-Priority: 500
Package: *
Pin: release a=unstable
Pin-Priority: -1
# /etc/apt/preferences.d/boinc
Package: boinc boinc-client boinc-manager libboinc7
Pin: release a=unstable
Pin-Priority: 995
Troubleshooting
Fix a "Problem with MergeList" or "status file could not be parsed" error
E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/apt/lists/deb.debian.org_debian_dists_bullseye_main_i18n_Translation-en E: The package lists or status file could not be parsed or opened.
sudo rm -vrf '/var/lib/apt/lists/'*
sudo apt update
Further readings
- Apt configuration
- Configuring Apt sources
- Unattended Upgrades
apt_preferences's man pagedpkgapt-fileto look for files in packagesnetselect-aptto select the fastest APT mirror
Sources
All the references in the [further readings] section, plus the following: