Gentoo Linux – niezależna dystrybucja GNU/Linuksa rozwijana w modelu rolling release. Jej podstawowym systemem zarządzania pakietami jest Portage, który umożliwia zarówno budowanie oprogramowania z kodu źródłowego, jak i instalowanie pakietów binarnych. Gentoo umożliwia szczegółowe dostosowanie funkcji pakietów i konfiguracji systemu.

Nazwa dystrybucji pochodzi od angielskiej nazwy pingwina białobrewego (gentoo penguin).

Historia Początki Gentoo sięgają końca lat 90. XX wieku. Daniel Robbins, wcześniej związany z projektem Stampede Linux, rozpoczął tworzenie niezależnej dystrybucji wokół opracowanego przez siebie systemu ebuildów, którego zadaniem było automatyzowanie pobierania, przygotowywania, kompilowania, instalowania i pakowania oprogramowania. Projekt nosił początkowo nazwę kodową Enoch. Po krótkim okresie eksperymentów z FreeBSD system pakietów został przeprojektowany pod wpływem systemu BSD Ports i otrzymał nazwę Portage.

Gentoo Linux 1.0 wydano 31 marca 2002. 14 maja 2004 utworzono Gentoo Foundation, która przejęła prawną reprezentację projektu i zarządzanie jego majątkiem. W marcu 2024 Gentoo zostało projektem stowarzyszonym Software in the Public Interest, które zapewnia projektowi m.in. obsługę darowizn, środków finansowych, umów i części spraw administracyjnych.

Model rozwoju i architektury Gentoo jest dystrybucją typu rolling release: nie publikuje kolejnych wersji całego systemu, a pakiety są aktualizowane na bieżąco. Obrazy instalacyjne i profile nie stanowią odrębnych wydań systemu w znaczeniu stosowanym w dystrybucjach o cyklu wydawniczym opartym na wersjach.

Repozytorium Gentoo używa obecnie słów kluczowych dla architektur: Alpha, AMD64, ARM, ARM64, HPPA, LoongArch, m68k, MIPS, PowerPC, PowerPC 64, RISC-V, S390, SPARC oraz x86.

Portage Portage jest systemem zarządzania pakietami Gentoo, wzorowanym na kolekcjach portów. Jego implementacja wykorzystuje przede wszystkim Python i Bash, a głównym interfejsem wiersza poleceń jest program emerge. Portage może korzystać z głównego repozytorium ebuildów, dodatkowych repozytoriów oraz serwerów pakietów binarnych.

Ebuild Ebuild jest plikiem tekstowym opisującym konkretną wersję pakietu oraz sposób jej obsługi przez menedżer pakietów. Zawiera m.in. metadane, zależności oraz instrukcje pobierania, konfigurowania, budowania i instalowania oprogramowania. Format ebuildów jest wersjonowany przez EAPI i opisany w specyfikacji Package Manager Specification.

Lokalna kopia repozytorium Gentoo może być synchronizowana m.in. poleceniem emerge --sync.

Flagi USE Flagi USE określają opcjonalne funkcje, które mają być włączone lub wyłączone podczas instalowania pakietów, i mogą wpływać także na zależności. Ustawienia globalne można definiować w pliku /etc/portage/make.conf, a ustawienia dotyczące poszczególnych pakietów w /etc/portage/package.use.

Słowa kluczowe i maskowanie Dla każdej obsługiwanej architektury pakiety mogą otrzymywać słowo kluczowe oznaczające wersję uznaną za stabilną albo słowo poprzedzone tyldą, np. amd64 i ~amd64. Użytkownik może dopuszczać wybrane pakiety testowe za pomocą /etc/portage/package.accept_keywords. Portage obsługuje również pliki package.mask i package.unmask, które pozwalają blokować lub jawnie odblokowywać określone wersje pakietów.

Pakiety binarne Portage od dawna obsługuje pakiety binarne równolegle z instalacją ze źródeł. W grudniu 2023 projekt Gentoo uruchomił oficjalne serwery pakietów binarnych: dla większości architektur obejmują one przede wszystkim system bazowy, natomiast dla AMD64 i ARM64 udostępniany jest znacznie szerszy zestaw pakietów.

Współczesny Portage obsługuje format GPKG, którego pliki mają rozszerzenie .gpkg.tar, a także starszy format XPAK używający plików .tbz2.

GURU GURU jest oficjalnym repozytorium nowych pakietów Gentoo, utrzymywanym wspólnie przez użytkowników. Pakiety są przeglądane przez społeczność, ale repozytorium podlega jedynie ograniczonemu nadzorowi deweloperów Gentoo i nie jest objęte wsparciem Gentoo Security.

Instalacja Gentoo można instalować z oficjalnego minimalnego obrazu instalacyjnego albo z innego działającego środowiska linuksowego. Projekt udostępnia również LiveGUI z pulpitem KDE Plasma, przeznaczony m.in. do wygodniejszego przeprowadzania ręcznej instalacji; obraz LiveGUI dla AMD64 jest budowany co tydzień.

Podstawą instalowanego systemu jest archiwum stage3. Współczesny podręcznik Gentoo nie opisuje już instalacji z dawnych etapów stage1 i stage2, które z czasem stały się przestarzałe dla typowej instalacji.

Jądro systemu Gentoo umożliwia kilka sposobów instalacji jądra Linux. Pakiet sys-kernel/gentoo-kernel automatyzuje konfigurację i budowanie jądra w ramach systemu pakietów, sys-kernel/gentoo-kernel-bin dostarcza jądro skompilowane, a sys-kernel/gentoo-sources udostępnia źródła przeznaczone do ręcznej konfiguracji i kompilacji.

Bezpieczeństwo Zespół Gentoo Security publikuje komunikaty Gentoo Linux Security Advisories (GLSA) dotyczące luk w pakietach dostępnych dla użytkowników Gentoo. Komunikaty wskazują m.in. pakiety i wersje podatne oraz wersje zawierające poprawki, a także sposób aktualizacji.

Dystrybucje oparte na Gentoo Z Gentoo wywodziły się liczne dystrybucje i systemy wykorzystujące jego rozwiązania. Zestawienie ekosystemu Gentoo obejmuje m.in. Ututo, VidaLinux Desktop OS, Kororaa, Litrix, Sabayon Linux, Gentoox, Pentoo, Navyn OS, BinToo, SystemRescueCd i Calculate Linux.

Pentoo jest nadal rozwijanym systemem Live CD/USB przeznaczonym do testów penetracyjnych i oceny bezpieczeństwa, opartym na Gentoo. SystemRescue był historycznie oparty na Gentoo, lecz od wersji 6.0.0, wydanej w 2019, bazuje na Arch Linux.

Do historycznych systemów opartych na Gentoo należały także polski LinOS, działający jako Live CD, oraz incognito LiveCD, dystrybucja nastawiona na anonimowość, wykorzystująca m.in. sieć Tor. W grupie projektów wiązanych z Gentoo znajdował się również reGen2.

Przypisy

Linki zewnętrzne Oficjalna strona Gentoo Linux