Title: πŸ“¦ APT β€” Debian/Ubuntu Group: Package Managers Icon: πŸ“¦ Order: 1 ## Table of Contents - [Configuration](#-configuration--конфигурация) - [Core Management](#-core-management--основноС-ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅) - [Sysadmin Operations](#-sysadmin-operations--ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ-систСмного-администратора) - [Troubleshooting](#-troubleshooting--устранСниС-Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ) - [Comparison: Upgrade vs Dist-Upgrade](#-comparison-upgrade-vs-dist-upgrade) - [Security](#-security--Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ) --- # πŸ“¦ APT Cheatsheet (Debian/Ubuntu) Advanced Package Tool (APT) is the package manager for Debian, Ubuntu, and their derivatives. / Advanced Package Tool (APT) β€” это ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для Debian, Ubuntu ΠΈ ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ…. --- ## βš™οΈ 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 / Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ```bash sudo add-apt-repository ppa:/ # Add PPA / Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ PPA sudo add-apt-repository --remove ppa:/ # Remove PPA / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ PPA sudo apt edit-sources # Edit sources manually / Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ источники Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ``` ### Proxy Configuration / Настройка прокси `/etc/apt/apt.conf.d/proxy.conf` ```bash Acquire::http::Proxy "http://:@:/"; Acquire::https::Proxy "http://:@:/"; ``` --- ## πŸ›  Core Management / ОсновноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ### Update & Upgrade / ОбновлСниС ```bash 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 / Установка ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ```bash sudo apt install # Install package / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ sudo apt install # Install multiple / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ нСсколько sudo apt install = # Install specific version / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ sudo apt reinstall # Reinstall package / ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ sudo apt remove # Remove package (keep config) / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ (ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³) sudo apt purge # Remove with configs / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ вмСстС с ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°ΠΌΠΈ sudo apt autoremove # Remove unused dependencies / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ зависимости sudo apt autoremove --purge # Remove unused with configs / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ с ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°ΠΌΠΈ ``` ### Search & Info / Поиск ΠΈ информация ```bash apt search # Search packages / Поиск ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² apt show # 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 # Show installed/available versions / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ установлСнныС/доступныС вСрсии apt-cache depends # Show dependencies / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ зависимости apt-cache rdepends # Show reverse dependencies / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ зависимости dpkg -L # List files in package / Бписок Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ dpkg -S # Find owner of file / Найти Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π° ``` --- ## πŸ”§ Sysadmin Operations / ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ систСмного администратора ### Clean & Maintenance / ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° ΠΈ обслуТиваниС ```bash 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. / ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. ```bash sudo apt-mark hold # Prevent upgrade / Π—Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ sudo apt-mark unhold # Allow upgrade / Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ apt-mark showhold # Show held packages / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ``` ### Logs / Π›ΠΎΠ³ΠΈ - **History Log:** `/var/log/apt/history.log` - Record of installed/removed/upgraded packages. - **Term Log:** `/var/log/apt/term.log` - Terminal output of apt commands. ```bash 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. / Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автоматичСскиС обновлСния для ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ бСзопасности. ```bash 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": ```bash sudo lsof /var/lib/dpkg/lock # Check who holds the lock / ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΊΡ‚ΠΎ Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ sudo kill -9 # 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": ```bash sudo rm -rf /var/lib/apt/lists/* sudo apt clean sudo apt update ``` ### Fix Broken Installs / Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сломанных установок ```bash 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/`. ```bash apt-key list # List keys (deprecated) / Бписок ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (устарСло) # Modern way to add key / Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ способ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡: curl -fsSL https:///key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/-archive-keyring.gpg ```