Dlaczego Gentoo?
No właśnie. Dlaczego Gentoo ? Dlaczego nie popularny i stabilny Debian, modny Ubuntu, Slackware, PLD czy jakakolwiek inna dystrybucja Linuksa?
Przed Gentoo używałem Mandrake'a (wcześniej Red Hat, po trochu Debian i PLD). Wszystko było pięknie do czasu, gdy trzeba było zainstalować jakiś pakiet (np. z cookera) albo zrobić upgrade systemu. Szczególnie irytujące w Mandrake'u były update'y. Zwykle paczki, które wymagały poprawek, a przygotowywane dla konkretnej wersji dystrybucji, dawało się zainstalować bez większych problemów - urpmi pakiet i po sprawie. Gorzej gdy chciało się wykonać update dystrybucji (np. z wersji 7.0 do 7.1). Wtedy wszystko się doskonale rozjeżdżało, nowe biblioteki wymieszane ze starymi, a konfiguracja (w /etc) w niektórych przypadkach zostawała nadpisana difoltowymi z dystrybucji. Koszmar.
W związku z tym, żeby uniknąć bałaganu, „upgrade” w przypadku Mandrake'a przeprowadzałem tak:
- backup home, danych i konfiguracji
- format dysku
- instalacja systemu od zera, w tym mozolne wybieranie pakietów
- usuwanie pomagaczy typowych dla Mandrake Linux
- porównanie na piechotę plików konfiguracyjnych z tymi z backupu i ich update na świeżym systemie
- kompilacja kernela
- kompilacja programów, których w dystrybucji nie ma, bądź ich wersja mi nie odpowiadała
Słowem, żmudna praca. I co najgorsze w tym wszystkim, dostosowywanie Mandrake'a do tego, żeby robił to, co ja chcę, a nie na odwrót, zabierało mnóstwo czasu. Kolejna rzecz to oprogramowanie. Często zdarzało się, że potrzebowałem oprogramowanie, które nie było dostępne ani w oficjalnych paczkach rpm, ani w cookerze, ani nawet w nieoficjalnych repozytoriach (takich, jak np. P.L.F.) i nie pozostawało nic innego, jak zrobienie paczki samemu, albo kompilacja ze źródeł. A że jestem leń, zwykle ściągałem źródła, wykonywałem configure, make i make install, co skutkowało dwoma odrębnymi światkami: jeden w /usr drugi w /usr/local.
Co takiego jest w Gentoo, że postanowiłem się mu przyjrzeć? Po pierwsze prostota. Po drugie system portage. Po trzecie dokumentacja. Dostaje się do ręki Linuksa, który działa tak, jak sobie tego życzy użytkownik.
Upgrade systemu odbywa się w bardzo prosty sposób:
# emerge -u system|world
- update systemu, lub świata# etc-update
- narzędzie pozwalające na porównania i manipulacje na plikach konfiguracyjnych- i ewentualnie
# revdep-rebuild
I to wszystko. Żadnego formatowania dysku, żadnych nadpisanych plików konfiguracyjnych. W ten sposób utrzymywany system funkcjonuje na moim komputerze od 10.07.2004 roku.
Czasem się zdarza, że chcę mieć konkretną wersję programu, a w paczkach go nie
ma. Na przykład, mam Gqview, którego wersję można mieć 2.0.1, albo 2.1.1,
więc dodaję ebuilda w odpowiednie miejsce, wykonuję emerge
media-gfx/gqview/gqview-1.2.2.ebuild
i już. Naturalnie, nie jest to najlepsze
rozwiązanie, lepiej wykorzystać do tego tzw. portage overlay i tam umieścić
swoje ebuildy. W ten sposób uniknie się usunięcia tych ebuildów przy następnej
synchronizacji drzewa portage.
Prostota, porządek i przejrzystość to moim zdaniem główne zalety Gentoo. Jedyna jego wada to długi czas kompilacji kobył typu QT, ale coś za coś :-).