|
1.
Praca w chroot
Opcjonalnie: Wybieranie serwerów lustrzanych
Aby móc szybko ściągać źródła programów, należy wybrać szybki serwer lustrzany.
Portage używa serwerów zawartych w zmiennej GENTOO_MIRRORS, która znajduje się
w pliku make.conf. Aby wybrać najlepsze serwery, należy wejść na
stronę listy serwerów lustrzanych Gentoo
i wybrać z nich te, które znajdują się najbliżej lub użyć narzędzia
mirrorselect, które potrafi w prosty sposób automatycznie wybrać
najlepsze serwery lustrzane.
Listing 1.1: Sposób użycia programu mirrorselect |
# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
|
Następną ważną sprawą jest ustawienie zmiennej SYNC w pliku
make.conf. Zmienna ta wskazuje na serwer rsync, z którego będzie
uaktualniane drzewo Portage (kolekcja ebuildów, czyli skryptów które zawierają
wszystkie informacje potrzebne do ściągnięcia i zainstalowania programów).
Można ręcznie wpisać serwer, którego chcemy używać lub skorzystać z programu
mirrorselect:
Listing 1.1: Wybór serwera rsync za pomocą programu mirrorselect |
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
|
Po konfiguracji plików za pomocą programu mirrorselect należy sprawdzić
czy wszystko zostało prawidłowo dopisane do pliku
/mnt/gentoo/etc/make.conf.
Uwaga:
W przypadku gdy zechcemy ustawić ręcznie serwer SYNC w pliku
make.conf należy sprawdzić listę serwerów lustrzanych i wybrać
położony ten najbliżej nas. Zalecanym ustawieniem jest wybranie serwera
rotacyjnego takiego jak rsync.us.gentoo.org zamiast pojedyńczej
lokalizacji. Pomoże to w zbalansowaniu obciążenia i zapewni nam
bezpieczeństwo w przypadku awarii konkretnego serwera lustrzanego.
|
Kopiowanie informacji o DNS
Zanim zmienimy środowisko pracy, musimy wykonać pewną bardzo ważną czynność.
Jest nią przekopiowanie ustawień DNS z pliku /etc/resolv.conf do
nowego środowiska. Jest to konieczne, by sieć działała także tam. Plik
/etc/resolv.conf określa jakie serwery nazw będą używane dla
sieci.
Listing 1.1: Kopiowanie informacji o DNS |
# cp -L /etc/resolv.conf /mnt/gentoo/etc/
|
Montowanie systemów plików /proc i /dev
Następnie przemontowujemy system plików /proc do
/mnt/gentoo/proc, aby umożliwić systemowi korzystanie z informacji
dostarczanych przez jądro także w środowisku chrootowanym oraz ponownie
montujemy system plików /dev.
Listing 1.1: Montowanie /proc i /dev |
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
|
Zmiana środowiska
Teraz, gdy wszystkie partycje są już założone, a podstawowe środowisko
zainstalowane, nadszedł czas wejścia do niego poprzez chroot. Oznacza to
przejście z systemu instalacyjnego (płyty instalacyjnej lub innego medium) do
systemu instalowanego (czyli na założone partycje).
Przechodzenie odbywa sie w trzech etapach. Najpierw zamieniamy katalog
z / (w systemie instalacyjnym) na /mnt/gentoo (na
założonych partycjach) poleceniem chroot. Następnie tworzymy nowe
środowisko przy pomocy polecenia env-update, które wyeksportuje nowe
zmienne środowiskowe. Ostatecznie wczytujemy te zmienne do pamięci poleceniem
source.
Listing 1.1: Zmiana środowiska poprzez chroot |
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"
|
Gratulacje! Znajdujemy się wewnątrz nowego systemu Gentoo Linux. Oczywiście do
końca jeszcze daleko, przecież zostało jeszcze kilka rozdziałów Podręcznika do
przeczytania. :-)
1.
Konfiguracja Portage
Aktualizacja drzewa Portage
Aktualizujemy drzewo Portage za pomocą polecenia emerge --sync.
Listing 1.1: Aktualizowanie drzewa Portage |
# emerge --sync
# emerge --sync --quiet
|
Portage używa protokołu RSYNC do uaktualniania drzewa pakietów. Jeżeli powyższe
polecenie zakończy się niepowodzeniem (np. z winy firewalla) używamy polecenia
emerge-webrsync, które ściąga i instaluje drzewo Portage przy za pomocą
protokołu HTTP.
Jeśli otrzymamy ostrzeżenie, że dostępna jest nowa wersja programu Portage i
należy dokonać jego aktualizacji, należy to natychmiast zrobić. Dokonuje się
tego poleceniem emerge --oneshot portage.
Wybór odpowiedniego profilu
Najpierw mała definicja.
Profil jest szablonem budowy systemu Gentoo. Nie tylko określa domyślne
wartości dla USE, CFLAGS i innych ważnych zmiennych, ale również ogranicza
wersje pakietów jakie mogą zostać zainstalowane w systemie. Wszystkie te
informacje są konfigurowane przez deweloperów Gentoo.
Poprzednio profil taki był niemodyfikowalny przez użytkownika. Jednak może się
nadarzyć taka okoliczność, w której zmiana profilu będzie potrzebna.
Aktualnie używany profil można sprawdzić za pomocą poniższego polecenia:
Listing 1.1: Sprawdzanie profilu systemowego |
# eselect profile list
Available profile symlink targets:
[1] ${profile} *
[2] ${profile}/desktop
[3] ${profile}/server
|
Domyślny profil jest profilem bazującym na systemie z jądrem serii 2.6. Jest to
zalecane ustawienie chociaż mamy możliwość wyboru innego profilu.
Istnieją również podprofile desktop oraz server dla niektórych
architektur. Wydanie komendy eselect profile list pokaże nam nazwy
wszystkich dostępnych profili.
Po obejrzeniu wszystkich profili, które dostępnę są na naszej architekturze,
możemy wybrać tę najbardziej nas interesującą:
Listing 1.1: Zmiana profilu |
# eselect profile set 2
|
Uwaga:
Podprofil o nazwie developer przeznaczony jest do zadań mających na celu
rozwój systemu Gentoo Linux. Nie jest on przeznaczony do konfiguracji
ogólnego środowiska dla rozwoju jakiejkolwiek aplikacji.
|
Konfiguracja zmiennych USE
USE to jedna z najważniejszych zmiennych w Gentoo. Niektóre programy
mogą być kompilowane z dodatkową obsługi niektórych funkcji lub bez niej. Na
przykład możliwe jest budowanie różnych programów ze wsparciem dla bibliotek
gtk lub qt. Inne pakiety możemy z kolei wyposażyć w obsługę SSL bądź też jej
pozbawić. Jeszcze inne mogą być kompilowane ze wsparciem bufora ramki (svgalib)
zamiast X11 (serwera X).
Większość dystrybucji kompiluje swoje pakiety ze wsparciem dla tak wielu
elementów, jak to tylko możliwe, powiększając rozmiar programów i czas ich
uruchamiania, nie wspominając o olbrzymiej liczbie zależności. W Gentoo możemy
zdecydować, z którymi opcjami dany pakiet powinien być budowany. I to właśnie
jest moment, kiedy USE wkracza do gry.
W zmiennych USE definiujemy słowa kluczowe zamieniane następnie na opcje
kompilowania. Na przykład dodanie do zmiennej ssl włączy obsługę SSL w
programach, które go wykorzystują. -X usunie wsparcie dla serwera X
(należy zwrócić uwagę na znak minusa z przodu). Ustawienie gnome gtk -kde
-qt4 zaowocuje wsparciem dla GNOME (oraz gtk), ale nie dla KDE
(i związanym z nim ściśle qt), znakomicie przygotowując grunt pod GNOME.
Domyślny zestaw flag USE znajduje się w pliku make.defaults
wybranego profilu. Wszystkie pliki make.defaults znajdują się w
katalogu wskazywanym przez dowiązanie /etc/make.profile oraz w
katalogach nadrzędnych. Aktualna konfiguracja USE jest zawsze sumą
wszystkich flag ustawionych w plikach make.defaults. Wszystko co
umieścimy w pliku /etc/make.conf zostanie dodane do tej zmiennej.
Jeśli chcemy coś z niej usunąć wpisujemy wybraną flagę ze znakiem minus na
początku. Nie wolno zmieniać plików wewnątrz katalogu
/etc/make.profile, zmiany zostaną nadpisane przy następnej
aktualizacji drzewa Portage.
Pełny opis USE znajduje się w drugiej części Podręcznika Gentoo, w
rozdziale (Flagi USE). Kompletną
charakterystykę dostępnych flag USE znajdziemy w pliku
/usr/portage/profiles/use.desc.
Listing 1.1: Przegląd dostępnych flag USE |
# less /usr/portage/profiles/use.desc
|
Jako przykład przedstawimy flagi USE dla systemu bazującego na KDE ze
wsparciem dla DVD, ALSA i nagrywania CD:
Listing 1.1: Edytowanie /etc/make.conf |
# nano -w /etc/make.conf
|
Listing 1.1: Ustawienia USE |
USE="-gtk -gnome qt4 kde dvd alsa cdr"
|
Opcjonalnie: Lokalizacje GLIBC
Zwykle w systemie używa się tylko jednej, góra dwóch lokalizacji. Można je
wybrać w pliku /etc/locale.gen.
Listing 1.1: Otwieranie pliku /etc/locale.gen |
# nano -w /etc/locale.gen
|
Poniższy przykład to lokalizacje polskie oraz angielskie (Ameryka) z obsługą
kodowania znaków (jak UTF-8).
Listing 1.1: Ustawianie lokalizacji |
en_US ISO-8859-1
en_US.UTF-8 UTF-8
pl_PL ISO-8859-2
pl_PL.UTF-8 UTF-8
|
Następnie należy uruchomić polecenie locale-gen, które utworzy wszystkie
lokalizacje wybrane w pliku /etc/locale.gen.
Kolejny etap instalacji to (Konfigurowanie
jądra).
|