
Chciałbym w tym krótkim artykule przedstawić Wam dystrybucję Linuksa jaką jest Gentoo. Mam nadzieje, że dowiecie się czegoś ciekawego i przekonacie się jak elastyczny i wspaniały potrafi być ten system.
1. Z czym to się je?
Dosyć często pada pytanie o wyjątkowość Gentoo, co takiego wyróżnia go spośród innych dystrybucji i dlaczego żadna nie może mu dorównać :) Pierwszą i jedną z ważniejszych rzeczy jest jego otwartość i wolność wyboru jaki nam daje. To Ty decydujesz co chcesz mieć w systemie, jakie oprogramowanie powinno być wspierane czy nawet to jakiego loggera chcesz używać. Oczywiście w innych dystrybucjach też możesz ściągnąć źródła programu, skompilować je z odpowiednim wsparciem itp. Jednak w Gentoo jest to o wiele przyjemniejsze i przede wszystkim szybsze dzięki takim narzędziom jak np. emerge.
2. Instalacja
Zanim zaczniesz poznawać tajniki Gentoo, musisz go oczywiście zainstalować. Wiele osób twierdzi, że instalacja tej dystrybucji Linuksa jest strasznie trudna i niemożliwa do wykonania dla początkującego użytkownika - nic bardziej mylnego! Deweloperzy postarali się pisząc bardzo przystępny i łatwy do zrozumienia Podręcznik Użytkownika dzięki któremu instalacja tak naprawdę sprowadza się do wykonywania paru prostych poleceń. No dobrze, może nie do końca ;) Jeżeli będziesz wykonywał uważnie polecenia i czytał dokumentacje to powinieneś sobie poradzić (Gentoo to nie dystrybucja dla ignorantów!).
Pierwszą rzeczą jaką powinieneś zrobić to zdobycie płyty instalacyjnej, można takową kupić wraz z czasopismem typu Linux+ lub po prostu ściągnąć obraz z internetu i wypalić. Do wyboru masz dwa rodzaje - Minimal Installation CD i Universal Installation CD. Pierwsza z nich to absolutne minimum i podczas instalacji wymaga pobrania dużej ilości danych z internetu (nie posiada np. żadnego stage ani drzewa portage). Wybierasz zatem Universal CD. Na stronach gentoo.org można znaleźć oficjalną listę mirrorów, jednym z nich jest Politechnika Rzeszowska. Jeżeli w miejscu gdzie instalujesz system nie posiadasz dostępu do internetu warto też ściągnąć Package CD gdzie znajdują się paczki najczęściej wykorzystywanych aplikacji.
Nie będę się tutaj rozpisywał na temat samej instalacji, ponieważ została ona jasno opisana w Podręczniku Użytkownika, który znajduje się na płycie instalacyjnej.
Napotkałeś problem podczas instalacji i nie wiesz jak go rozwiązać? W każdej chwili możesz przerzucić się na drugą konsolę, odpalić program irssi i wejść na kanał #gentoo.pl w sieci IRCnet lub #gentoo-pl na Freenode, na 90% ktoś Ci pomoże.
3. Portage
Portage jest to system zarządzania pakietami w systemie, często porównywany do mechanizmu portów w systemach *BSD.
Mówiąc o portage mamy tak naprawdę na myśli drzewo ebuildów podzielonych na kategorie znajdujące się w /usr/portage. Wprowadziłem tutaj kolejne pojęcie - ebuild, jest to nic innego jak skrypt w bashu (powłoce Linuksa), który odpowiedzialny jest (wraz w programem emerge) za ściągnięcie, skompilowanie i zainstalowanie programu.
Oczywiście możesz łatwo przeszukiwać bazę pakietów, służy do tego polecenie emerge -s lub wyspecjalizowane programy jak eix czy esearch.
4. Emerge
Do zarządzania naszego drzewa portage potrzebujemy programu - jest nim emerge. Dzięki niemu w banalnie prosty sposób możemy ściągnąć, skompilować i w końcu zainstalować program. Co więcej, mamy wpływ na to jak zostanie zbudowany pakiet. Dla przykładu:
> emerge -pv openoffice
These are the packages that I would merge, in order:
Calculating dependencies …done!
[ebuild N ] app-office/openoffice-2.0.0 +curl -eds -gnome -gtk +java +kde -ldap -mozilla -nas +xml2 +zlib 0 kB
Total size of downloads: 210,553 kB
Jak widać obok kategorii, nazwy i wersji programu widnieją różne wpisy typu +curl czy -eds - są to tak zwane flagi USE o których za chwilę. Wystarczy usunąć opcje -pv, aby emerge ściągnęło i zainstalowało nam ten pakiet. Prawda, że trywialne?
Portage i emerge posiadają ogromne możliwości, po więcej informacji zapraszam do Podręcznika Użytkownika oraz manuali.
5. Flagi USE
W ebuildach zdefiniowane są flagi USE jakie może posiadać dany program, są one tak naprawdę opcjami z jakimi konfigurowane są aplikacje. Dla przykładu: ustawienie flagi -arts spowoduje iż emerge doda do ./configure opcje ––without-arts (dzięki czemu program zostanie skonfigurowany bez wsparcia dla serwera dzwięku arts) Jasne? Myślę, że tak.
6. make.conf
Jednym z ważniejszych plików w Gentoo jest /etc/make.conf. Są tam zawarte między innymi definicje CFLAGS i CXXFLAGS czyli opcje z jakimi kompilator będzie budował Twoje pakiety. Flagi te mogą wyglądać np. tak:
CFLAGS="-Os -march=athlon-xp -fomit-frame-pointer -pipe -s"
CXXFLAGS="${CFLAGS}"
Podstawowe ustawienia to stopień optymalizacji (u mnie jest to -Os) i -march (zależnie od Twojej architektury). Więcej w man gcc - lektura na długie, zimowe wieczory.
W make.conf możemy również definiować flagi USE (globalnie) czy ustawić lokalizacje (język) kompilowanych programów.
8. Skrypty startowe
W Gentoo bardzo rozsądnie i logicznie zostały potraktowane skrypty startowe. Dzielą się one na 7 kategorii z czego 2 są dla nas podstawowe: boot i default. Uruchamianie deamonów jest banalne, wystarczy wydać polecenie
/etc/init.d/apache2 start
Równie łatwo usługę zatrzymać czy zrestartować. Program rc-update pozwala dodawać programy do wybranego poziomu, nic skomplikowanego.
9. Podsumowanie
Gentoo dzięki takim narzędziom jak emerge/portage jest bardzo łatwe w użyciu, a porządek jaki masz w systemie pozwoli Ci się cieszyć nim przez długie lata bez potrzeby przeinstalowywania.
Mam nadzieje, że informacje jakie Ci przekazałem pozwoliły na zrozumienie tej dystrybucji Linuksa. Jeżeli chociaż jedna osoba przez ten artykuł zainteresuje się Gentoo to będę uważał to za osobisty sukces ;)
Linki:
- Gentoo.org
- Listing dokumentacji
- Podręcznik Użytkownika
- Skrócony opis instalacji
- Polskie Forum Gentoo
- Polska strona Gentoo
- Mapa użytkowników Gentoo w Polsce
PS
Poprawki i sugestie (konstruktywna krytyka) mile widziane.
Hmmm, już przeczytałem :) Musze jednak przyznać, że nie wiele zrozumiełam, trudno mi też ocenić wartość merytoryczną. Dowiedziałem się jednak, że nie jest do dystrybucja dla mnie - po pierwsze - lubię, jak wszystko robi się za mnie - gdy słyszę słowo ‘kompilować’, to mnie szlag jaśnisty trafia. A po drugie - “Gentoo to nie dystrybucja dla ignorantów!” - stary, wybacz - ja się pod to nie wliczam :>
Dlatego cały czas używasz Windowsa ;)
Widać rasheed bardzo dobrze się spisał w czynie dla społeczności Gentoo i całej dystrybucji zachęcająć nowych :)
Ciekawe co na to powiedzą debianowcy ;>
MatiSz: Ja tez lubie jak wszytsko sie robi za mnie dlatego wole pracowac w domu i dac:
# emere -uD world
ktore “za mnie” pobierze, skompiluje i zainstaluje _wszystkie_ uzywane przezemnie programy w najnowszych istniejacych wersjach, niz w pracy pod windowsami gdzie musze sam szukac, odinstalowywac i instalowac nowe wersje.
W dodatku … to w windows jest kompletnie bez sensu ;-) Jak chce cos osinstalowac to zanim odinstaluje musze przestac uzywac … normalnie jak w sredniowieczu :D
Rash się rozpisałeś :). Dla mnie najwygodniej używać na jednym komputerku Windows’a i Linux’a - na tę chwilę Mandrake 10.1. Korzystając z okazji polecam tekst z bash’a :D http://bash.org.pl/21554
Świetny tekst. W sam raz dla początkujących - zamiast im tłumaczyć po prostu daję im linka :)
Notabene, już dwa lata używam Gentoo i bardzo go sobie chwalę :)
Witam
dobry tekscik ;] sam jestem uzytkownikiem Gentoo i jestem zadowolony ;]
a takie pytanie - co sadzisz o SourceMage ? ja ostanio sie natknolem po raz ktorys na te distro i zaciekawilo mnie …
Nigdy nie słyszałem o SourceMage.
Ja w sumie nie przypalam się tak bardzo na kompilacje, jak na możliwości emerge i portage. Dzięki niemu działam na Gentoo już od prawie 3 lat i nadal wszystko gra, jest porządek jak zawsze.
Sam też podjąłem się próbie przybliżenia Gentoo innym użytkownikom :)