Gentoo Logo

1.  Instalowanie tarballa stage

Ustawienie poprawnej daty i czasu

Na samym początku całego procesu instalacji należy sprawdzić datę/czas i ewentualnie je zaktualizować. Niezsychronizowany zegar może być przyczyną dziwnych błędów w przyszłości!

Aby zweryfikować aktualną datę/czas, uruchamiamy date:

Listing 1.1: Sprawdzenie daty/czasu

# date
nie sie 21 01:56:26 UTC 2005

Jeżeli wyświetlane data i czas są złe, musimy je uaktualnić poleceniem date MMDDggmmRRRR (Miesiąc, Dzień, godzina, minuta, i Rok). Na tym etapie powinniśmy korzystać z czasu UTC. W późniejszym czasie będziemy mogli zdefiniować naszą strefę czasową. Na przykład, aby ustawić datę 29 marca 2005 roku, 16:21:

Listing 1.1: Ustawienie daty/czasu UTC

# date 032916212005

Podejmowanie decyzji

W następnym kroku należy wykonać instalację wybranego tarballa stage3. Można go pobrać z Internetu lub, jeśli działamy z którejś płyty Gentoo Universal CD, przekopiować z CD. Polecenie uname -m pozwala na zdecydowanie jaki plik stage jest potrzebny.

Płyty Minimal CD i LiveCD nie zawierają żadnych plików stage3.

1.  Domyślnie: Użycie stage z Internetu

Pobieranie tarballa stage

Na początku przechodzimy do punktu montowania systemu plików Gentoo (zwykle jest to /mnt/gentoo):

Listing 1.1: Przechodzenie do punktu montowania systemu plików Gentoo

# cd /mnt/gentoo

W zależności od medium instalacyjnego mamy do dyspozycji kilka narzędzi, za pomocą których możemy pobrać plik stage. Jeżeli mamy program links możemy wejść bezpośrednio na listę serwerów lustrzanych Gentoo i wybrać serwer, który znajduje się najbliżej.

Jeżeli nie mamy programu links, musimy skorzystać z przeglądarki lynx do tego celu. Aby używać serwera proxy musimy również wyeksportować zmienne http_proxy i ftp_proxy:

Listing 1.1: Ustawienie informacji o proxy dla lynxa

# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"

W dalszej części zakładamy, że do swojej dyspozycji mamy przeglądarkę links.

Przechodzimy do katalogu ${release-dir}. Powinniśmy tam zobaczyć wszystkie dostępne pliki stage, dla naszej architektury (mogą one znajdować się w podkatalogach). Wybieramy jeden i wciskamy klawisz D, aby ściągnąć plik. Kiedy ściągniemy plik, wciskamy Q, aby wyjść z przeglądarki.

Listing 1.1: Przeglądanie listy serwerów lustrzanych za pomocą links

# links http://www.gentoo.org/main/en/mirrors.xml

(Jeżeli potrzebne jest proxy w links)
# links -http-proxy serwer.proxy.com:8080 http://www.gentoo.org/main/en/mirrors.xml

Wybranie pliku stage3 jest konieczne, nie wspieramy już instalacji za pomocą stage 1 i 2.

Jeśli chcemy zweryfikować poprawność pobranych archiwów stage, musimy porównać wynik polecenia md5sum z sumami MD5 udostępnianymi na serwerze.

Listing 1.1: Sprawdzanie integralności archiwum stage

# md5sum -c ${stage3}.DIGESTS
${stage3}: OK

Rozpakowywanie tarballa Stage

Wypakowujemy pobrany plik stage przy pomocy programu tar:

Listing 1.1: Wypakowanie stage

# tar xvjpf stage3-*.tar.bz2

Należy użyć dokładnie tych samych przełączników (xvjpf). Opcja x oznacza wypakuj, v to wyświetl, aby widzieć co się dzieje podczas wypakowywania (ok, to jest opcjonalne), j służy do dekompresji archiwum bzip2, p to zachowuj uprawnienia, natomiast f podkreśla, że chcemy rozpakować to, co czytamy z pliku, a nie ze standardowego wejścia.

Gdy stage jest już zainstalowany, pora przejść do Instalacji Portage.

1.  Instalacja Portage

Wypakowanie snapshota Portage

W tym rozdziale omówimy proces instalacji snapshota Portage, kolekcji plików, które informują Portage jakie programy można zainstalować, które profile są dostępne itp.

Ściąganie i instalowanie snapshota Portage

Przechodzimy do miejsca gdzie zamontowaliśmy system plików (zwykle /mnt/gentoo):

Listing 1.1: Przechodzenie do punktu montowania Gentoo

# cd /mnt/gentoo

Uruchamiamy links (lub lynx) i przechodzimy do listy mirrorów Gentoo. Wybieramy jeden z serwerów, najlepiej jak najbliższy naszej lokalizacji i przechodzimy do katalogu snapshots/. Ściągamy najnowszy snapshot Portage (portage-latest.tar.bz2) poprzez jego wybranie i naciśnięcie klawisza D.

Listing 1.1: Przeglądanie listy mirrorów Gentoo

# links http://www.gentoo.org/main/en/mirrors.xml

Teraz wychodzimy z przeglądarki naciskając klawisz Q. Plik znajduje się w katalogu /mnt/gentoo.

Jeśli chcemy sprawdzić poprawność ściągniętego pliku, należy użyć md5sum i porównać sumę kontrolną pliku z podaną na serwerze lustrzanym.

Listing 1.1: Sprawdzanie poprawności pliku

# md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK

W następnym kroku wypakujemy snapshot Portage. Należy użyć dokładnie tych samych poleceń; ostatnia opcja to duża litera C, nie małe c.

Listing 1.1: Wypakowywanie snapshota Portage

# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

1.  Konfigurowanie opcji kompilacji

Wprowadzenie

Jest wiele możliwych do skonfigurowania zmiennych wpływających na zachowanie Gentoo. Możemy je wprowadzać jako zmienne środowiskowe (poprzez export), ale wtedy nie zostaną zapisane na stałe. Zamiast tego Portage do zachowywania konfiguracji używa pliku konfiguracyjnego /etc/make.conf. Pora wziąć się za jego edycję.

Uwaga: Opatrzona komentarzami lista wszystkich możliwych zmiennych znajduje się w pliku /mnt/gentoo/usr/share/portage/config/make.conf.example. Do szczęśliwego ukończenia instalacji wystarczy wyedytowanie tylko kilku z nich, tych, których listę przedstawiamy poniżej.

Uruchamiamy ulubiony edytor (w przykładach używamy nano), którym wprowadzimy omawiane nieco dalej opcje optymalizacji.

Listing 1.1: Edytowanie /etc/make.conf

# nano -w /mnt/gentoo/etc/make.conf

Plik make.conf.example ma charakterystyczną strukturę: linie z komentarzem rozpoczynają się od znaku "#", linie zawierające zmienne używają składni ZMIENNA="zawartość". Takiej samej składni używa także plik /etc/make.conf. Kilka z tych zmiennych zostało przedyskutowanych poniżej.

CFLAGS i CXXFLAGS

Zmienne CFLAGS i CXXFLAGS definiują flagi optymalizujące używane odpowiednio przez kompilator gcc C i C++. Choć generalnie określamy ich wartości tutaj, maksimum wydajności osiągniemy dopasowując je do każdego programu z osobna. Jest tak dlatego, że programy znacząco różnią się między sobą.

W make.conf należy zdefiniować flagi optymalizacji co do których jesteśmy przekonani, że w głównej mierze poprawią czas reakcji systemu. Nie przypisujemy pod tę zmienną ustawień eksperymentalnych; przesada w optymalizacji może spowodować, że programy zaczną źle funkcjonować (nagle przerywać działanie lub nawet gorzej, wcale nie działać).

Nie będziemy tłumaczyć znaczenia wszystkich możliwych opcji optymalizacji. Wszystkie są wymienione w Podręczniku Online GNU lub stronę info gcc (info gcc -- działa tylko na systemach linuksowych). Plik make.conf.example sam zawiera dużo informacji i przykładów - należy go uważnie przeczytać.

Pierwszym ustawieniem jakim się tu zajmiemy jest flaga -march= lub -mtune=, która określa docelową architekturę. Możliwe jej wartości są opisane jako komentarze w make.conf.example.

Drugim jest flaga -O (to jest duże O, nie zero), która określa klasę optymalizacji gcc. Dostępne klasy to s (optymalizacja rozmiaru), 0 (brak optymalizacji), 1, 2 lub 3 - coraz silniej optymalizujące (każda z nich używa tych samych flag, co poprzednia oraz dodaje własne). Zalecanym ustawieniem jest -O2. Ustawienie flagi -O3 globalnie, dla całego systemu może powodować problemy dlatego zalecanym jest ustawieni flagi -O2.

Inne popularne flagi optymalizujące to -pipe (gcc używa potoków zamiast plików tymczasowych w komunikacji między różnymi etapami kompilacji). Flaga ta nie ma wpływu na generowany kod, jednak powoduje zwiększenie zużycia pamięci. Na komputerach z małą ilość pamięci może spowodować to zabicie procesu gcc. W takim przypadku należy zrezygnować z tej flagi.

Dodatkowo możemy użyć flagi -fomit-frame-pointer (w rejestrach nie będą przechowywane wskaźniki ramki dla funkcji, które ich nie wymagają). Używanie flagi -fomit-frame-pointer może powodować poważne problemy podczas debugowania kodu!

Podczas definiowania CFLAGS i CXXFLAGS można łączyć kilka flag optymalizacji. Domyślne wartości znajdujące się w pliku stage3 powinny być wystarczające. Poniższe wartości są jedynie przykładem:

Listing 1.1: Definiowanie zmiennych CFLAGS i CXXFLAGS

CFLAGS="${CFLAGS}"
# Użycie tych samych ustawień dla obu zmiennych
CXXFLAGS="${CFLAGS}"

Uwaga: Więcej informacji na temat różnych opcji kompilatora można znaleźć w Podręczniku Optymalizacji.

MAKEOPTS

Za pomocą MAKEOPTS definiujemy jak wiele równoległych kompilacji będzie przeprowadzanych podczas przygotowywania pakietu do instalacji. Sugerowaną liczbą jest ilość procesorów w systemie powiększona o jeden, nie jest to jednak zawsze najlepsze wyjście.

Listing 1.1: MAKEOPTS dla przeciętnego systemu jednoprocesorowego

MAKEOPTS="-j2"

Gotowi, do biegu, start!

Na koniec poprawiamy jeszcze odrobinę /mnt/gentoo/etc/make.conf i zapisujemy wyniki naszych prac (w nano za pomocą Ctrl-X). Teraz jesteśmy przygotowani na ( Instalację systemu podstawowego ).

Zaktualizowano 23 marca 2010

Oryginalna wersja tego dokumentu została po raz ostatni zaktualizowana 3 sierpnia 2011. Jeśli chcesz pomóc w aktualizacji tego dokumentu do najnowszej wersji, skontaktuj się z Łukaszem Damentko, koordynatorem polskiego projektu tłumaczeń dokumentacji Gentoo.

Podsumowanie: Gentoo instaluje się rozpakowując archiwum o nazwie stage3. W tym rozdziale opisujemy wypakowywanie tego pliku i wstępną konfigurację Portage.

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.