Menedżer pakietów (ang. package manager) to program, który instaluje, aktualizuje i usuwa oprogramowanie w systemie, pilnując przy tym zależności i wersji. Zamiast ściągać kod ze strony, kompilować go ręcznie i modlić się, że nic nie brakuje, wpisujesz jedną komendę, a menedżer sam pobiera gotowy pakiet z repozytorium, dokłada wszystkie biblioteki, których ten pakiet potrzebuje, i melduje, że gotowe. To centralny punkt zarządzania całym softwarem na maszynie.
Jak to działa
Menedżer pakietów rozdziela dwie rzeczy: pakiety (gotowe, spakowane programy z metadanymi) i repozytoria (serwery, z których te pakiety lecą). Lokalnie trzyma bazę danych tego, co masz zainstalowane i w jakiej wersji. Kiedy prosisz o instalację, menedżer sprawdza w tej bazie, rozwiązuje drzewo zależności (czyli: „żeby zainstalować A, potrzebuję jeszcze B i C”), pobiera brakujące elementy i konfiguruje wszystko w odpowiedniej kolejności.
Druga supermoc to aktualizacje. Jedna komenda potrafi podbić wersje wszystkich programów naraz, łącznie z łatkami bezpieczeństwa. Dlatego na Linuksie rzadko klikasz „pobierz nowszą wersję” w każdej aplikacji z osobna, tak jak na Windowsie sprzed lat.
Przykład z praktyki
Na Ubuntu/Debianie królem jest apt. Typowy dzień wygląda tak:
sudo apt update— odśwież listę dostępnych pakietów z repozytoriów,sudo apt install nginx— zainstaluj serwer nginx wraz z zależnościami,sudo apt upgrade— zaktualizuj wszystko, co da się zaktualizować,sudo apt remove nginx— usuń pakiet.
Na Fedorze/RHEL robisz to samo przez dnf (np. sudo dnf install nginx), a na Arch Linux przez pacman (sudo pacman -S nginx). Różnią się składnią i formatem pakietów (.deb kontra .rpm), ale idea jest identyczna.
Częste błędy i mity
„Zainstaluję ręcznie, będzie szybciej.” Zwykle skończysz z rozjechanymi zależnościami, których menedżer już nie ogarnia, bo nie wie o plikach, które wrzuciłeś obok jego bazy. Trzymaj się repozytoriów.
Mieszanie repozytoriów i źródeł. Dorzucanie losowych zewnętrznych repo potrafi rozwalić system przy najbliższym upgrade. Dodawaj tylko zaufane.
Pamiętaj też, że menedżer pakietów systemu to nie to samo co menedżery dla języków programowania (npm, pip) — tamte zarządzają bibliotekami projektu, nie całym systemem.
Pojęcia powiązane
Repozytorium, zależności (dependencies), pakiet .deb i .rpm, apt, dnf, pacman, Snap i Flatpak (uniwersalne formaty pakietów), menedżery języków: npm i pip.