Ten artykuł należy dopracować: Gentoo Linux
 Logo programu |
 Interfejs użytkownika |
| Producent | Gentoo Foundation |
|---|
| Architektura | i386,AMD64,PowerPC,PowerPC 64,SPARC,DEC Alpha,ARM,MIPS,PA-RISC,S390,IA-64 |
|---|
| Pierwsze wydanie | 31 marca 2002 |
|---|
| Aktualna wersja | (8 stycznia2023) |
|---|
| Jądro | monolityczne |
|---|
| Licencja | GPL |
|---|
| Wersja Live | dostępna
|
|---|
| Strona internetowa |
Gentoo Linux –dystrybucjasystemu operacyjnegoGNU/Linux. Jej nazwa powstała odpingwina białobrewego, który po angielsku nazywa sięGentoo penguin. Naczelnymi założeniami tej dystrybucji są konfigurowalność, usprawnienie przenośności i optymalizacja pod kątem sprzętu użytkownika. Jest to realizowane dzięki instalacji niemal całego oprogramowania zkodu źródłowego za pomocą mechanizmuPortage.
Twórca Gentoo,Daniel Robbins, zaczął swoją pracę zLinuksem od dystrybucjiDebian GNU/Linux. Napisał do niej kilka aplikacji i zapoznał się z tajnikamiGNU/Linuksa. Jak większość użytkowników tegosystemu, wypróbował jeszcze kilkadystrybucji GNU/Linuksa, ostatecznie postanowił pomóc w rozwojuStampede Linux. Szybko stał się jejdeweloperem i zajmował się w niejsystemem zarządzania pakietami. Po jakimś czasie zdecydował się stworzyć własną dystrybucję.
W ten sposób powstałEnoch. Miała to być dystrybucja szybka, umożliwiająca automatyczne tworzenie pakietów i proces uaktualniania systemu. Do Robbinsa zaczęli przyłączać się inni deweloperzy i wkrótce nad projektem pracowało już 10 osób. Gdy stało się jasne, że Enoch ma szansę stać się najszybszą dystrybucją GNU/Linuksa, nazwę projektu zmieniono na Gentoo. Nazwa ta nawiązuje do pingwina – symbolu Linuksa. Gentoo jest angielską nazwąpingwina białobrewego, uchodzącego za najszybciej pływający gatunek pingwina.
Około wersji 1.0 Robbins kupił nowy sprzęt komputerowy, który jednak powodował zawieszanie się systemu, przez co rozwój tej dystrybucji zatrzymał się, Robbins zaczął używaćFreeBSD. Gdy wrócił do GNU/Linuksa, z pomocą innych deweloperów zaczął znów rozwijać Gentoo. Systempakietów został zaprojektowany na nowo, nazwano goPortage. Dystrybucja zaczęła rozwijać się coraz szybciej dzięki ochotnikom, którzy przysyłali poprawki i pomagali zachować odpowiedni poziom stabilności i bezpieczeństwa.
Zmienił się model rozwoju Gentoo, wydzielono odrębne projekty. Regularne spotkania ich liderów utrzymywały wysoki poziom rozwoju i współpracy. PowstałaniedochodowaFundacja Gentoo, zajmująca się sprawami finansowymi i prawnymi oraz nadzorująca rozwój dystrybucji.
W kwietniu 2004 roku, w wyniku sporów w zespole deweloperów Gentoo, a także w związku z zaniedbanym (za sprawą zbytniego zaangażowania w projekt) życiem rodzinnym, Daniel zdecydował się na odejście z zespołu i przekazanie pełnipraw autorskich (m.in. do ebuildów i do logo) Fundacji.W maju 2005 zatrudnił się wMicrosofcie w ramach edukacji firmy co do metod rozwoju i testowania projektówFLOSS, jednak po niecałym roku zrezygnował, gdyż jego zdaniem Microsoft nie oferował odpowiednich perspektyw rozwoju.
Dystrybucja rozwijała się w tym czasie nadal, choć brak przywództwa i zaangażowania jej głównego architekta znacząco spowolnił tempo rozwoju. W zespole deweloperów rozgorzały spory kompetencyjne. Po zakończeniu pracy w Microsofcie Daniel Robbins chciał wrócić do sprawowania kierowniczej roli w projekcie[1], jednak nie doszedł do porozumienia z Fundacją i postanowił kontynuować pracę nad jego odnowioną wersją, którą nazwałFuntoo.
Portage to system zarządzania pakietami wzorowany na portachFreeBSD. Został napisany w językuPython. Jest głównym narzędziem odróżniającym Gentoo od innych dystrybucji. Z portage korzysta się przy pomocy komendyemerge. W przeciwieństwie do typowychrepozytoriów pakietów nie przechowuje postaci binarnych aplikacji, ale jedynie informacje potrzebne do samodzielnejkompilacji ich kodu źródłowego, o ile jest on dostępny (ebuildy).
Ebuild to alternatywa dla typowych w innych dystrybucjach prekompilowanych pakietów oprogramowania. Jest to plik tekstowy opisujący jak pobrać, skonfigurować,skompilować źródła programu w sposób zoptymalizowany dla danej maszyny oraz jak zainstalować tooprogramowanie w systemie. Oficjalne ebuildy znajdują się naserwerach lustrzanych Gentoo. Nowe ebuildy można uzyskać przez zsynchronizowanie lokalnego drzewa Portage z repozytorium poprzezprotokółrsync. Służy do tego komendaemerge --sync.
Flagi te wykorzystywane są przez system Portage do określenia, jakie opcje oprogramowania mają być uaktywnione w trakcie jego kompilacji. Umożliwia to dostosowanie oprogramowania do własnych potrzeb. Dla przykładu, jeśli ktoś nie używa środowiska graficznegoGNOME tylkoKDE, może ustawić odpowiednie flagi USE by oprogramowanie było kompilowane jedynie z obsługą tego drugiego. Flagi USE wpływają na zależności między pakietami oraz na to, jakie opcje będą przekazane przy kompilacji oprogramowania.
Dzięki maskowaniu pakietów w Gentoo można określić, które wersje pakietów mają być instalowane w danym systemie. Umożliwia to wybór ściśle określonej wersji, a także wybór najnowszej stabilnej lub najnowszej testowej wersji pakietu w ramach podanej architektury sprzętowej. Wyróżnia się dwa rodzaje maskowania pakietów – twarde i przez słowa kluczowe (ang.keywords). Dla każdej architektury jest przypisanesłowo kluczowe, jeśli jest ono poprzedzone znakiem tyldy oznacza wersję testową danego pakietu. Na przykład dla architekturx86 słowo kluczowe x86 oznacza pakiety stabilne i przetestowane, ~x86 oznacza natomiast pakiety wymagające testów. Używane słowa kluczowe są ustalane dla wszystkich pakietów przez zmienną ACCEPT_KEYWORDS w głównym pliku konfiguracyjnym (/etc/portage/make.conf, w starszych instalacjach /etc/make.conf) lub oddzielnie dla każdego pakietu w pliku lub plikach w katalogu /etc/portage/package.accept_keywords/. Maskowanie twarde jest używane w stosunku do pakietów niebezpiecznych i niezalecanych do instalacji w związku z problemami, które mogą one powodować. Aby odmaskować twarde maskowanie należy dodać odpowiedni wpis do pliku /etc/portage/package.unmask.
W Gentoo istnieje możliwość stworzenia prekompilowanych pakietów oprogramowania (poprzez komendęemerge -b podczas kompilacji alboquickpkg, wchodzącą w skład pakietu Gentoolkit). Mają one rozszerzenie.tbz2 i zawierają wszystkie pliki kopiowane przez Portage podczas zwykłej instalacji wraz z metadanymi umożliwiającymi zainstalowanie ich przezemerge. Pakiety takie mogą być wykorzystane do szybkiej instalacji na podobnych maszynach lub do szybkiej naprawy systemu po awarii.
Poza rozwijaniem dystrybucji deweloperzy zgromadzeni wokół Gentoo zajmują się szeregiem innych projektów zorientowanych na konkretne zastosowania systemu operacyjnego.
Hardened Gentoo obejmuje kilka podprojektów związanych z poprawą bezpieczeństwa systemu. Zaliczyć tu należy obsługęPaX, SSP (Stack Smashing Protection),SELinux,RSBAC iGrsecurity[2].
GLSA (Gentoo Linux Security Advisories) to dokumentyXML opisujące poszczególne luki w oprogramowaniu znajdującym się wPortage. Ich tworzeniem i aktualizacją zajmuje sięGentoo Linux Security Team. Użytkownicy mają do dyspozycji narzędzieglsa-check sprawdzające system i zainstalowane oprogramowanie pod kątem luk opisanych w GLSA.
Podstawowymi źródłami jądra Gentoo sągentoo-sources, czyli oryginalne jądroLinux z łatami przygotowywanymi przez deweloperów Gentoo. Modyfikacje obejmują głównie poprawki na niewielkie błędy tak, aby nie było znaczących różnic w stosunku do oryginalnych źródeł jądra (zwanychvanilla-sources). Użytkownicy mogą skorzystać również z przygotowanych jąder do konkretnych zastosowań, np.git-sources (najnowsze źródła zGit),hardened-sources (z łatamiGrsecurity),hppa-sources,sparc-sources,mm-sources (jądroAndrew Mortona),rsbac-sources (z łatamiRSBAC),tuxonice-sources (z łatamiTuxOnIce) i innych.
Poszczególne większe lub istotniejsze pakiety oprogramowania posiadają swoje wydzielone grupy deweloperów. Grupy te oprócz przygotowywania nowych wersji do drzewaPortage opracowują również samodzielnełaty na zgłaszane błędy, później czasem włączane do oryginalnego oprogramowania. Wśród takich podprojektów znaleźć można:Apache,Python,PHP,Perl czyKolab2.
Gentoo można zainstalować na wiele sposobów. Najbardziej popularne jest użycie specjalnie do tego przystosowanego GentooLive CD. Można jednak do tego wykorzystać jakikolwiek inny działający system GNU/Linux znajdujący się na oddzielnejpartycji, dysku lub płycie CD.
Gentoo posiada kilka rodzajów płyt instalacyjnych (od 40 do ponad 700 MB). W przypadku płyty minimal wymagany jest dostęp do internetu, aby system Portage mógł pobrać wymagane pliki z sieci. Płyta uniwersalna dla popularnych programów nie wymaga dostępu do sieci, gdyż na krążku znajdują się potrzebne do instalacji pliki.
Od wersji 2006.0 można pobrać płytę z graficznym instalatorem (testowa wersja instalatora była dostępna na specjalnych obrazach płyt już w wersji 2005.1). Aktualnym środowiskiem graficznym używanym na LiveCD jestXfce.
Na płytach Gentoo oraz na stronie domowej są dokładne instrukcje i poradniki jak zainstalować system.
System Gentoo można zainstalować, startując z jednego z wybranych punktów początkowych (nazywanychStage):
- Stage 1, Instalacja pełna, system musi być zbudowany przezbootstrap, a podstawowe pakiety samodzielnie skompilowane,
- Stage 2,Bootstrap jest już wykonany, ale podstawowe pakiety muszą być skompilowane samodzielnie,
- Stage 3,Bootstrap jest już wykonany, podstawowe pakiety także są skompilowane.
Stage1 daje największe możliwości optymalizacji świeżo zainstalowanego systemu, ale instalacja z jego użyciem jest najdłuższa, ponieważ należy najpierw wykonaćbootstrap, w trakcie którego kompilowany jestkompilator i główne biblioteki systemu (takie jakglibc,binutils). Instalacja rozpoczęta od Stage3 będzie najkrótsza jednak użytkownik otrzymuje system w mniejszym stopniu zoptymalizowany i dostosowany do indywidualnych potrzeb. Stage2 jest kompromisem pomiędzy dwoma pozostałymi.
Ponieważ Stage3 nie zamyka drogi do pełnej optymalizacji (każdy składnik można ponownie skompilować z własnymi ustawieniami już z wnętrza w pełni działającego systemu), od wydania 2008.0 instalacja za pomocą stage 1 i 2 nie jest oficjalnie wspierana[3], choć z serwerów lustrzanych można wciąż pobrać odpowiednie pliki[4].
Równieżjądro systemu powinno być samodzielnie ustawione i skompilowane. Instalacja z użyciem LiveCd pozwala co prawda na użycie skompilowanego już jądra, ale nie zaleca się tego. Jest to prawdopodobnie najtrudniejszy etap instalacji. W Gentoo nie istnieją prekompilowane wersje jądra Linuksa, są jednak ebuildy dla kilku wersji źródłowych zawierających różne zestawy łat, jak również tych oficjalnych. Dystrybucja oferuje również programgenkernel umożliwiający proste stworzenie modularnego jądra oraz obrazuinitrd, który wykryje i załaduje potrzebne moduły podczas startu systemu.
Cała konfiguracja systemu musi być wykonana samodzielnie. Należy odpowiednio ustawić plikfstab, uruchamiane usługi, używane moduły jądra (chyba że do kompilacji jądra użyto genkernela) itp.Pliki konfiguracyjne usług Gentoo znajdują się w katalogu /etc/conf.d/. Gentoo udostępnia narzędziarc-status,rc-update,eselect oraz inne (np.java-config) do ułatwionego zarządzania zainstalowanymi usługami i programami. Jednym z najważniejszych plików konfiguracyjnych jest make.conf znajdujący się w katalogu /etc/portage. W nim ustala się parametry dla kompilatora, flagi USE i inne ustawienia Portage.
Ostatnim krokiem przed uruchomieniem Gentoo jest zainstalowanie jednego zprogramów rozruchowych (ang. bootloader). Umożliwi on uruchomienie systemu bez pomocy jakiegokolwiek zewnętrznego medium. Najpopularniejszymi bootloaderami sąGRUB orazLILO.
| Główne | |
|---|
| Minidystrybucje | |
|---|
| Inne | |
|---|
| Mobilne | |
|---|
| Wbudowane | |
|---|
| polskie | |
|---|
