Systemy zarządzania pakietami w Linuxie znacznie upraszczają proces instalowania, aktualizowania, konfigurowania oraz usuwania oprogramowania w systemie. Każda dystrybucja Linuxa korzysta z określonego menedżera pakietów, który umożliwia kontrolowanie zainstalowanego oprogramowania oraz jego zależności.
APT (Advanced Package Tool) to menedżer pakietów, który jest podstawowym narzędziem do zarządzania oprogramowaniem w systemach opartych na Debianie, takich jak Ubuntu. Ułatwia instalowanie, aktualizowanie, konfigurowanie i usuwanie pakietów, a także automatycznie rozwiązuje zależności między nimi. W dalszej części omówię, jak działa APT, jakie operacje można na nim wykonywać oraz jak efektywnie korzystać z jego funkcji, aby zarządzać oprogramowaniem w Twoim systemie.
Jak zainstalować pakiet?
# apt install [nazwa_pakietu]
# Instaluje pakiet o podanej nazwie z repozytoriów.
apt install vim
Jak usunąć pakiet?
# apt remove [nazwa_pakietu]
# Usuwa pakiet, ale pozostawia pliki konfiguracyjne.
apt remove apache2
# apt purge [nazwa_pakietu]
# Usuwa pakiet razem z plikami konfiguracyjnymi.
apt purge apache2
Sprzątanie
apt autoremove
apt autoremove
- Usuwa niepotrzebne zależności, które były automatycznie zainstalowane przez inne pakiety, ale już nie są potrzebne (np. gdy usunięto główny pakiet).
- Nie dotyka ręcznie zainstalowanych pakietów.
Przykład:
Jeśli zainstalowano pakietA
, który wymagał pakietB
, ale pakietA
został usunięty, to pakietB
zostanie usunięty, o ile nie jest używany przez inne pakiety.
Pozwala to utrzymywać system w czystości przez pozbycie się „osieroconych” pakietów.
apt autoclean
apt autoclean
- Usuwa stare, niepotrzebne pliki pakietów (.deb) z pamięci podręcznej (cache).
- Dotyczy tylko pakietów, które nie są już dostępne w repozytoriach (np. zostały zaktualizowane do nowszych wersji).
- Nie usuwa aktualnych pakietów z cache, które nadal są potrzebne.
Przykład:
Jeśli na serwerze masz starą wersję pakietu, np. nginx_1.21
, a repozytoria oferują już nginx_1.22.1-9
, to plik .deb
starej wersji zostanie usunięty.
Pozwala to oszczędzić miejsca bez ryzyka problemów z aktualizacjami.
apt clean
apt clean
- Usuwa całą pamięć podręczną pakietów (.deb) przechowywaną w
/var/cache/apt/archives/
. - Dotyczy wszystkich plików .deb, nawet tych aktualnych i potrzebnych do ponownej instalacji.
- Po użyciu
clean
, ponowna instalacja pakietów wymaga ponownego pobrania ich z repo.
Przykład:
Po uruchomieniu apt clean
, katalog /var/cache/apt/archives/
staje się pusty.
Pozwala to maksymalnie oczyścić przestrzeń dyskową.
Jak wyszukać pakiet?
# Nowoczesna wersja polecenia do wyszukiwania pakietów.
# Przeszukuje listę pakietów w repozytoriach według podanego słowa kluczowego.
apt search nginx-core

# Starsza wersja polecenia do wyszukiwania pakietów.
apt-cache search nginx-core
Jak wyświetlić informacje o pakiecie?
apt show
Wyświetla szczegółowe informacje o pakiecie dostępnym w repozytorium.
apt show nginx-core

- Opis pakietu (czym jest i do czego służy).
- Dostępne wersje w repozytorium.
- Zależności i konflikty z innymi pakietami.
- Rozmiar pakietu do pobrania.
- Autorów, licencję itp.
apt policy
Pokazuje, jakie wersje pakietu są dostępne w repozytoriach oraz czy pakiet jest zainstalowany w systemie.
apt policy curl

- Obecnie zainstalowaną wersję (jeśli pakiet jest zainstalowany).
- Dostępne wersje w repozytoriach.
- Priorytety repozytoriów (Pin-Priority).
Jak sprawdzić zainstalowane pakiety?
# Zainstalowane pakiety
apt list --installed
# Pakiety dostępne do aktualizacji
apt list --upgradable
Jak zaktualizować system?
# równoważne apt-get dist-upgrade
# Aktualizuje wszystkie pakiety w systemie, instalując nowe wersje i
# rozwiązując zmiany w zależnościach,
# nawet jeśli oznacza to usunięcie niektórych pakietów.
apt full-upgrade
Jak zablokować aktualizację pakietu?
# Nginx-core nie będzie aktualizowany przy apt upgrade.
apt-mark hold nginx-core
# Odblokowuje pakiet, umożliwiając jego aktualizację.
apt-mark unhold nginx-core
Jak wyświetlić listę zależności dla konkretnego pakietu?
# Pokaże, jakie pakiety są wymagane do działania apache2.
apt depends apache2
# Wyświetli listę pakietów, które wymagają libssl1.1.
apt rdepends libssl1.1
# Otwiera plik źródeł repozytoriów (/etc/apt/sources.list) w domyślnym edytorze tekstu,
# pozwalając na ręczne zarządzanie repozytoriami.
apt edit-sources