Менеджер пакетів — це те, що робить життя в Linux нормальним: встановити, оновити, налаштувати чи знести софт можна однією командою, і воно саме розрулює всі залежності. У кожного дистрибутива свій менеджер, а в світі Debian (і всього що на ньому — Ubuntu, Proxmox, Mint і т.д.) головний інструмент — це apt (Advanced Package Tool).
Нижче — усе що з ним реально роблю в житті.
Оновити список пакетів і систему
#Перше що робиш завжди — оновлюєш індекс пакетів, а вже потім ставиш чи оновлюєш.
1
2
3
4
5
| # Оновити список доступних пакетів (нічого не встановлює)
apt update
# Оновити встановлені пакети до нових версій
apt upgrade
|
Як встановити пакет
#1
2
3
4
| # apt install [назва_пакета]
# Ставить пакет з репозиторіїв.
apt install vim
|
Як видалити пакет
#1
2
3
4
| # apt remove [назва_пакета]
# Видаляє пакет, але лишає конфіги.
apt remove apache2
|
1
2
3
4
| # apt purge [назва_пакета]
# Видаляє пакет разом з конфігами.
apt purge apache2
|
Прибирання за собою
#Три команди для чистки, і люди їх постійно плутають. Тому по порядку.
apt autoremove
#Зносить непотрібні залежності, які колись автоматично притягнув інший пакет, а зараз вони вже нікому не треба (наприклад, коли ти видалив головний пакет). Руками встановлені пакети не чіпає.
Приклад: поставив пакетА, який тягнув за собою пакетБ. Потім пакетА видалив — і пакетБ теж піде, якщо його більше ніхто не використовує.
Так система лишається чистою, без «осиротілих» пакетів.
apt autoclean
#Видаляє старі непотрібні .deb з кешу (/var/cache/apt/archives/). Чіпає тільки ті пакети, яких уже нема в репозиторіях (наприклад, оновилися до новіших версій). Актуальні .deb, що ще потрібні, не чіпає.
Приклад: на сервері лежить старий nginx_1.21, а в репо вже nginx_1.22.1-9 — старий .deb буде видалено.
Економить місце без ризику щось поламати.
apt clean
#Виносить весь кеш пакетів (.deb) з /var/cache/apt/archives/. Геть усі файли, навіть актуальні й потрібні для повторної установки. Після clean пакети доведеться качати з репо наново.
Приклад: після apt clean тека /var/cache/apt/archives/ стає порожня.
Максимально звільняє диск.
Як знайти пакет
#1
2
3
4
| # Сучасна команда пошуку.
# Шукає пакети в репозиторіях за ключовим словом.
apt search nginx-core
|
1
2
3
| # Старіша версія тієї ж команди.
apt-cache search nginx-core
|
Як подивитися інфу про пакет
#Показує детальну інформацію про пакет з репозиторію:
- опис (що це й для чого),
- доступні версії в репо,
- залежності й конфлікти з іншими пакетами,
- розмір для завантаження,
- автори, ліцензія тощо.
Показує, які версії пакета доступні в репозиторіях і чи він взагалі встановлений:
- поточну встановлену версію (якщо стоїть),
- доступні версії в репозиторіях,
- пріоритети репозиторіїв (Pin-Priority).
Як глянути встановлені пакети
#1
2
3
4
5
| # Встановлені пакети
apt list --installed
# Пакети, які можна оновити
apt list --upgradable
|
Як оновити систему повністю
#1
2
3
4
5
| # еквівалент apt-get dist-upgrade
# Оновлює всі пакети, ставить нові версії й розрулює зміни в залежностях,
# навіть якщо для цього треба щось видалити.
apt full-upgrade
|
Як заблокувати оновлення пакета
#1
2
3
| # nginx-core не буде оновлюватись при apt upgrade.
apt-mark hold nginx-core
|
1
2
3
| # Розблоковує пакет — знову можна оновлювати.
apt-mark unhold nginx-core
|
Як подивитися залежності пакета
#1
2
3
| # Покаже, які пакети потрібні для роботи apache2.
apt depends apache2
|
1
2
3
| # Покаже список пакетів, яким потрібен libssl1.1.
apt rdepends libssl1.1
|
Редагувати список репозиторіїв
#1
2
3
4
| # Відкриває /etc/apt/sources.list у редакторі за замовчуванням,
# щоб руками поправити репозиторії.
apt edit-sources
|
А готові sources.list під кожну версію Debian я вже зібрав окремо — ось тут.