APT — Debian/Ubuntu

If you like this project, consider supporting me on Buy Me a Coffee ☕️


tags:

Description

APT (Advanced Package Tool) is the standard package management system for Debian, Ubuntu, and all their derivatives (Linux Mint, Pop!_OS, etc.). It is a front-end to the lower-level dpkg tool and handles dependency resolution, repository management, and package downloading automatically. / APT — стандартная система управления пакетами для Debian, Ubuntu и их производных. Это фронтенд для низкоуровневого инструмента dpkg, автоматически обрабатывающий зависимости, репозитории и загрузку пакетов.

Status: Actively maintained and the primary package manager for the largest family of Linux distributions. The apt command (introduced in Debian 8/Ubuntu 14.04) is the modern replacement for the older apt-get and apt-cache commands. / Статус: Активно поддерживается и является основным менеджером пакетов для крупнейшего семейства дистрибутивов Linux.

Default Ports: N/A (local tool) Package Format: .deb


⚙️ Configuration

Main Configuration Files

/etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/apt.conf /etc/apt/apt.conf.d/

Add Repository

sudo add-apt-repository ppa:<USER>/<REPO>         # Add PPA / Добавить PPA
sudo add-apt-repository --remove ppa:<USER>/<REPO> # Remove PPA / Удалить PPA
sudo apt edit-sources                             # Edit sources manually / Редактировать источники вручную

Proxy Configuration

/etc/apt/apt.conf.d/proxy.conf

Acquire::http::Proxy "http://<USER>:<PASSWORD>@<HOST>:<PORT>/";
Acquire::https::Proxy "http://<USER>:<PASSWORD>@<HOST>:<PORT>/";

🛠 Core Management

Update & Upgrade

sudo apt update                               # Update package lists / Обновить списки пакетов
sudo apt upgrade                              # Upgrade packages / Обновить пакеты
sudo apt full-upgrade                         # Full upgrade (handles conflicts) / Полное обновление (обрабатывает конфликты)
sudo apt dist-upgrade                         # Distribution upgrade / Обновление дистрибутива
sudo apt update && sudo apt upgrade -y        # Update and upgrade / Обновить списки и пакеты

Install & Remove

sudo apt install <PACKAGE>                    # Install package / Установить пакет
sudo apt install <PKG1> <PKG2> <PKG3>         # Install multiple / Установить несколько
sudo apt install <PACKAGE>=<VERSION>          # Install specific version / Установить конкретную версию
sudo apt reinstall <PACKAGE>                  # Reinstall package / Переустановить пакет
sudo apt remove <PACKAGE>                     # Remove package (keep config) / Удалить пакет (сохранить конфиг)
sudo apt purge <PACKAGE>                      # Remove with configs / Удалить вместе с конфигами
sudo apt autoremove                           # Remove unused dependencies / Удалить неиспользуемые зависимости
sudo apt autoremove --purge                   # Remove unused with configs / Удалить неиспользуемые с конфигами

Search & Info

apt search <KEYWORD>                          # Search packages / Поиск пакетов
apt show <PACKAGE>                            # Show package details / Показать детали пакета
apt list --installed                          # List installed packages / Список установленных пакетов
apt list --upgradable                         # List upgradable packages / Список обновляемых пакетов
apt list --all-versions                       # List all versions / Список всех версий
apt-cache policy <PACKAGE>                    # Show installed/available versions / Показать установленные/доступные версии
apt-cache depends <PACKAGE>                   # Show dependencies / Показать зависимости
apt-cache rdepends <PACKAGE>                  # Show reverse dependencies / Показать обратные зависимости
dpkg -L <PACKAGE>                             # List files in package / Список файлов в пакете
dpkg -S <PATH/TO/FILE>                        # Find owner of file / Найти владельца файла

🔧 Sysadmin Operations

Clean & Maintenance

sudo apt clean                                # Clear local repository of retrieved package files / Очистить локальный репозиторий скачанных файлов
sudo apt autoclean                            # Clear old versions of downloaded packages / Очистить старые версии скачанных пакетов

Hold & Unhold

Prevent a package from being automatically upgraded. / Предотвратить автоматическое обновление пакета.

sudo apt-mark hold <PACKAGE>                  # Prevent upgrade / Запретить обновление
sudo apt-mark unhold <PACKAGE>                # Allow upgrade / Разрешить обновление
apt-mark showhold                             # Show held packages / Показать удерживаемые пакеты

Logs

tail -f /var/log/apt/history.log              # Monitor package changes / Мониторинг изменений пакетов
grep "install " /var/log/apt/history.log      # Search installed packages / Поиск установленных пакетов

Unattended Upgrades

/etc/apt/apt.conf.d/50unattended-upgrades

Enable automatic updates for security patches. / Включить автоматические обновления для патчей безопасности.

sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
# Check log
cat /var/log/unattended-upgrades/unattended-upgrades.log

🚨 Troubleshooting

Lock File Issues

[!WARNING] Only remove lock files if you are certain no other apt/dpkg process is running. / Удаляйте файлы блокировки только если уверены, что процесс apt/dpkg не запущен.

If you get "Could not get lock /var/lib/dpkg/lock":

sudo lsof /var/lib/dpkg/lock                  # Check who holds the lock / Проверить, кто держит блокировку
sudo kill -9 <PID>                            # Kill the process / Убить процесс
# OR if no process is running
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a                      # Fix interrupted installations / Исправить прерванные установки

Merge List Errors

If you get "Problem with MergeList" or "Hash Sum Mismatch":

sudo rm -rf /var/lib/apt/lists/*
sudo apt clean
sudo apt update

Fix Broken Installs

sudo apt --fix-broken install                 # Fix missing dependencies / Исправить отсутствующие зависимости

📊 Comparison: Upgrade vs Dist-Upgrade

Feature apt upgrade apt dist-upgrade
New Packages No Yes (if needed)
Remove Packages No Yes (to resolve conflicts)
Kernel Updates Usually no Yes
Use Case Routine updates (Safe) / Регулярные обновления (Безопасно) Major system updates / Крупные обновления системы

🔒 Security

Key Management

Files in /etc/apt/trusted.gpg.d/ or /usr/share/keyrings/.

apt-key list                                  # List keys (deprecated) / Список ключей (устарело)
# Modern way to add key
curl -fsSL https://<URL>/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/<REPO>-archive-keyring.gpg

On this page

linux 📦 APT Cheatsheet (Debian/Ubuntu) Description ⚙️ Configuration Main Configuration Files Add Repository Proxy Configuration 🛠 Core Management Update &amp; Upgrade Install &amp; Remove Search &amp; Info 🔧 Sysadmin Operations Clean &amp; Maintenance Hold &amp; Unhold Logs Unattended Upgrades 🚨 Troubleshooting Lock File Issues Merge List Errors Fix Broken Installs 📊 Comparison: Upgrade vs Dist-Upgrade 🔒 Security Key Management 📚 Documentation Links