APT — Debian/Ubuntu

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

📦 APT Cheatsheet (Debian/Ubuntu)

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

📦 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