Distribution

Kompletny system operacyjny oparty na Linuksie, łączący jądro, oprogramowanie użytkownika i menedżer pakietów (np. Ubuntu, Fedora, Debian). To w tej formie używa się Linuksa na co dzień.

Dystrybucja (distribution, w skrócie distro) to gotowy do użycia system operacyjny zbudowany wokół jądra Linux. Samo jądro to za mało, żeby cokolwiek zrobić — dystrybucja dokłada do niego całą resztę: powłokę, biblioteki systemowe, narzędzia GNU, środowisko graficzne (albo i nie), program startowy oraz menedżer pakietów, który spina to wszystko w jedną, aktualizowalną całość. Innymi słowy: jądro to silnik, a dystrybucja to cały samochód razem z kierownicą, fotelami i stacją serwisową.

Różne dystrybucje biorą ten sam (albo bardzo podobny) kernel i pakują go z innym zestawem decyzji: jaki menedżer pakietów, jak często wychodzą aktualizacje, jak skonfigurowany jest system, co jest domyślnie zainstalowane. Dlatego Ubuntu, Fedora i Debian wyglądają i zachowują się inaczej, mimo że pod spodem mają wspólny Linux. Część distro wywodzi się z siebie nawzajem — Ubuntu bazuje na Debianie, a wiele „spinów” bazuje na Ubuntu — i tworzą całe rodziny.

Rodziny i menedżery pakietów

W praktyce dystrybucje najłatwiej rozpoznać po formacie pakietów i menedżerze. Rodzina Debiana (Debian, Ubuntu, Linux Mint) używa pakietów .deb i narzędzia apt. Rodzina Red Hata (Fedora, RHEL, Rocky Linux) korzysta z pakietów .rpm i dnf. Arch Linux ma własny pacman i model rolling release, czyli ciągłe aktualizacje zamiast wersji co kilka lat.

Załóżmy, że stawiasz serwer na Ubuntu i chcesz zainstalować serwer WWW. Robisz to menedżerem pakietów — on sam pobierze program i wszystkie jego zależności:

  • sudo apt update — odśwież listę dostępnych pakietów
  • sudo apt install nginx — zainstaluj nginx wraz z zależnościami

Na Fedorze ta sama operacja to sudo dnf install nginx. Komendy inne, efekt ten sam — i to jest cała istota różnic między dystrybucjami.

Częste nieporozumienia

Pierwszy mit: „Linux to system operacyjny”. Technicznie Linux to jądro; tym, czego używasz na co dzień, jest konkretna dystrybucja. Drugi: „muszę znaleźć najlepszą dystrybucję”. Nie ma najlepszej — jest pasująca do zadania. Do nauki i biurka dobre są Ubuntu czy Mint, na serwer w firmie częściej Debian, RHEL lub Rocky, a Arch wybierzesz, gdy chcesz wszystko konfigurować ręcznie. Trzecia pułapka: instalowanie programów spoza repozytoriów dystrybucji (losowe skrypty curl | bash). Trzymaj się menedżera pakietów, dopóki naprawdę nie musisz inaczej — dostajesz aktualizacje bezpieczeństwa za darmo.

Pojęcia powiązane, które warto poznać dalej: kernel (jądro), package manager (apt, dnf, pacman), repository (repozytorium pakietów), rolling release kontra wersje LTS, oraz desktop environment (GNOME, KDE) jako warstwa graficzna nakładana przez dystrybucję.