Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
1 z 103
2005-10-23 14:23
Podr
ęcznik Gentoo Linux
Sven Vermeulen
Autor
Roy Marples
Autor
Daniel Robbins
G
łówny Architekt
Chris Houser
Autor
Jerry Alexandratos
Autor
Seemant Kulleen
Gentoo x86 Developer
Tavis Ormandy
Gentoo Alpha Developer
Jason Huebel
Gentoo AMD64 Developer
Guy Martin
Gentoo HPPA developer
Pieter Van den Abeele
Gentoo PPC developer
Joe Kallar
Gentoo SPARC developer
John P. Davis
Redaktor
Pierre-Henri Jondot Redaktor
Eric Stockbridge
Redaktor
Rajiv Manglani
Redaktor
Jungmin Seo
Redaktor
Stoyan Zhekov
Redaktor
Jared Hudson
Redaktor
Colin Morey
Redaktor
Jorge Paulo
Redaktor
Carl Anderson
Redaktor
Jon Portnoy
Redaktor
Zack Gilburd
Redaktor
Jack Morgan
Redaktor
Benny Chuang
Redaktor
Erwin
Redaktor
Joshua Kinard
Redaktor
Tobias Scherbaum
Redaktor
Xavier Neys
Redaktor
Grant Goodyear
Korekta
Gerald J. Normandin Jr.
Korekta
Donnie Berkholz
Korekta
Ken Nowack
Korekta
Lars Weiler
Wspó
łpracownik
Karol Wojtaszek
T
łumacz
Łukasz Damentko
T
łumacz
Zaktualizowano 13 pa
ździernika 2005
Spis tre
ści:
Instalacja Gentoo
Naucz si
ę instalować Gentoo!
O instalacji Gentoo Linux
Wprowadzenie do opisanego w dalszych rozdzia
łach procesu instalacji Gentoo.
1.
Wybór medium instalacyjnego
Wybieramy w jaki sposób chcemy zainstalowa
ć Gentoo. Opisujemy tu różne media, za pomocą
których mo
żna zainstalować Gentoo.
2.
Konfigurowanie sieci
Aby mie
ć możliwość ściągnięcia z Internetu najnowszych źródeł programów należy najpierw
skonfigurowa
ć połączenie sieciowe.
3.
Przygotowywanie dysków
Opis tworzenia partycji, na których zostanie zainstalowane Gentoo.
4.
Wypakowywanie plików instalacyjnych Gentoo
Gentoo instaluje si
ę przez tzw. pliki etapów (stage). W tym rozdziale opisujemy wypakowywanie
tych plików i wst
ępną konfigurację Portage.
5.
Instalowanie systemu podstawowego
Przed przyst
ąpieniem do instalacji z wybranego etapu trzeba nagrać system podstawowy.
6.
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
2 z 103
2005-10-23 14:23
Konfigurowanie j
ądra
J
ądro Linux jest rdzeniem każdej dystrybucji. W tym rozdziale wytłumaczymy, jak je
skonfigurowa
ć.
7.
Konfigurowanie systemu
Dla poprawnej pracy systemu, nale
ży wyedytować kilka ważnych plików konfiguracyjnych.
8.
Instalowanie narz
ędzi systemowych
W tym rozdziale pomo
żemy w wybraniu i instalacji najważniejszych narzędzi potrzebnych do
prawid
łowego funkcjonowania systemu.
9.
Konfiguracja bootloadera
Na platformie x86 dost
ępnych jest kilka programów ładujących (boot loader). W tym rozdziale
przeprowadzamy u
żytkownika przez proces instalacji i konfiguracji niektórych z nich.
10.
Zako
ńczenie instalacji Gentoo
Na koniec musimy jeszcze utworzy
ć jedno lub kilka dodatkowych kont użytkowników.
11.
I co dalej?
Gentoo zosta
ło zainstalowane, ale co dalej?
12.
Praca z Gentoo
Nauka pracy z Gentoo: instalowania programów, modyfikowania zmiennych, zmiany ró
żnych domyślnych
zachowa
ń Portage, itp.
Wprowadzenie do Portage
Wszystko to, co trzeba wiedzie
ć na temat Portage, aby móc przy jego pomocy skutecznie
zarz
ądzać systemem.
1.
Flagi USE
Flagi USE s
ą bardzo ważnym aspektem pracy z Gentoo. W tym rozdziale omawiamy pracę z nimi
oraz t
łumaczymy to jak wpływają one na pracę systemu.
2.
Funkcje Portage
Ten rozdzia
ł pomaga odkryć dodatkowe funkcje Portage.
3.
Skrypty startowe
Gentoo u
żywa specjalnego formatu skryptów startowych, które pozwalają na budowanie zależności
oraz zarz
ądzanie wirtualnymi skryptami startowymi. Rozdział ten pokaże jak je tworzyć i jak nimi
zarz
ądzać.
4.
Zmienne
środowiskowe
Zarz
ądzanie zmiennymi środowiskowymi w Gentoo jest bardzo łatwe. W tym rozdziale opiszemy
najcz
ęsciej używane zmienne oraz wytłumaczymy jak je modyfikować.
5.
Praca z Portage
Rozdzia
ł ten odkrywa wnętrze Portage, omawiamy w nim narzędzia do zarządzania programami w
Gentoo.
Pliki i katalogi
Omawiamy tu struktur
ę i miejsca przechowywania plików konfiguracyjnych używanych przez
Portage.
1.
Konfigurowanie Portage
Proces konfigurowania samego systemu Portage poprzez zmian
ę odpowiednich plików
konfiguracyjnych i zmiennych
środowiskowych.
2.
Mieszanie ró
żnych gałęzi Portage
Oprogramowanie w Gentoo, w zale
żności od stopnia przetestowania i używanej architektury, jest
podzielone na kilka ga
łęzi. W rozdziale tym omawiamy proces konfigurowania i dostosowywania
tych ga
łęzi do określonych potrzeb.
3.
Dodatkowe narz
ędzia Portage
Portage zawiera sporo narz
ędzi, które znacznie ułatwiają codzienną pracę z nim. W tym rozdziale
opisujemy kilka najwa
żniejszych, np. dispatch-conf.
4.
Pozostawiaj
ąc oficjalne drzewo Portage
Rozdzia
ł ten pokazuje kilka sztuczek związanych z codzienną pracą w Gentoo, m.in. tworzenie
w
łasnego drzewa Portage, synchronizowanie tylko wybranych kategorii, czy wstrzykiwanie (inject)
pakietów.
5.
Program Ebuild
Rozdzia
ł "Program Ebuild" opisuje proces instalowania programów przez Portage oraz przedstawia
sposoby r
ęcznej ich instalacji.
6.
Konfiguracja sieci w Gentoo
Szczegó
łowy opis zagadnień sieciowych w Gentoo
Wprowadzenie
1.
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
3 z 103
2005-10-23 14:23
Opis szybkiego i sprawnego skonfigurowania interfejsu sieciowego w wi
ększości środowisk.
Zaawansowana konfiguracja
Przed przej
ściem do modularnej pracy w sieci musimy nauczyć się zasad działania konfiguracji.
2.
Modularna praca w sieci
Gentoo zapewnia wiele ró
żnych rozwiązań sieciowych, w tym rozdziale omawiamy konfigurację
ró
żnych klientów DHCP, bonding, bridging oraz sieci VLAN.
3.
Po
łączenia bezprzewodowe
To nie jest prosta sprawa, na szcze
ście zwykle udaje się jednak połączyć.
4.
Dodawanie mo
żliwości
Osoby czuj
ące się na siłach mogą znacznie rozszerzyć funkcje swojej sieci.
5.
Zarz
ądzanie siecią
Dobry rozdzia
ł dla posiadaczy laptopów, którzy bez przerwy przemieszczają komputer między
sieciami.
6.
A. Instalacja Gentoo
1. O instalacji Gentoo Linux
1.a.
Wprowadzenie
Witaj!
Po pierwsze witamy w Gentoo. Wkraczasz w
świat szerokich możliwości i dużej wydajności. Możliwość wyboru to
podstawowa zaleta naszej dystrybucji. Podczas instalacji mo
żna zdecydować jak dużą część systemu pragnie się
zbudowa
ć samodzielnie, który program logujący ma pracować w systemie itd.
Gentoo to szybka i nowoczesna dystrybucja. Do jej g
łównych zalet należą przejrzystość i elastyczność. Tworzymy
je jako wolne oprogramowanie i staramy si
ę nie ukrywać niczego przed użytkownikiem. Portage, czyli nasz
system zarz
ądzania pakietami napisaliśmy w Pythonie, dzięki czemu można z łatwością przeglądać i
modyfikowa
ć jego kod tak, aby dostosować go do swoich potrzeb. Gentoo jest oparte głównie na pakietach
źródłowych, ale posiada rownież wsparcie dla pakietów prekompilowanych. Cała konfiguracja odbywa się za
pomoc
ą zwyczajnych plików tekstowych. Podsumowując: Gentoo to pełna otwartość.
Niezwykle istotne jest zrozumienie, czemu mo
żliwość wyboru jest aż tak ważna. Nie próbujemy zmuszać
u
żytkowników do robienia czegoś, czego nie chcą. Jeśli uważasz, że w jakimś przypadku powinniśmy,
powiadom
nas
o tym.
Jak przebiega instalacja?
Proces instalacji Gentoo mo
żna podzielić na 10 etapów, opisanych odpowiednio w rozdziałach 2 - 11. Każdy z
nich ko
ńczy się w określonym momencie:
Po uko
ńczeniu etapu pierwszego użytkownik znajduje się wewnątrz w pełni skonfigurowanego i
przygotowanego do pracy
środowiska instalacyjnego.
Po uko
ńczeniu etapu drugiego możemy korzystać z właśnie skonfigurowanego łącza internetowego.
Po uko
ńczeniu etapu trzeciego dyski i partycje w komputerze są gotowe do zainstalowania Gentoo.
Po uko
ńczeniu etapu czwartego środowisko instalacyjne jest w pełni przygotowane i można zalogować się
do systemu.
Po uko
ńczeniu etapu piątego są zainstalowane wszystkie podstawowe pakiety.
Po uko
ńczeniu etapu szóstego jądro Linuksa jest przygotowane do pracy.
Po uko
ńczeniu etapu siódmego mamy naniesione odpowiednie poprawki na większość plików
konfiguracyjnych.
Po uko
ńczeniu etapu ósmego mamy zainstalowane niezbędne narzędzia systemowe.
Po uko
ńczeniu etapu dziewiątego mamy zainstalowany i skonfigurowany bootloader. Możemy też
zalogowa
ć się do świeżo zainstalowanego systemu.
Po uko
ńczeniu etapu dziesiątego proces instalacji został zakończony i można przystąpić do odkrywania
ogromnych mo
żliwości Gentoo.
Za ka
żdym razem gdy użytkownik będzie zmuszony do wybrania jednej z kilku opcji postaramy się jak najlepiej
przedstawi
ć wady i zalety każdego z rozwiązań. Następnie będziemy kontynuować omawianie procesu instalacji
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
4 z 103
2005-10-23 14:23
opisuj
ąc kolejno wybór domyślny, a następnie wszystkie alternatywne możliwości. Domyślne opcje mie są tymi
zalecanymi, po prostu przy pisaniu dokumentacji zak
ładamy, że wybierze je większość użytkowników.
Cz
ęść dokumentacji jest opcjonalna. Zwykle konieczność korzystania z niej wynika z wcześniejszych wyborów
u
żytkownika i jeśli nie dotyczy naszego przypadku spokojnie możemy ją pominąć.
Co mamy do wyboru?
Gentoo mo
żna zainstalować na wiele różnych sposobów. Najczęściej wybierana metoda to ta przy użyciu jednej
z naszych p
łyt instalacyjnych. Istnieje również możliwość przeprowadzenia tego procesu poprzez już
zainstalowan
ą dystrybucję, inną uruchamialną płytę (np. Knoppix), środowisko uruchamiane z sieci (netmount),
czy dyskietk
ę ratunkową.
W Podr
ęczniku omawiamy instalację przy użyciu płyt Gentoo LiveCD oraz, w pewnych przypadkach, rozruchu z
sieci (netboot). Generalnie zak
ładamy, że użytkownik zamierza zainstalować najnowsze dostępne wersje
pakietów. Instalacj
ę bez dostępu do Internetu omawiamy w
Podr
ęcznikach Gentoo 2005.1
.
W przypadku instalacji przy pomocy GRP (Gentoo Reference Platform - kolekcja prekompilowanych pakietów
s
łużących do błyskawicznego instalowania Gentoo) trzeba skorzystać z instrukcji w
Podr
ęcznikach Gentoo
2005.1
.
Przewodnik po alternatywnych metodach instalacji
to dobre
źródło informacji na temat mniej konwencjonalnych
sposobów instalowania Gentoo. Ponadto warto zapozna
ć się z dokumentem zawierającym
przydatne rady
dotycz
ące instalacji Gentoo
. Zaawansowani u
żytkownicy, którzy uważają, że w Podręczniku proces instalacji jest
omówiony zbyt rozwlekle powinni skorzysta
ć z dokumentu opisującego wszystkie czynności w mocno skrótowej
formie (quick install how-to), który znajduje si
ę w naszych
zasobach dokumentacji
.
Mo
żliwości wyboru nie kończą się na medium instalacyjnym. Możliwe jest skompilowanie całego systemu od
podstaw lub wykorzystanie do jego budowy prekompilowanych pakietów, co zaoszcz
ędzi mnóstwo czasu.
Oczywi
ście są także rozwiązania mieszane, dzięki którym nie trzeba kompilować wszystkiego i można zacząć od
cz
ęściowo przygotowanego systemu.
Problemy?
Je
śli w czasie instalacji pojawi się jakiś problem (lub wystąpią błędy w dokumentacji) zachęcamy do odwiedzenia
naszej
bugzilli
i sprawdzenia czy zosta
ł on już zgłoszony. Jeśli jeszcze o nim nie wiemy prosimy o wypełnienie i
wys
łanie odpowiedniego formularza. Nie należy się bać developerów, do których zostanie przypisany raport,
zwykle nie gryz
ą.
Pomimo,
że spora część Podręcznika jest wspólna dla wszystkich architektur istnieją w nim również odnośniki do
poszczególnych z nich. Staramy si
ę ograniczać to zjawisko do minimum, aby uniknąć dezorientowania
czytelników.
Je
śli nie wiadomo czy kłopot leży po stronie systemu (pewne rzeczy mogą nie być dostatecznie przetestowane)
czy po stronie u
żytkownika (czasami problem może wyniknąć z nieuważnego czytania opisu) warto odwiedzić
kana
ł #gentoo na sieci irc.freenode.net. Zapraszamy tam wszystkich użytkowników.
Odpowiedzi na wiele pyta
ń związanych z Gentoo znajdują się w naszym
FAQ
. Warto równie
ż przejrzeć
FAQ
na
naszym
forum
. Je
śli odpowiedzi na pytanie nie ma w żadnym z nich zawsze można zapytać maniaków
przesiaduj
ących na kanale #gentoo (w sieci freenode), zwykle są dobrze poinformowani.
W przypadku b
łędów związanych z tłumaczeniem Podręcznika należy kontaktować się z osobami wymienionymi
w prawym górnym rogu strony jako g
łówni tłumacze. Można wysłać do nich list, ale najszybszą metodą jest
zwykle kontakt bezpo
średni na ircu, gdzie przesiadują w przerwach między kolejnymi chłostami za literówki w
tekstach. Najcz
ęściej można ich spotkać na kanałach #gentoo-doc-pl w sieci freenode i #gentoo.pl na ircnecie.
2. Wybór medium instalacyjnego
2.a.
Wymagania sprz
ętowe
Wprowadzenie
Zanim zaczniemy musimy pozna
ć wymagania sprzętowe jakie powinien spełniać komputer, aby można było na
nim zainstalowa
ć Gentoo.
Wymagania sprz
ętowe
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
5 z 103
2005-10-23 14:23
Procesor
i486 lub nowszy
Pami
ęć
64 MB
Wolne miejsce na dysku
1.5 GB (bez miejsca potrzebnego na partycj
ę wymiany)
Miejsce na partycj
ę wymiany
Co najmniej 256 MB
2.b.
Metody instalowania Gentoo
Wst
ęp
Gentoo mo
żna zainstalować przy pomocy jednego z trzech tarballi, tak zwanych etapów (stage). Każdy z nich to
skompresowane archiwum zawieraj
ące minimalne środowisko pracy.
Plik etapu pierwszego (stage1) zawiera wy
łącznie kompilator, Portage (system zarządzania pakietami w
Gentoo) oraz kilka programów, bez których oba narz
ędzia nie mogłyby pracować.
Plik etapu drugiego (stage2) to spakowany system, na którym przeprowadzono ju
ż proces nazywany po
angielsku "bootstrap" w celu przygotowania
środowiska, w którym można przystąpić do budowy innych
niezb
ędnych narzędzi systemowych, które stworzą kompletny system Gentoo.
Plik etapu trzeciego (stage 3) zawiera prekompilowany system podstawowy, który jest niemal w pe
łni
przygotowany do pracy. Brakuje mu jedynie kilku programów, które ka
żdy użytkownik musi wybrać i
zainstalowa
ć samodzielnie.
Aby u
łatwić wybór odpowiedniego do danej sytuacji pliku etapowego spisaliśmy główne wady i zalety każdego z
nich.
Etap pierwszy
Z etapu pierwszego korzysta si
ę w celu samodzielnej budowy całego systemu.
Metoda ta buduje podstawowe pakiety systemowe, które s
ą niezbędne dla systemu. Są one również używane
przez deweloperów Gentoo do przygotowywania nowych wyda
ń Gentoo. Jest to idealna metoda instalacji dla
osób, które chc
ą zgłębić swoją wiedzę na temat wewnętrznych metod bootstrapingu, narzędzi łańcuchowych i
tym podobnych.
Jednak gdy nie zamierzamy usprawnia
ć intrukcji bootstrapingu w skrypcie bootstrap.sh napisanym przez
deweloperów Gentoo, wtedy ta metoda nie przyniesie
żadnego zysku.
Etap pierwszy
Plusy i minusy
+
Pozwala na pe
łną kontrolę nad przebiegiem instalacji, procesem bootstrapingu itp.
+
Jest odpowiedni dla do
świadczonych użytkowników i deweloperów
-
Instalacja zabiera du
żo czasu (jest najdłuższą metodą)
-
Je
śli nie poprawi się żadnych ustawień prawdopodobnie okaże się stratą czasu.
-
Wymaga dzia
łającego połączenia z Internetem.
Etap drugi
Etap drugi to budowa ca
łego systemu ze stanu tuż po bootstrapie.
Kiedy b
ędziemy używać metody instalacji z drugiego etapu (stage2), system zbuduje wszystkie pakiety
(podstawowe w
łączając w to narzędzia łańcuchowe) używająć ustawionych przez nas zmiennych
USE
,
CFLAGS
i
CXXFLAGS
. Dlatego ka
żdy pakiet będzie dostosowanych do naszych potrzeb.
Jednak proces instalacji zajmuj
ę sporo czasu. Jeżeli nie chcemy zmieniać zmiennych
CFLAGS
i
CXXFLAGS
, który
zdefiniowali
śmy jako "domyślne", używanie tej metody ma tylko sens wtedy gdy zmienna
USE
znacz
ąco się różni
od tej ustawionej domy
ślnie.
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
6 z 103
2005-10-23 14:23
Etap drugi
Plusy i minusy
+
Nie trzeba przeprowadza
ć bootstrapu.
+
Instalacja zajmuje mniej czasu ni
ż w przypadku etapu pierwszego.
+
Wci
ąż można poprawić dużo ustawień.
-
Wci
ąż nie jest najszybszą z dostępnych metod instalacji Gentoo.
-
Do instalacji z niego potrzebne jest po
łączenie z Internetem.
Etap trzeci
Pakiet etapu trzeciego to prekompilowane niemal ca
łe podstawowe środowisko Gentoo. Do uruchomienia całego
systemu niezb
ędna jest już tylko budowa kilku dodatkowych pakietów (takich jak systemowy logger, narzędzia
sieciowe...) znanim b
ędziemy mogli się zalogować do podstawowej instalacji Gentoo.
Wybór etapu trzeciego pozwala na b
łyskawiczne zainstalowanie Gentoo, ale wiąże się również z koniecznością
zaakceptowania ustawie
ń optymalizacji dobranych przez developerów (są to dobrze wybrane ustawienia,
poprawiaj
ą wydajność, nie zmniejszając jednocześnie stabilności systemu). Etap trzeci to konieczność przy
instalowaniu Gentoo z prekompilowanych pakietów lub przy instalacji bez dost
ępu do sieci.
Etap trzeci
Plusy i minusy
+
Najszybsza metoda instalacji Gentoo.
+
Nadal mo
żna usprawniać system.
Warto zauwa
żyć, że jeżeli zdecydujemy się na użycie różnych metod optymalizacji po zainstalowaniu Gentoo,
b
ędziemi mieli możliwość przekompilowania całego systemu z nowymi ustawieniami tejże optymalizacji. Taka
sama sytuacja ma miejsce w przypadku zmian flag
USE
. Portage jest na tyle sprytne,
że będzie wiedziało, które
pakiety wymagaj
ą przebudowania.
2.c.
P
łyty instalacyjne Gentoo
Wprowadzenie
Dzi
ęki płytom instalacyjnym można uruchomić podstawowe środowisko służące do instalacji całego systemu
Gentoo na dysk. W czasie uruchamiania systemu z p
łyty zostanie wykryty sprzęt dostępny w komputerze, a
Gentoo automatycznie za
ładuje odpowiednie dla niego sterowniki. Płyty te są tworzone i rozwijane przez
deweloperów Gentoo.
Je
żeli założymy, że będziemy używać płyt z prekompilowanymi pakietam, aby móc w szybki sposób zainstalować
dodatkowe oprogramowanie, nale
ży się upewnić, że używamy tej samej podarchitektury co w przypadku
archiwum z trzecim etapem (stage3).
Wszystkie p
łyty instalacyjne pozwalają na uruchomienie środowiska instalacyjnego, skonfigurowanie ustawień
sieciowych, utworzenie i aktywowanie partycji oraz rozpocz
ęcie instalowania Gentoo z użyciem Internetu. Są
idealnym
środkiem do zbudowania naszej dystrybucji, jeśli zakłada się instalowanie przy użyciu najnowszych
pakietów pobieranych z sieci.
Opis instalacji Gentoo bez dost
ępu do Internetu znajduje się na stronach
Podr
ęcznika Gentoo 2005.1
.
S
ą dwa rodzaje płyt instalacyjnych:
"Gentoo Minimal Installation CD" - ma
ła, uruchamialna płyta instalacyjna zawierająca wszystko co
niezb
ędne do uruchomienia środowiska, z którego można następnie przystąpić do instalowania Gentoo.
"Gentoo Universal Installation CD" - uruchamialna p
łyta posiadająca wszystkie funkcje swojego
mniejszego odpowiednika, ale poszerzona o tarballe z etapami instalacji (stage) optymalizowanymi pod
ró
żne podarchitektury.
Aby u
łatwić wybór odpowiedniej płyty instalacyjnej omówimy plusy i minusy każdej z nich.
Gentoo Minimal Installation CD
Obraz tej p
łyty ma nazwę
install-x86-minimal-2005.1.iso
i zajmuje jedynie 52 MB miejsca. Mo
żna go
u
żyć do zainstalowania Gentoo wyłącznie jeśli posiada się połączenie z Internetem.
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
7 z 103
2005-10-23 14:23
Minimal
Installation CD
Plusy i minusy
+
Ma
ła ilość danych do pobrania.
+
Mo
żna pobrać najnowsze pliki "stage" bezpośrednio z Internetu.
-
Nie zawiera
żadnych plików "stage", obrazów drzewa Portage, prekompilowanych pakietów i w związku z
tym nie nadaje si
ę do instalacji bez dostępu do sieci.
Gentoo Universal Installation CD
Obraz tej p
łyty ma nazwę
install-x86-universal-2005.1.iso
i zajmuje oko
ło 650 MB miejsca. Można
u
żyć go do zainstalowania Gentoo nawet bez dostępu do sieci.
Universal Installation CD
Plusy i minusy
+
Zawiera wszystko co jest potrzebne do zainstalowania Gentoo, nawet bez dost
ępu do Internetu.
-
Du
ża ilość danych do pobrania.
Inne p
łyty
Na cz
ęści naszych serwerów lustrzanych można napotkać płyty zatytułowane Package CD. Nie są to płyty
instalacyjne. Zawieraj
ą jedynie prekompilowane pakiety (tak zwany zestaw pakietów GRP), dzięki którym można
szybko i wygodnie zainstalowa
ć dodatkowe oprogramowanie zarówno podczas instalowania Gentoo bez dostępu
do Internetu jak i w przypadku gdy po prostu chcemy szybko doinstalowa
ć któryś z długo kompilujących się
programów (KDE, Gnome, OpenOffice.org ...).
2.d.
Pobieranie, nagrywanie i uruchamianie p
łyt instalacyjnych Gentoo
Pobieranie i nagrywanie p
łyt instalacyjnych
Po pierwsze musimy pobra
ć jeden z omawianych wcześniej obrazów płyt, żeby jednak to zrobić trzeba wiedzieć
gdzie ich szuka
ć.
Wszystkie obrazy p
łyt instalacyjnych znajdują się na naszych
serwerach lustrzanych
w katalogu
releases/x86/2005.1/installcd
.
Wewn
ątrz tego katalogu znajduje się zbiór plików ISO. Są to pełne i gotowe do nagrania obrazy płyt CD.
Aby zweryfikowa
ć poprawność pobranych plików ISO należy porównać ich sumy MD5 z tymi znajdującymi się na
naszym serwerze lustrzanym (np. w pliku o nazwie install-x86-minimal-2005.1.iso.md5). Sumy MD5
dla pobranych plików mo
żna wygenerować przy pomocy narzędzia
md5sum
dla Linuksa, lub jego
odpowiednika
dla Windows.
Innym sposobem sprawdzania poprawno
ści pobranych plików jest weryfikacja ich kryptograficznych sygnatur przy
pomocy GnuPG. Sygnatury poprawnych plików znajduj
ą się w plikach z rozszerzeniem .asc. Najpierw
pobieramy plik sygnatury, a nast
ępnie pozyskujemy klucz publiczny:
Listing 1: Pozyskiwanie klucza publicznego
Nast
ępnie weryfikujemy sygnaturę.
Listing 2: Weryfikowanie sygnatury plików
Pobrane pliki ISO nale
ży nagrywać w trybie RAW. To jak się go włącza zależy od programu, którego używamy.
W Podr
ęczniku opiszemy nagrywanie za pomocą programów
cdrecord
i
K3B
. Wi
ęcej informacji można znaleźć
w dokumencie
Gentoo FAQ
.
Je
śli chodzi o cdrecord to wystarczy wpisać polecenie
cdrecord dev=/dev/hdc <pobrany plik
iso>
. Zamiast /dev/hdc nale
ży podać odpowiednią ścieżkę do urządzenia CD-RW.
$
gpg --keyserver pgp.mit.edu --recv-keys 17072058
$
gpg --verify <plik sygnatury> <plik iso>
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
8 z 103
2005-10-23 14:23
W K3B trzeba wybiera
ć z menu kolejno zakładki
Tools
>
CD
>
Burn Image
. Nast
ępnie wskazujemy
nasz plik ISO i klikamy w przycisk
Start
.
Uruchamianie p
łyty instalacyjnej
Wa
żne: Przed rozpoczęciem jakichkolwiek czynności należy przeczytać ten paragraf do końca, ponieważ dostęp do niego
mo
że okazać się niemożliwy bez wykonania w środowisku instalacyjnym opisanych tutaj poprawek.
Po nagraniu p
łyty instalacyjnej przychodzi pora na uruchomienie z niej systemu. Upewniamy się, że w napędach
nie ma
żadnych innych płyt i ponownie uruchamiamy komputer. Wchodzimy do BIOS-u, zwykle robi się to przy
pomocy klawiszy DEL, F1 lub ESC - zale
żnie od producenta i modelu płyty głównej. Wszystko co musimy tam
zmieni
ć to kolejność w jakiej będą skanowane nasze napędy w poszukiwaniu aktywnego systemu operacyjnego.
Musimy skonfigurowa
ć to tak, by CD-ROM był pierwszym takim napędem. Jeśli nie zmienimy tej opcji komputer
uruchomi si
ę z dysku, ignorując naszą płytę instalacyjną.
Teraz mo
żemy umieścić płytę w napędzie i po raz kolejny zrestartować komputer. Po pewnym czasie powinien
pojawi
ć się znak zachęty (prompt). Mamy tu dwie możliwości. Możemy od razu nacisnąć enter i rozpocząć proces
uruchamiania Gentoo z p
łyty instalacyjnej ze standardowymi opcjami lub dodać kilka własnych ustawień.
Dokonuje si
ę tego wpisując nazwę wybranego jądra i opcji z jakimi chcemy je uruchomić, a następnie naciskając
enter.
Wybranego j
ądra? Tak, na płytach instalacyjnych znajduje się kilka jąder Linuksa. Domyślne i najbardziej
uniwersalne z nich ma nazw
ę
gentoo
. Pozosta
łe jądra są skonfigurowane pod specyficzny sprzęt, oraz
posiadaj
ą warianty bez sterowników graficznych (
-nofb
).
Oto krótkie omówienie wszystkich dost
ępnych jąder:
J
ądro
Opis
gentoo
Standardowe j
ądro serii 2.6 ze wsparciem dla komputerów wieloprocesorowych.
gentoo-nofb
J
ądro
gentoo
pozbawione sterowników framebuffera.
memtest86
Program do testowania pami
ęci RAM.
Mo
żna również wybrać opcje z jakimi zostanie uruchomione jądro, kontrolują one jego określone ustawienia.
Poni
ższa tabela przestawia ich listę, taką samą otrzymamy naciskając przycisk F2.
Listing 3: Opcjonalne ustawienia j
ądra na płycie instalacyjnej
Pora na uruchomienie systemu z p
łyty. Wybieramy jądro (jeśli domyślne
gentoo
nas nie zadowala) oraz opcje z
jakimi ma zosta
ć ono uruchomione. Jako przykład podamy linię uruchamiającą jądro
gentoo
z opcj
ą
dopcmcia
.
Listing 4: Uruchamianie systemu z p
łyty instalacyjnej
Je
śli instalujemy Gentoo w systemie, w którym mamy klawiaturę inną niż US musimy wcisnąć ALT+F1, aby
przej
ść do trybu potwierdzania kolejnych czynności, a następnie postępować zgodnie ze wskazówkami na
ekranie. Je
śli nie wybierzemy nowego mapowania w ciągu 10 sekund, zostanie załadowane to domyślne, czyli
ameryka
ńskie. Jak tylko skończy się proces wczytywania systemu zostaniemy automatycznie zalogowani do
"Live" Gentoo Linux jako "root", nazywany te
ż czasem superużytkownikiem. Na bieżącej konsoli powinien pojawić
- agpgart
ładuje agpgart (używane w przypadku problemów z grafiką, zwłaszcza zawieszania się komputera)
- acpi=on w
łącza wsparcie dla ACPI
- ide=nodma wymusza wy
łączenie DMA na psujących się napędach IDE
- doscsi skanuje w poszukiwaniu urz
ądzeń scsi (może nie działać prawidłowo z niektórymi kartami ethernet)
- dopcmcia uruchamia obs
ługę cdromów PCMCIA
- nofirewire wy
łącza moduły firewire (dla cdromów firewire, etc)
- nokeymap uniemo
żliwia wybór mapowania klawiatury innego niż US
- docache cache'uje ca
ły proces uruchamiania cd w RAM-ie, umożliwia to odmontowanie cdromu podczas instalacji
- nodetect uniemo
żliwia uruchomienie hwsetup/kudzu i hotplug
- nousb wy
łącza ładowanie modułu usb z initrd, wyłącza też hotplug
- nodhcp dhcp nie wystartuje automatycznie je
śli zostanie wykryty NIC
- nohotplug wy
łącza ładowanie urządzeń hotplug
- noapic wy
łącza apic (użyj w przypadku problemów ze sprzętem nics, scsi, etc)
- hdx=stroke pozwala na partycjonowanie ca
łego dysku, nawet wtedy, gdy BIOS nie obsługuje dużych dysków
boot:
gentoo dopcmcia
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
9 z 103
2005-10-23 14:23
si
ę znak zachęty ("#") roota. Konsole zmieniamy kombinacjami klawiszy Alt-F2, Alt-F3 i Alt-F4. Do konsoli, którą
widzieli
śmy na początku wracamy naciskając Alt-F1.
Mo
żemy teraz przystąpić do
konfigurowania dodatkowego sprz
ętu
.
Konfigurowanie dodatkowego sprz
ętu
W czasie uruchamiania system spróbuje wykry
ć sprzęt i załadować odpowiednie sterowniki. Zazwyczaj czyni to
prawid
łowo, ale czasami mogą zdarzyć się problemy i nie wszystkie moduły zostaną aktywowane. Gdy zawiedzie
skanowanie PCI musimy r
ęcznie załadować odpowiednie moduły.
W poni
ższym przykładzie spróbujemy załadować moduł
8139too
(obs
ługujący całą serię urządzeń sieciowych):
Listing 5:
Ładowanie modułów jądra
Obs
ługę PCMCIA włącza się ładując odpowiedni skrypt startowy:
Listing 6: Uruchamianie skryptu startowego PCMCIA
Opcjonalnie: Poprawianie wydajno
ści twardego dysku
Zaawansowanych u
żytkowników na pewno zainteresuje możliwość zwiększenia wydajności twardych dysków IDE
za pomoc
ą programu
hdparm
. Obecn
ą wydajność można przetestować za pomocą parametrów
-tT
(kilkukrotne
wykonanie polecenia zwi
ększa precyzję pomiaru):
Listing 7: Testowanie wydajno
ści twardego dysku
Aby poprawi
ć wydajność można wykorzystać któryś z poniższych przykładów (lub poeksperymentować
samodzielnie). Oczywi
ście musimy zastąpić /dev/hda ścieżką do naszego dysku.
Listing 8: Poprawianie wydajno
ści dysku
Opcjonalnie: Konta u
żytkowników
Je
śli planujemy umożliwienie innym osobom dostępu do środowiska instalacyjnego lub zamierzamy korzystać z
irssi
nie uruchomionego z przywilejami roota musimy stworzy
ć dodatkowe konta.
Najpierw jednak nale
ży zmienić hasło roota. Dokonuje się tego przy pomocy polecenia
passwd
:
Listing 9: Zmiana has
ła roota
Aby stworzy
ć konto użytkownika musimy najpierw podać jego parametry, a następnie ustawić hasło. Skorzystamy
przy tym z polece
ń
useradd
oraz
passwd
. W przyk
ładzie stworzymy użytkownika o nazwie "rane".
Listing 10: Tworzenie konta u
żytkownika
#
modprobe 8139too
#
/etc/init.d/pcmcia start
#
hdparm -tT /dev/hda
Aktywowanie DMA:
#
hdparm -d 1 /dev/hda
Aktywowanie DMA oraz zestawu bezpiecznych opcji poprawiaj
ących wydajność:
#
hdparm -d 1 -A 1 -m 16 -u 1 -a 64 /dev/hda
#
passwd
New password:
(Podajemy nowe has
ło)
Re-enter password:
(Potwierdzamy nowe has
ło)
#
useradd rane
#
passwd rane
New password:
(Podajemy has
ło)
Re-enter password:
(Potwierdzamy has
ło)
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
10 z 103
2005-10-23 14:23
Aby prze
łączyć się z konta roota na nowo utworzone konto użytkownika korzystamy z polecenia
su
:
Listing 11: Prze
łączanie użytkownika
Opcjonalnie: Dost
ęp do dokumentacji podczas instalowania Gentoo
Je
śli zamierzamy podczas instalacji korzystać z Podręcznika Gentoo (obojętnie czy nagranego na CD czy
znajduj
ącego się w Internecie) powinniśmy dodać dla tych celów konto zwykłego użytkownika, tak jak opisaliśmy
to przed chwil
ą, a następnie przejść przy pomocy kombinacji klawiszy
Alt-F2
na nowy terminal i tam si
ę
zalogowa
ć.
Do przegl
ądania dokumentacji nagranej na CD służy program
links2
:
Listing 12: Przegl
ądanie dokumentacji na CD
Najnowsz
ą i najlepszą dostępną wersją Podręcznika Gentoo jest ta znajdująca się na naszej stronie internetowej.
Polecamy korzystanie w
łaśnie z tej wersji. Podobnie jak w przypadku dokumentacji nagranej na CD można użyć
do tego programu
links2
, pod warunkiem oczywi
ście, że mamy już skonfigurowane i działające połączenie z
Internetem.
Listing 13: Przegl
ądanie dokumentacji w Internecie
Na pierwszy terminal powracamy przy pomocy kombinacji klawiszy
Alt-F1
.
Opcjonalnie: Uruchamianie demona SSH
Aby umo
żliwić innym osobom dostęp do naszego komputera podczas instalacji (by mogły nam pomóc w
konfigurowaniu Gentoo lub nawet przeprowadzi
ły cały proces za nas) musimy dodać im odpowiednie konta
u
żytkowników lub nawet podać hasło roota (nie należy tego robić jeśli nie jest to osoba, której ufa się całkowicie).
Demona SSH uruchamia si
ę następującym poleceniem:
Listing 14: Uruchamianie demona SSH
Korzystanie z sshd jest mo
żliwe tylko wtedy, gdy komputer jest połączony z Internetem. Połączenie nawiążemy
dzi
ęki wskazówkom spisanym, w rozdziale zatytułowanym
konfiguracja sieci
.
3. Konfigurowanie sieci
3.a.
Automatyczne wykrywanie sieci
Mo
że po prostu to już działa?
Je
żeli komputer jest podłączony do sieci Ethernet z serwerem, DHCP jest bardzo prawdopodobne, że połączenie
zosta
ło skonfigurowane automatycznie. Dzięki temu od razu można skorzystać z wielu narzędzi sieciowych
dost
ępnych na płycie instalacyjnej, takich jak
ssh
,
scp
,
ping
,
irssi
,
wget
czy
links
.
Je
śli sieć jest skonfigurowana prawidłowo to polecenie
/sbin/ifconfig
powinno wy
świetlić oprócz lo także
inne urz
ądzenia, na przykład eth0:
Listing 1: Wynik /sbin/ifconfig przy poprawnej konfiguracji sieci
#
su - rane
#
links2 /mnt/cdrom/docs/html/index.html
#
links2 http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml
#
/etc/init.d/sshd start
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
11 z 103
2005-10-23 14:23
Opcjonalnie: Konfigurowanie proxy
Je
śli korzystamy z proxy, musimy skonfigurować je w czasie instalacji. Jest to bardzo proste, wystarczy
zdefiniowa
ć odpowiednią zmienną, zawierającą z informacje o serwerze proxy.
W wi
ększości przypadków można zdefiniować tę zmienną przy pomocy jego domeny. Pokażemy to na
przyk
ładzie serwera proxy.gentoo.org i portu 8080.
Listing 2: Definiowanie serwerów proxy
Je
żeli proxy wymaga podania hasła i nazwy użytkownika, należy użyć następującej składni:
Listing 3: Dodawanie nazwy i has
ła użytkownika do zmiennej
Testowanie sieci
Je
śli chcemy się upewnić, że pakiety dochodzą do celu, możemy spróbować pingowania któregoś z serwerów
DNS (z pliku /etc/resolv.conf) lub dowolnie wybranej strony WWW.
Listing 4: Testowanie sieci
Dzia
ła? Jeśli tak, można pominąć resztę tego rozdziału i bezpośrednio przejść do rozdziału
Przygotowanie
dysków
. Je
śli nie, to pora zapoznać się z dalszą częścią tego tekstu.
3.b.
Automatyczne konfigurowanie sieci
Niektóre media instalacyjne pozwalaj
ą na skorzystanie z narzędzia
net-setup
(dla typowych lub
bezprzewodowych sieci) je
śli sieć nie zadziała od razu,
adsl-setup
(dla u
żytkowników ASDL) albo
pptp
(dla
u
żytkowników PPTP - dostępne tylko dla architektury x86).
W przypadku gdy no
śnik instalacyjny nie zawiera żadnego z wymienionych narzędzi, lub sieć wciąż nie
funkcjonuje prawid
łowo, należy przejść do akapitu
R
ęczna konfiguracja sieci
.
U
żytkownicy typowych sieci Ethernet powinni przejść do podrozdziału
Domy
ślnie: Używanie net-setup
.
U
żytkownicy ASDL powinni przejść do paragrafu
Alternatywnie: U
żywanie RP-PPPoE
.
A u
żytkownicy PPTP powinni przejść do części
Alternatywnie: U
żywanie PPTP
.
Domy
ślnie: Używanie net-setup
Najprostsz
ą metodą konfigurawania sieci (poza automatyczną) jest ta zakładająca skorzystanie ze skryptu
#
/sbin/ifconfig
(...)
eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
collisions:1984 txqueuelen:100
RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb)
Interrupt:11 Base address:0xe800
(Je
śli proxy filtruje HTTP)
#
export http_proxy="http://proxy.gentoo.org:8080"
(Je
śli proxy filtruje FTP)
#
export ftp_proxy="ftp://proxy.gentoo.org:8080"
(Je
śli proxy filtruje RSYNC)
#
export RSYNC_PROXY="rsync://proxy.gentoo.org:8080"
http://
username
:
password
#
ping -c 3 www.yahoo.com
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
12 z 103
2005-10-23 14:23
net-setup
:
Listing 5: Uruchamianie skryptu net-setup
Nast
ępnie należy udzielić odpowiedzi na serię dotyczących różnych parametrów sieci. Po zakończeniu wszystko
powinno by
ć skonfigurowane. Sprawdzamy połączenie tak jak opisano to wyżej. Jeśli wszystko działa to pora
zacz
ąć instalację Gentoo. Można pominąć resztę tego rozdziału i przejdź od razu do
Przygotowywania dysków
.
Je
śli sieć wciąż nie działa, przechodzimy do
R
ęcznej konfiguracji sieci
.
Alternatywnie: U
żywanie RP-PPPoE
Je
śli do połączenia z Internetem potrzebne jest PPPoE, należy skorzystać z programu
rp-ppoe
nagranego na
naszej p
łycie instalacyjnej. Skrypt
adsl-setup
s
łuży do konfiguracji połączenia. Zostaniemy zapytani o
urz
ądzenie sieciowe podłączone do modemu asdl, nazwę użytkownika i hasło, oraz o IP serwerów DNS i o to czy
potrzebujemy podstawowego firewalla.
Listing 6: U
żywanie rp-pppoe
Je
śli coś pójdzie nie tak, należy sprawdzić czy w /etc/ppp/pap-secrets lub /etc/ppp/chap-secrets
podano prawid
łową nazwę użytkownika i hasło oraz upewnić się, że wybrano właściwe urządzenie sieciowe. Jeśli
nie zosta
ło ono wykryte, konieczne będzie ręczne załadowanie odpowiednich sterowników. W takim wypadku
nale
ży przejść do
R
ęcznej konfiguracji sieci
, gdzie szerzej to omówimy.
Je
żeli wszystko zadziałało przechodzimy do
przygotowania dysków
.
Alternatywnie: U
żywanie PPTP
Uwaga: Obs
ługa PPTP dostępna jest wyłącznie dla architektury x86.
Je
śli potrzebna jest obsługa PPTP, należy skorzystać z
pptpclient
zamieszczonego na p
łycie instalacyjnej.
Najpierw jednak nale
ży dodać prawidłową nazwę użytkownika i hasło do /etc/ppp/pap-secrets lub
/etc/ppp/chap-secrets
:
Listing 7: Edytowanie /etc/ppp/chap-secrets
Nast
ępnie konfigurujemy /etc/ppp/options.pptp:
Listing 8: Edytowanie /etc/ppp/options.pptp
Po zako
ńczeniu uruchamiamy program
pptp
(razem z niemo
żliwymi do ustawienia w options.pptp opcjami),
aby po
łączyć się z serwerem:
Listing 9:
Łączenie z serwerem dial-in
Kolejny etap instalacji to
Przygotowywanie dysków
.
3.c.
R
ęczne konfigurowanie sieci
Ładowanie odpowiednich modułów sieciowych
#
net-setup eth0
#
adsl-setup
#
adsl-start
#
nano -w /etc/ppp/chap-secrets
#
nano -w /etc/ppp/options.pptp
#
pptp <server ip>
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
13 z 103
2005-10-23 14:23
W czasie uruchamiania p
łyty instalacyjnej system spróbuje wykryć sprzęt i załadować odpowiednie sterowniki. W
wi
ększości przypadków wykrywanie przebiega prawidłowo, czasem jednak trzeba ręcznie skorygować niektóre
ustawienia.
Je
śli zawiódł
net-setup
lub
asdl-setup
, mo
żliwe, że nie została wykryta karta sieciowa. Oznacza to, że
trzeba b
ędzie ręcznie załadować odpowiedni sterownik.
Do wy
świetlenia listy modułów kernela ze sterownikami dla urządzeń sieciowych używamy polecenia
ls
:
Listing 10: Szukanie modu
łów
Gdy znajdziemy odpowiedni sterownik dla karty sieciowej,
ładujemy go przy pomocy polecenia
modprobe
:
Listing 11:
Ładowanie modułów kernela za pmocą modprobe
Aby sprawdzi
ć czy karta sieciowa została wykryta, korzystamy z polecenia
ifconfig
. Prawid
łowy rezultat
powinien wygl
ądać mniej więcej tak:
Listing 12: Sprawdzanie dost
ępności karty sieciowej. Wynik pozytywny
Nast
ępujący błąd oznacza, że karta nie została wykryta:
Listing 13: Sprawdzanie dost
ępności karty sieciowej. Wynik negatywny
Je
żeli w komputerze znajduje się kilka kilka kart sieciowych, będą one miały nazwy (kolejno) eth0, eth1, itp.
Nale
ży się upewnić, czy karta sieciowa której chcemy używać działa poprawnie i pamiętać o używaniu
poprawnego nazewnictwa przy wykonywaniu czynno
ści opisanych w dalszej części tego dokumentu. W
Podr
ęczniku zakładamy, że karta sieciowa nazywa się eth0.
Je
śli karta jest już prawidłowo rozpoznawana przez system, można ponownie użyć programów
net-setup
lub
asdl-setup
(tym razem powinny zadzia
łać) lub skorzystać z poniższych instrukcji, aby połączenie
skonfigurowa
ć ręcznie.
Nast
ępnie przechodzimy do jednej z następujących części:
U
żywanie DHCP
w celu uzyskania IP
Przygotowywanie bezprzewodowego dost
ępu
- dla kart bezprzewodowych
Terminologia sieciowa
, (niemal) wszystko co trzeba wiedzie
ć o działaniu sieci
U
żywanie ifconfig i route
- opis r
ęcznej konfiguracji sieci
U
żywanie DHCP
DHCP (Dynamic Host Configuration Protocol) umo
żliwia automatyczne otrzymywanie informacji o parametrach
sieci (adresu IP, maski sieciowej, adresów broadcast, bramy, serwerów nazw, etc.). Niestety z metody tej mo
żna
skorzysta
ć tylko wtedy, gdy w sieci działa serwer DHCP (lub gdy ISP udostępnia taką usługę). Jeśli tak jest,
mo
żna automatycznie skonfigurować połączenie przy pomocy
dhcpd
:
#
ls /lib/modules/`uname -r`/kernel/drivers/net
(W przyk
ładzie załadujemy moduł pcnet32)
#
modprobe pcnet32
#
ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00
BROADCAST NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
#
ifconfig eth0
eth0: error fetching interface information: Device not found
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
14 z 103
2005-10-23 14:23
Listing 14: U
żywanie dhcpcd
Je
śli to zadziała (sprawdzamy pingując jakiś serwis internetowy, np.
), wszystko jest gotowe i mo
żna
pomin
ąć resztę tego rozdziału i przejść bezpośrednio do
Przygotowywania dysków
.
Przygotowanie bezprzewodowego dost
ępu
Uwaga: Program
iwconfig
dost
ępny jest wyłącznie na płytach instalacyjnych dla architektur x86, amd64 oraz ppc. Opis
instalacji dla pozosta
łych płyt znajduje się na stronach
projektu linux-wlan-ng
.
Je
śli używamy karty wireless (802.11), musimy ją skonfigurować. Aby poznać aktualne ustawienia skorzystamy z
polecenia
ifconfig
. Rezultat wygl
ąda zwykle tak:
Listing 15: Wy
świetlanie aktualnych ustawień interfejsów kart do połączeń bezprzewodowych
Uwaga: Cz
ęść nazw urządzeń kart wireless to
wlan0
zamiast
eth0
. Uruchomienie polecenia
iwconfig
bez
dodatkowych parametrów pozwoli na poznanie nazwy odpowiedniego urz
ądzenia.
W wi
ększości przypadków wystarcza zmodyfikowanie tylko dwóch opcji: ESSID (czyli nazwy sieci
bezprzewodowej) oraz klucza WEP. Je
śli wyświetlone ESSID i Access Point są prawidłowe dla punktu dostępu i
nie korzystamy z WEP, to po
łączenie już działa. Aby zmodyfikować ESSID lub dodać klucz WEP, skorzystamy z
nast
ępujących poleceń:
Listing 16: Modyfikowanie ESSID i/lub dodawanie klucza WEP
Mo
żna zatwierdzić te ustawienia ponownie wykonując
iwconfig
. Je
żeli sieć już działa, należy przejść do
konfiguracji opcji na poziomie IP, opisanych w kolejnym paragrafie, (
Terminologia sieciowa
) lub wykorzysta
ć
omówiony wcze
śniej program
net-setup
.
Terminologia sieciowa
Uwaga: Znaj
ąc adres IP, broadcast, maskę sieciową i serwery nazw, można pominąć tę część i od razu przejść do
U
żywania ifconfig i route
.
Je
żeli wszystkie powyższe zabiegi zawiodły, można jeszcze ręcznie skonfigurować sieć. Nie jest to bardzo
trudne. Opiszemy najpierw ró
żne parametry sieci, których znajomość jest koniecz. Opowiemy także o tym, czym
jest brama, do czego s
łuży maska sieciowa, jak ustala się adres broadcast i do czego potrzebne są serwery
nazw.
#
dhcpcd eth0
Cz
ęść administratorów wymaga używania
nazwy hosta i domeny dostarczanej przez serwer DHCP.
W tym przypadku u
żywamy
#
dhcpcd -HD eth0
#
iwconfig eth0
eth0 IEEE 802.11-DS ESSID:"GentooNode"
Mode:Managed Frequency:2.442GHz Access Point: 00:09:5B:11:CC:F2
Bit Rate:11Mb/s Tx-Power=20 dBm Sensitivity=0/65535
Retry limit:16 RTS thr:off Fragment thr:off
Power Management:off
Link Quality:25/10 Signal level:-51 dBm Noise level:-102 dBm
Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx
excessive retries:237 Invalid misc:350282 Missed beacon:84
(Polecenie zmieniaj
ące nazwę sieci na "GentooNode")
#
iwconfig eth0 essid GentooNode
(Polecenie ustawiaj
ące heksadecymalny klucz WEPT)
#
iwconfig eth0 key 1234123412341234abcd
(Polecenie ustawiaj
ące klucz ASCII - poprzedzony "s:")
#
iwconfig eth0 key s:some-password
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
15 z 103
2005-10-23 14:23
Komputery w sieci s
ą identyfikowane na podstawie adresów IP (Internet Protocol adress). Każdy z nich jest
kombinacj
ą czterech liczb od 0 do 255. Cóż, przynajmniej my tak to widzimy. W rzeczywistości jest to ciąg 32
bitów (zer i jedynek). Poka
żemy to na przykładzie:
Listing 17: Przyk
ład adresu IP
Adres IP musi by
ć unikalny dla każdego komputera, przynajmniej w obrębie jednej sieci. Aby oddzielić maszyny w
sieci i poza ni
ą IP podzielono na dwie części: część sieci oraz część hosta.
Podzia
ł zapisany jest za pomocą maski sieciowej, czyli zbioru zer poprzedzonego zbiorem jedynek. Ta część
adresu, któr
ą można odwzorować w jedynkach jest częścią sieci, reszta to część hosta. Zazwyczaj maskę
zapisujemy jak zwyk
ły adres IP.
Listing 18: Przyk
ład oddzielenia sieci/hosta
Innymi s
łowy, 192.168.0.14 wciąż jest częścią naszej przykładowej sieci, ale 192.168.1.2 już nie.
Adres broadcast sk
łada się z części sieci takiej samej jak reszta komputerów oraz samych jedynek w części
hosta. Ka
żdy komputer nasłuchuje jego adresu IP, gdyż służy on do nadawania pakietów rozgłaszających.
Listing 19: Adres broadcast
Żeby móc "surfować" po Internecie trzeba wiedzieć, który komputer udostępnia z nim połączenie. Komputer ten
nazywamy bram
ą. To zwyczajna maszyna, ze zwyczajnym adresem IP (np. 172.168.0.1).
Poprzednio napisali
śmy, że każdy komputer ma własny adres IP. Aby móc się z nim połączyć za pomocą nazwy
potrzebna jest us
ługa tłumacząca domeny (czyli na przykład dev.gentoo.org) na adresy IP (np. 64.5.62.82).
Nazywa si
ę ona serwerem nazw. Aby z niej skorzystać dodajemy ją do pliku /etc/resolv.conf.
Czasami brama mo
że służyć również jako serwer nazw. Jeśli nie, to trzeba wpisać adresy DNS-ów
dostarczanych przez ISP.
Podsumowuj
ąc: potrzebne są następujące informacje:
Parametr
Przyk
ład
Adres IP
192.168.0.2
Maska
255.255.255.0
Broadcast
192.168.0.255
Brama
192.168.0.1
Serwer(y) nazw
195.130.130.5, 195.130.130.133
U
żywanie ifconfig i route
Konfiguracja sieci sk
łada się z trzech etapów. Najpierw przypisujemy sobie adres IP za pomocą
ifconfig
.
Potem konfigurujemy bram
ę programem
route
. Na ko
ńcu wpisujemy adresy serwerów nazw do
Adres IP (liczby): 192.168.0.2
Adres IP (bity): 11000000 10101000 00000000 00000010
-------- -------- -------- --------
192 168 0 2
Adres IP: 192 168 0 2
11000000 10101000 00000000 00000010
Maska: 11111111 11111111 11111111 00000000
255 255 255 0
+--------------------------+--------+
Sie
ć Host
Adres IP: 192 168 0 2
11000000 10101000 00000000 00000010
Broadcast: 11000000 10101000 00000000 11111111
192 168 0 255
+--------------------------+--------+
Sie
ć Host
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
16 z 103
2005-10-23 14:23
/etc/resolv.conf
.
Aby przypisa
ć komputerowi adres IP, należy oprócz niego znać również broadcast i maskę. Następnie wykonuje
si
ę następujące polecenie, zastępując wpisy
${IP_ADDR}
swoim IP,
${BROADCAST}
adresem broadcast i
${NETMASK}
mask
ą:
Listing 20: U
żywanie ifconfig
Nast
ępnie ustawiamy bramę poleceniem
route
. Wpis
${GATEWAY}
nale
ży zastąpić jej adresem IP:
Listing 21: U
żywanie route
Nast
ępnie otwieramy swoim ulubionym edytorem (w przykładzie skorzystamy z
nano
) plik /etc/resolv.conf:
Listing 22: Tworzenie /etc/resolv.conf
I wype
łniamy go jak w przykładzie. Zamieniamy przy tym
${NAMESERVER1}
oraz
${NAMESERVER2}
adresami
serwerów nazw:
Listing 23: Przyk
ładowy /etc/resolv.conf
Na koniec testujemy sie
ć pingując jakiś serwer internetowy (na przykład
). Je
śli wszystko działa, można
rozpocz
ąć instalację Gentoo, rozpoczynając od
Przygotowywania dysków
.
4. Przygotowywanie dysków
4.a.
Wprowadzenie do urz
ądzeń blokowych
Urz
ądzenia blokowe
Rzu
ćmy okiem na aspekty Gentoo Linux, oraz ogólnie Linuksa związane z dyskami. Omówimy systemy plików,
partycje oraz urz
ądzenia blokowe. Następnie opiszemy proces podziału twardego dysku tak. aby jak najlepiej
wykorzysta
ć dostępne miejsce.
Zaczniemy od omówienia urz
ądzeń blokowych. Najpopularniejszym z nich prawdopodobnie jest /dev/hda
reprezentuj
ący w Linuksie pierwszy napęd IDE. U posiadaczy urządzeń SCSI lub SATA pierwszym takim dyskiem
jest /dev/sda.
Urz
ądzenia blokowe stanowią abstrakcyjny interfejs dysków. Programy użytkownika mogą z nich korzystać nie
martwi
ąc się o to czy napędy są typu IDE, SCSI czy jakiegoś innego. Przechowywane dane adresuje się jako
ci
ąg 512-bajtowych bloków.
Partycje
Teoretycznie przeznaczenie na system ca
łego dysku jest możliwe, zazwyczaj nie jest to jednak zbyt dobre
rozwi
ązanie. Zamiast tego dzielimy napęd na mniejsze i dużo łatwiejsze w zarządzaniu urządzenia blokowe. W
systemach opartych na architekturze x86 nazywane s
ą one partycjami.
Wyró
żniamy trzy rodzaje partycji: podstawowe, rozszerzone oraz logiczne.
Informacje o partycjach podstawowych przechowywane s
ą w MBR (master boot record). Jako że jest on bardzo
ma
ły (512 bajtów), mieszczą się w nim dane maksymalnie czterech takich partycji (na przykład, od /dev/hda1
do /dev/hda4).
#
ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
#
route add default gw ${GATEWAY}
#
nano -w /etc/resolv.conf
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
17 z 103
2005-10-23 14:23
Specjaln
ą odmianą partycji podstawowych są partycje rozszerzone (również obowiązuje je powyższy limit).
Przechowuj
ą one wewnątrz siebie kolejne partycje. W ten sposób można ominąć niewygodną granicę i lepiej
zagospodarowa
ć przestrzeń dyskową.
Partycje umieszczone i opisane wewn
ątrz rozszerzonych nazywamy logicznymi. Dane o nich nie znajdują się w
MBR.
Zaawansowane metody przechowywania danych
P
łyty instalacyjne dla architektury x86 posiadają obsługę EVMS oraz LVM2, co znacznie rozszerza możliwości
partycjonowania dysków. W Podr
ęczniku skupimy się na tworzeniu zwykłych partycji, warto jednak wiedzieć, że
mo
żliwe jest korzystanie również z nowocześniejszych rozwiązań.
4.b.
Projektowanie schematu podzia
łu
Domy
ślny schemat podziału
Mo
żna pominąć samodzielne rozrysowywanie schematu podziału dysku i po prostu skorzystać z naszego:
Partycja
System plików
Rozmiar
Opis
/dev/hda1
ext2
32M
Partycja rozruchowa
/dev/hda2
(swap)
512M
Partycja wymiany
/dev/hda3
ext3
Pozosta
łe wolne miejsce
Partycja g
łówna
W dalszej cz
ęści tekstu wyjaśnimy jak wiele i jak dużych partycji należy utworzyć. Można pominąć te informacje i
przej
ść bezpośrednio do
partycjonowania dysku przy pomocy fdisk
.
Jak du
żo i o jakim rozmiarze?
Ilo
ść partycji ściśle zależy od danego środowiska. Na przykład, jeśli administrujesz systemem mającym wielu
u
żytkowników, prawdopodobnie uznasz za stosowne oddzielenie /home aby poprawić bezpieczeństwo i uprościć
tworzenie kopii zapasowych. Je
żeli docelowym zastosowaniem Gentoo jest serwer poczty, na osobnej partycji
powiniene
ś umieścić /var, gdzie przechowywane są listy. Dobry wybór systemu plików może znacznie
zwi
ększyć wydajność. Oddzielenie /opt jest dobrym rozwiązaniem na serwerach gier, gdyż większość
u
żywanego oprogramowania zostanie tam zainstalowana. Powód jest podobny jak przy /home: bezpieczeństwo i
kopie zapasowe. Na pewno warto zapewni
ć dużo wolnego miejsca na /usr, ponieważ będą tam się znajdowały
nie tylko dane wszystkich zainstalowanych pakietów, ale równie
ż ważące 500 MB drzewo Portage i kody
źródłowe programów.
Jak wida
ć, wiele zależy od oczekiwanego rezultatu. Rozdzielenie partycji ma wiele zalet:
Daje mo
żliwość wybrania dla poszczególnych partycji najbardziej wydajnego w danym zastosowaniu
systemu plików.
Zape
łnienie całego wolnego miejsca na partycji przez wadliwie działający program nie będzie miało
szkodliwego wp
ływu na całość systemu.
Mo
żliwe będzie skrócenie czasu kontroli systemów plików dzięki jednoczesnemu dokonywaniu jej na kilku
partycjach (ma to znaczenie zw
łaszcza na komputerze z wieloma twardymi dyskami).
Montuj
ąc część partycji lub woluminów z opcjami read-only (tylko do odczytu), nosuid (ignorowane są bity
setuid), noexec (ignorowane s
ą bity wykonywalności) itd. można znacznie poprawić bezpieczeństwo.
Niestety zbyt rozbudowany schemat podzia
łu niesie również ze sobą spore problemy. Źle zaplanowany
zaowocuje pustkami na zbyt du
żych i ciasnotą na zbyt małych partycjach.
W przyk
ładzie pokażemy partycjonowanie dysku o rozmiarze 20GB wykorzystywanego w laptopie z
zainstalowanym serwerem poczty, stron internetowych oraz
środowiskiem gnome:
Listing 1: Przyk
ładowy podział dysku
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
18 z 103
2005-10-23 14:23
/usr
jest niemal w pe
łni zajęty (wykorzystany w 83%), ale nie stanowi to problemu, ponieważ po instalacji
wszystkich potrzebnych pakietów nie b
ędzie się zbytnio rozrastał. Część czytelników może pomyśleć, że zbyt
wiele miejsca przeznaczyli
śmy na /var, ale muszą oni zwrócić uwagę, że wszystkie pakiety w Gentoo są
budowane w katalogu /var/tmp/portage, wobec czego katalog ten powinien zawiera
ć od około 1GB miejsca
(je
śli nie zamierzamy kompilować większych programów) do nawet 3GB (aby możliwe było zbudowanie KDE, czy
OpenOffice.org). Na pewno warto zapewni
ć dużo wolnego miejsca na /usr, ponieważ będą tam się znajdowały
nie tylko dane wszystkich zainstalowanych pakietów, ale równie
ż ważące 500 MB drzewo Portage i kody
źródłowe programów.
4.c.
Partycjonowanie dysku przy pomocy fdisk
Teraz przedstawimy proces tworzenia partycji wypisanych w naszym przyk
ładowym schemacie podziału dysku.
Oto on:
Partycja
Opis
/dev/hda1
Partycja rozruchowa
/dev/hda2
Partycja wymiany
/dev/hda3
Partycja g
łówna
Ten schemat oczywi
ście można (i zwykle należy) zmodyfikować stosownie do własnych potrzeb.
Wy
świetlanie aktualnego podziału dysku
fdisk
to popularne i bardzo wygodne narz
ędzie służące do partycjonowania dysków. Zacznijmy od
uruchomienia go dla naszego dysku (poka
żemy to na przykładzie /dev/hda):
Listing 2: Uruchamianie fdisk
Po chwili uka
że się taki znak zachęty:
Listing 3: Znak zach
ęty fdisk
Aby wy
świetlić obecną konfigurację partycji wpisujemy
p
:
Listing 4: Przyk
ładowa konfiguracja partycji
$
df -h
Filesystem Type Size Used Avail Use% Mounted on
/dev/hda5 ext3 509M 132M 351M 28% /
/dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home
/dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr
/dev/hda8 ext3 1011M 483M 477M 51% /opt
/dev/hda9 ext3 2.0G 607M 1.3G 32% /var
/dev/hda1 ext2 51M 17M 31M 36% /boot
/dev/hda6 swap 516M 12M 504M 2% <not mounted>
(Zosta
ło 2GB nie przydzielonego do żadnej partycji miejsca - do wykorzystania w przyszłości)
#
fdisk /dev/hda
Command (m for help):
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
19 z 103
2005-10-23 14:23
Na prezentowanym dysku znajduje si
ę siedem linuksowych systemów plików (każdy na osobnej partycji,
oznaczonej jako "Linux") oraz partycja wymiany (oznaczona jako "Linux swap").
Usuwanie partycji
Zacznijmy od usuni
ęcia starych partycji. Służy do tego polecenie
d
z odpowiednim dla ka
żdej partycji numerem.
Na przyk
ład, aby pozbyć się /dev/hda1 należy wpisać:
Listing 5: Usuwanie partycji
Nasza partycja zosta
ła zaznaczona do usunięcia. Nie będzie więcej pojawiać się po wpisaniu
p
, ale pozostanie
nienaruszona dopóki zmiany nie zostan
ą fizycznie zapisane na dysku. Po popełnieniu błędu przy dzieleniu dysku
wystarczy wpisa
ć
q
i wcisn
ąć enter, aby wszystkie dokonane modyfikacje poszły w niepamięć.
Aby pozby
ć się wszystkich istniejących partycji wpisujemy
p
, aby wy
świetlić ich listę, a następnie po kolei
kasujemy je poleceniem
d
z odpowiednim numerem. Na koniec
p
powinno dawa
ć następujący rezultat:
Listing 6: Pusta tablica partycji
Kiedy ju
ż nasza tymczasowa kopia tablicy partycji będzie pusta możemy rozpocząć dzielenie dysku. Pokażemy
to na przyk
ładzie naszego domyślnego schematu, który należy odpowiednio zmienić przy każdej instalacji, tak
aby mo
żliwie najlepiej spełniał konkretne przed nim stawiane zadania.
Zak
ładanie partycji rozruchowej
Rozpoczniemy od utworzenia niewielkiej partycji rozruchowej. Wpisujemy
n
, aby j
ą założyć, a następnie
p
, aby
nada
ć jej typ podstawowy i
1
, poniewa
ż będzie to pierwsza taka partycja. Zapytani o pierwszy cylinder wciskamy
enter, a przy pytaniu o ostatni wpisujemy
+32M
, by nada
ć jej rozmiar 32MB.
Listing 7: Zak
ładanie partycji rozruchowej
Command (m for help):
p
Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
/dev/hda2 15 49 264600 82 Linux swap
/dev/hda3 50 70 158760 83 Linux
/dev/hda4 71 2184 15981840 5 Extended
/dev/hda5 71 209 1050808+ 83 Linux
/dev/hda6 210 348 1050808+ 83 Linux
/dev/hda7 349 626 2101648+ 83 Linux
/dev/hda8 627 904 2101648+ 83 Linux
/dev/hda9 905 2184 9676768+ 83 Linux
Command (m for help):
Command (m for help):
d
Partition number (1-4):
1
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
Command (m for help):
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
20 z 103
2005-10-23 14:23
Teraz polecenie
p
powinno pokazywa
ć taką listę:
Listing 8: Partycja rozruchowa
Musimy równie
ż oznaczyć naszą partycję jako uruchamialną. W tym celu skorzystamy z polecenia
a
. Na
kolejnych wydrukach podzia
łu w kolumnie "Boot" przy naszej partycji pojawi się znak *.
Zak
ładanie partycji wymiany
Nast
ępnie tworzymy partycję wymiany. Ponownie korzystamy z polecenia
n
, potem wpisujemy
p
(gdy
ż ma to być
partycja podstawowa) i
2
, poniewa
ż będzie ona drugą tego typu. Zapytani o pierwszy cylinder wciskamy enter, a
w odpowiedzi na pytanie o ostatni wpisujemy
+512M
(aby nada
ć partycji rozmiar 512MB). Na koniec wpisujemy
t
(aby zmieni
ć jej typ),
2
(aby wybra
ć tę, którą właśnie stworzyliśmy) i
82
(co nada jej typ "Linux Swap"). Teraz
polecenie
p
powinno pokazywa
ć następującą listę:
Listing 9: Wydruk podzia
łu po utworzeniu partycji wymiany
Zak
ładanie partycji głównej
Na koniec tworzymy partycj
ę główną. Jeszcze raz posłużymy się poleceniem
n
. Zapytani o rodzaj wciskamy
p
(aby by
ła partycją podstawową), następnie
3
(gdy
ż będzie już trzecią tego typu, czyli w naszym przypadku
/dev/hda3
), a na pytanie o pierwszy i ostatni cylinder wciskamy enter, dzi
ęki czemu zajmie ona całą pozostałą
woln
ą przestrzeń. Ostatecznie polecenie
p
powinno pokaza
ć następującą listę:
Listing 10: Wydruk podzia
łu po utworzeniu partycji głównej
Zapisywanie podzia
łu partycji
Command (m for help):
n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4):
1
First cylinder (1-3876, default 1):
(Enter)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876):
+32M
Command (m for help):
p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
Command (m for help):
p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux swap
Command (m for help):
p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux swap
/dev/hda3 82 3876 28690200 83 Linux
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
21 z 103
2005-10-23 14:23
Aby zachowa
ć ustalony podział i opuścić
fdisk
nale
ży wpisać
w
.
Listing 11: Zachowywanie zmian i zamykanie fdisk
Po utworzeniu partycji mo
żna przejść do
zak
ładania systemów plików
.
4.d.
Zak
ładanie systemów plików
Wprowadzenie
Po utworzeniu partycji trzeba za
łożyć na nich odpowiednie systemy plików. Osoby, którym wszystko jedno jaki
system plików wybior
ą lub te, które są zadowolone z domyślnych ustawień z Podręcznika mogą przejść do
zak
ładania systemów plików na partycji
. Pozostali musz
ą czytać dalej, aby dowiedzieć się więcej na ich temat.
Systemy plików?
J
ądro Linuksa może współpracować z wieloma różnymi systemami plików. W Podręczniku omówimy te
najcz
ęściej używane, czyli ext2, ext3, ReiserFS i JFS.
ext2 to sprawdzony i popularny linuksowy system plików, którego g
łówną wadą jest to, że nie posiada
ksi
ęgowania. Powoduje to, iż jego regularne kontrole przy starcie systemu bywają długotrwałe. Obecnie istnieją
nowoczesne systemy plików z ksi
ęgowaniem, które można szybko sprawdzić i to właśnie te polecamy naszym
u
żytkownikom. Księgowanie zapobiega długotrwałym kontrolom podczas uruchamiania systemu oraz
ewentualnym b
łędom spójności danych.
ext3 to odpowiednik ext2 posiadaj
ący księgowanie w trybach full oraz ordered, dzięki czemu w razie awarii dane
odzyskiwane s
ą błyskawicznie. Jest on bardzo dobrym i niezawodnym rozwiązaniem. Posiada ukrytą opcję
korzystania z drzewa b, co znacznie poprawia wydajno
ść niemal we wszystkich sytuacjach. Księgowanie można
w
łączyć dodając opcję
-O dir_index
jako argument polecenia
mke2fs
. Krótko mówi
ąc, ext3 jest świetny.
ReiserFS to system plików oparty na drzewie B*, oferuj
ący dużą wydajność. Przy wielu małych plikach (poniżej
4k) mo
że być szybszy od ext3 nawet piętnastokrotnie. ReiserFS jest wysoce skalowalny i posiada księgowanie, a
pocz
ąwszy od jądra 2.4.18, charakteryzuje go niezawodność i użyteczność zarówno na partycjach ogólnego
przeznaczenia jak i w ekstremalnych przypadkach, takich jak ogromne partycje, operacje na wielu bardzo
ma
łych, lub bardzo dużych plikach czy też operacje na katalogach zawierających dziesiątki tysięcy plików.
XFS to system plików z ksi
ęgowaniem, w pełni wspierany w Gentoo Linux przez jądro xfs-sources. Jest bardzo
funkcjonalny i zoptymalizowany do skalowalno
ści. Zalecamy go wyłącznie do systemów z nowoczesnymi dyskami
SCSI i/lub ci
ągłego zapisu danych z nieprzerwanym dostępem zasilania. Ponieważ XFS przechowuje dużo
danych w pami
ęci RAM, źle zaprojektowane programy (te nie zachowujące odpowiednich środków ostrożności
podczas zapisywania plików na dysk, których niestety jest sporo) mog
ą doprowadzić w razie padu systemu do
utraty danych.
JFS to bardzo wydajny system plików IBM'a wyposa
żony w księgowanie. Jest dość nowy i jest jeszcze za
wcze
śnie by oceniać jego stabilność.
Zak
ładanie systemów plików na partycjach
Aby za
łożyć na woluminie lub partycji system plików należy skorzystać z odpowiednich narzędzi:
System plików
Program do jego zak
ładania
ext2
mke2fs
ext3
mke2fs -j
reiserfs
mkreiserfs
xfs
mkfs.xfs
jfs
mkfs.jfs
Na przyk
ład, aby założyć ext2 na partycji boot (w naszym przypadku /dev/hda1) oraz ext3 na partycji root (w
naszym przypadku /dev/hda3) powiniene
ś wykonać następujące polecenia:
Command (m for help):
w
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
22 z 103
2005-10-23 14:23
Listing 12: Zak
ładanie systemu plików na partycji
Teraz stwórz systemy plików na swoich partycjach.
Aktywacja partycji wymiany
Aby utworzy
ć partycję wymiany skorzystaj z programu
mkswap
.
Listing 13: Tworzenie partycji wymiany
Do aktywowania partycji wymiany u
żyj programu
swapon
:
Listing 14: Aktywacja partycji wymiany
4.e.
Montowanie
Po za
łożeniu partycji i utworzeniu na nich systemów plików nadszedł czas na ich zamontowanie. Służy do tego
program
mount
. Nie zapomnij o utworzeniu odpowiednich katalogów dla montowanych partycji. W przyk
ładzie
zamontujemy partycje boot i root:
Listing 15: Montowanie partycji
Uwaga: Je
żeli chcesz przenieść /tmp na osobną partycję, nie zapomnij po zamontowaniu odpowiednio zmienić praw
dost
ępu:
chmod 1777 /mnt/gentoo/tmp
. Dotyczy to równie
ż /var/tmp.
Konieczne b
ędzie także zamontowanie systemu plików proc (wirtualny interfejs jądra) w katalogu /proc, ale
najpierw musimy umie
ścić odpowiednie pliki na partycjach.
Kolejny rozdzia
ł to
Wypakowywanie plików instalacyjnych
.
5. Wypakowywanie plików instalacyjnych Gentoo
5.a.
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: Sprawdzenie daty/czasu
Je
żeli wyświetlane data i czas są złe, musimy je uaktualnić poleceniem
date MMDDggmmWWRR
(Miesi
ąc, Dzień,
godzina, minuta, Wiek i Rok). Na przyk
ład, aby ustawić datę 29 marca 2005 r, 16:21:
#
mke2fs /dev/hda1
#
mke2fs -j /dev/hda3
#
mkswap /dev/hda2
#
swapon /dev/hda2
#
mount /dev/hda3 /mnt/gentoo
#
mkdir /mnt/gentoo/boot
#
mount /dev/hda1 /mnt/gentoo/boot
#
date
nie sie 21 01:56:26 CEST 2005
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
23 z 103
2005-10-23 14:23
Listing 2: Ustawienie daty/czasu
Podejmowanie decyzji
W nast
ępnym kroku należy wykonać instalację wybranego tarballa stage. Można go pobrać z Internetu lub, jeśli
dzia
łamy z którejś płytki Gentoo Universal Installation CD, przekopiować z CD. Jeżeli mamy Universal CD i na
p
łycie znajduje się stage którego chcemy używać ściąganie go z Internetu jest tylko niepotrzebną stratą czasu,
gdy
ż pliki stage są takie same.
Domy
ślnie: Użycie stage z Internetu
.
Alternatywnie: Wykorzystanie stage z p
łyty instalacyjnej
.
5.b.
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 3: Przechodzenie do punktu montowania systemu plików 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
links2
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
links2
, 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 4: Ustawienie informacji o proxy dla lynxa
W dalszej cz
ęści zakładamy, że do swojej dyspozycji mamy przeglądarkę
links2
.
Przechodzimy do releases/, a nast
ępnie do katalogu odpowiedniej architektury (np. x86/) oraz wersji Gentoo
(2005.1/) i na koniec do stages/. Znajduj
ą się tam pliki stage dla wybranej architektury (czasem mogą być
umieszczone w podkatalogach dla ró
żnych podarchitektur). Wybieramy jeden i naciskamy
D
, aby go
ściągnąć.
Kiedy pobieranie dobiegnie ko
ńca wciskamy
Q
, aby wyj
ść z przeglądarki.
Listing 5: Przegl
ądanie listy serwerów lustrzanych za pomocą links2
Je
śli chcemy zweryfikować poprawność pobranych archiwów stage, musimy porównać wynik polecenia
md5sum
z
sumami MD5 udost
ępnianymi na serwerze. Np. aby sprawdzić poprawność tarballa stage dla architektury x86:
Listing 6: Sprawdzanie integralno
ści tarballa stage
Rozpakowywanie tarballa Stage
Wypakowujemy pobrany plik stage przy pomocy GNU
tar
:
#
date 032916212005
#
cd /mnt/gentoo
#
export http_proxy="http://proxy.server.com:port"
#
export ftp_proxy="http://proxy.server.com:port"
#
links2 http://www.gentoo.org/main/en/mirrors.xml
(Je
żeli potrzebne jest proxy w links2:)
#
links2 -http-proxy serwer.proxy.com:8080 http://www.gentoo.org/main/en/mirrors.xml
#
md5sum -c stage1-x86-2005.1.tar.bz2.md5
stage1-x86-2005.1.tar.bz2: OK
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
24 z 103
2005-10-23 14:23
Listing 7: Wypakowanie stage
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.
Ostrze
żenie: Pliki stage3-athlon-xp-2005.1.tar.bz2, stage3-pentium3-2005.1.tar.bz2 i
stage3-pentium4-2005.1.tar.bz2
posiadaj
ą poważny błąd związany z prawami dostępu. Po ich rozpakowaniu
nale
ży wykonać polecenie
chmod 0755 /mnt/gentoo
, które naprawi b
łąd. Trzeba tego dokonać przed przejściem do
dalszych etapów instalacji.
Uwaga: Obrazy p
łyt instalacyjnych niektórych architektur (np. MIPS) zawierają
tar
wbudowany w BusyBox, który aktualnie
nie posiada opcji
-v
, wi
ęc nie będzie ona działała.
Gdy stage jest ju
ż zainstalowany, pora przejść do
Instalacji Portage
.
5.c.
Alternatywnie: Wykorzystanie stage z p
łyty instalacyjnej
Rozpakowanie tarballa stage
Pliki stage umieszczone s
ą na CD w katalogu /mnt/cdrom/stages. Aby obejrzeć ich spis korzystamy z
polecenia
ls
:
Listing 8: Lista dost
ępnych wersji stage
Je
śli system zgłasza błąd to możliwe, że musimy najpierw zamontować CD-ROM:
Listing 9: Montowanie CD-ROM
Teraz przechodzimy do punktu montowania Gentoo (zwykle /mnt/gentoo):
Listing 10: Zmiana katalogu na /mnt/gentoo
Nast
ępnie wypakowujemy wybrany tarball. Użyjemy do tego celu GNU
tar
. Prze
łączniki (
-xvjpf
) musz
ą być
takie same! Nale
ży pamiętać, że argument
v
jest opcjonalny i nie jest obs
ługiwany przez pewne wersje programu
tar
. W kolejnym przyk
ładzie wykorzystujemy plik stage3-<podarchitektura>-2005.1.tar.bz2.
Oczywi
ście jego nazwę należy odpowiednio zmodyfikować.
Listing 11: Wypakowanie tarballa stage
Ostrze
żenie: Pliki stage3-athlon-xp-2005.1.tar.bz2, stage3-pentium3-2005.1.tar.bz2 i
stage3-pentium4-2005.1.tar.bz2
posiadaj
ą poważny błąd związany z prawami dostępu. Po ich rozpakowaniu
nale
ży wykonać polecenie
chmod 0755 /mnt/gentoo
, które naprawi b
łąd. Trzeba tego dokonać przed przejściem do
dalszych etapów instalacji.
Gdy stage zostanie zainstalowany, przechodzimy do
Instalacji Portage
.
#
tar -xvjpf stage3-<subarch>-2005.1.tar.bz2
#
ls /mnt/cdrom/stages
#
ls /mnt/cdrom/stages
ls: /mnt/cdrom/stages: No such file or directory
#
mount /dev/cdroms/cdrom0 /mnt/cdrom
#
ls /mnt/cdrom/stages
#
cd /mnt/gentoo
#
tar -xvjpf /mnt/cdrom/stages/stage3-<subarch>-2005.1.tar.bz2
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
25 z 103
2005-10-23 14:23
5.d.
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 12: Przechodzenie do punktu montowania Gentoo
Uruchamiamy
links2
(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 poprzez jego wybranie i naci
śnięcie klawisza
D
.
Listing 13: Przegl
ądanie listy mirrorów Gentoo
Teraz wychodzimy z przegl
ądarki naciskając klawisz
Q
. Plik snapshot znajduje si
ę teraz w /mnt/gentoo. 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 14: Wypakowywanie snapshota Portage
5.e.
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/etc/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 15: Edytowanie /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.
CHOST
#
cd /mnt/gentoo
#
links2 http://www.gentoo.org/main/en/mirrors.xml
(Zast
ępujemy wartość <data> to przez nas pożądaną)
#
tar -xvjf /mnt/gentoo/portage-<data>.tar.bz2 -C /mnt/gentoo/usr
#
nano -w /mnt/gentoo/etc/make.conf
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
26 z 103
2005-10-23 14:23
Ostrze
żenie: Mimo, że może to kusić tych, którzy nie korzystają ze stage1, nie należy zmieniać ustawienia
CHOST
w
make.conf
. Dokonanie tego mo
że zepsuć cały system. Powtarzamy: tę zmienną modyfikuje się tylko podczas instalacji
ze stage1.
Zmienna
CHOST
definiuje architektur
ę, pod którą za pomocą
gcc
b
ędą kompilowane programy. Możliwe jej
warto
ści:
Architektura
Podarchitektura
Ustawienia CHOST
x86
i386
i386-pc-linux-gnu
x86
i486
i486-pc-linux-gnu
x86
i586
i586-pc-linux-gnu
x86
i686 i wy
żej (także athlon)
i686-pc-linux-gnu
alpha
alpha-unknown-linux-gnu
ppc
powerpc-unknown-linux-gnu
ppc64
powerpc64-unknown-linux-gnu
sparc
sparc-unknown-linux-gnu
sparc64
sparc-unknown-linux-gnu
hppa
(uniwersalne)
hppa-unknown-linux-gnu
hppa
pa7000
hppa1.1-unknown-linux-gnu
hppa
pa8000 i wy
żej
hppa2.0-unknown-linux-gnu
mips
mips-unknown-linux-gnu
amd64
x86_64-pc-linux-gnu
Upewniamy si
ę, czy na pewno dobrze ustawiliśmy zmienną CHOST. Na przykład, zmienna CHOST dla sparc64
to nadal
sparc-unknown-linux-gnu
, a nie
sparc64-unknown-linux-gnu
!
U
żytkownicy zainteresowani bootstrapowaniem systemu z obsługą NPTL w architekturze x86 muszą ustawić
CHOST na
i586-pc-linux-gnu
lub wy
ższy.
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=
, która okre
śla docelową architekturę. Możliwe
jej warto
ści są opisane jako komentarze w make.conf.example. Na przykład dla architektury x86 Athlon XP
b
ędzie to:
Listing 16: Ustawienie GCC march
Prosimy, upewnijcie si
ę, że macie poprawnie ustawiony CHOST. Na przykład ustawienie CHOST dla sparc64 to
sparc-unknown-linux-gnu
, a nie
sparc64-unknown-linux-gnu
!
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). Jako przykład posłuży nam klasa optymalizacji 2:
# U
żytkownicy AMD64, którzy chcą mieć natywny system 64bit powinni używać flagi -march=k8
# U
żytkownicy EM64T powinni wybrać march=nocona
-march=athlon-xp
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
27 z 103
2005-10-23 14:23
Listing 17: Ustawienia optymalizacji poprzez GCC
Inne popularne flagi optymalizuj
ące to
-pipe
(gcc u
żywa potoków zamiast plików tymczasowych w komunikacji
mi
ędzy różnymi etapami kompilacji) oraz
-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, na przykład w ten sposób:
Listing 18: Definiowanie zmiennych CFLAGS i CXXFLAGS
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 19: MAKEOPTS dla przeci
ętnego systemu jednoprocesorowego
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
.
6. Instalowanie systemu podstawowego
6.a.
Praca w chroot
Opcjonalnie: Wybieranie serwerów lustrzanych
Aby móc szybko
ściągać źródła programów musisz wybrać szybki serwer lustrzany. Portage używa serwerów
zawartych w zmiennej GENTOO_MIRRORS, która znajduje si
ę w pliku make.conf. Aby zobaczyć listę
serwerów, które znajduj
ą się niedaleko ciebie możesz wejść na strone
mirror list
lub u
żyć sympatycznego
narz
ędzia
mirrorselect
, który udost
ępnia prosty sposób wyboru serwerów lustrzanych
Listing 1: Sposób u
życia programu mirrorselect
Ostrze
żenie: Nie wybieraj żadnych serwerów IPv6. Nasze pliki stage aktualnie nie wspierają IPv6.
Nast
ępną ważną sprawą jest ustawienie zmiennej SYNC w pliku make.conf. Zmienna ta wskazuje na serwer
rsync'a, z którego b
ędzie uaktualniane drzewo Portage (kolekcje ebuildów, czyli skryptów które zawierają
wszystkie informacje potrzebne do
ściągnięcia i zainstalowania programów). Możesz ręcznie wpisać serwer,
którego chcesz u
żywać lub skorzystać z programu
mirrorselect
:
Listing 2: Wybór serwera rsync'a za pomoc
ą programu mirrorselect
Po konfiguracji plików za pomoc
ą programu
mirrorselect
zaleca si
ę podwójne sprawdzenie ustawień w pliku
/mnt/gentoo/etc/make.conf
!
-O2
CFLAGS="-march=athlon-xp -pipe -O2"
# U
żytkownicy AMD64 powinni używać flagi march=k8
# U
żytkownicy EM64T powinni wybrać march=nocona
CXXFLAGS="${CFLAGS}"
# U
życie tych samych ustawień dla obu zmiennych
MAKEOPTS="-j2"
#
mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
#
mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
28 z 103
2005-10-23 14:23
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 3: Kopiowanie informacji o DNS
Montowanie systemu plików proc
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.
Listing 4: Montowanie /proc
Zmiana
środowiska
Teraz, gdy wszystkie partycje s
ą już założone, a podstawowe środowisko zainstalowane, nadszedł czas
wkroczenia w nie poprzez chroot. Oznacza to przej
ście z systemu źródła instalacyjnego (livecd lub innego) do
systemu instalowanego (czyli na za
łożone partycje).
Przechodzenie odbywa sie w trzech etapach. Najpierw zamieniamy katalog z / (na medium 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 5: Zmiana
środowiska poprzez chroot
Gratulacje! Znajdujesz si
ę wewnątrz nowego systemu Gentoo Linux. Oczywiście do końca jeszcze daleko i to jest
powód, dla którego zosta
ło jeszcze kilka rozdziałów Podręcznika. :]
Opcjonalnie: Aktualizacja drzewa Portage
Nale
ży teraz uaktualnić drzewo Portage. Dokonujemy tego poleceniem
emerge --sync
.
Listing 6: Aktualizowanie drzewa Portage
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 snapshot
drzewa Portage przy za pomoc
ą protokołu HTTP.
Listing 7: Aktualizacja drzewa Portage poprzez emerge-webrsync
Je
śli otrzymamy ostrzeżenie, że dostępna jest nowa wersja programu Portage i należy dokonać jego aktualizacji,
mo
żemy je zignorować. Portage zostanie zaktualizowane nieco później.
Wybór odpowiedniego profilu
(Opcja "-L" jest konieczna, sprawia,
że nie zostanie skopiowane dowiązanie symboliczne)
#
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
#
mount -t proc none /mnt/gentoo/proc
#
chroot /mnt/gentoo /bin/bash
#
env-update
* Caching service dependencies...
#
source /etc/profile
#
emerge --sync
(Dla wolnych terminali, takich jak konsola bufora ramki, nale
ży dodać parametr --quiet dla przyspieszenia całego procesu)
#
emerge --sync --quiet
#
emerge-webrsync
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
29 z 103
2005-10-23 14:23
Najpierw ma
ła definicja.
Profil jest szablonem budowy systemu Gentoo. Nie tylko okre
śla domyślne wartości dla CHOST, CFLAGS i
innych wa
żnych zmiennych, ale również ogranicza wersje pakietów jakie mogą zostać zainstalowane w systemie.
Wszystkie te informacje s
ą utrzymywane przez developerów Gentoo.
Dawniej, u
żytkownik w bardzo małym stopniu miał wpływ na profil. Jednakże ostatnio użytkownicy architektur x86,
hppa i alpha mog
ą wybierać między dwoma profilami, jednym dla jąder serii 2.4 i drugim dla jąder serii 2.6.
Wymaganie takie wynik
ło z potrzeby lepszej integracji jąder serii 2.6. Architektury ppc i ppc64 mają kilka różnych
profili do wyboru, szczegó
łowo omówimy je później.
Aktualnie u
żywany profil można sprawdził za pomocą poniższego polecenia:
Listing 8: Sprawdzanie profilu systemowego
W przypadku jednej z trzech wspomnianych wcze
śniej architektur zostanie wyświetlony dodatkowy profil w
dowi
ązaniu symbolicznym make.profile.
Listing 9: Sprawdzanie, czy istnieje dodatkowy profil
Powy
ższy przykład wskazuje na to, że istnieje dodatkowy profil dla jądra 2.4 (nie pojawił się błąd związany z
nieistniej
ącym katalogiem). Zalecamy pozostanie przy domyślnym profilu, jeśli jednak konieczne jest skorzystanie
z 2.4, mo
żna go ustawić w następujący sposób:
Listing 10: Przechodzenie na profil 2.4
W wydaniu 2005.1 pojawi
ła się cała seria nowych profili dla architektury ppc.
Listing 11: Profile dla PPC
Architektura ppc64 od wydania 2005.1 równie
ż posiada szereg nowych profili.
Listing 12: Profile dla PPC64
#
ls -FGg /etc/make.profile
lrwxrwxrwx 1 48 Apr 8 18:51 /etc/make.profile -> ../usr/portage/profiles/default-linux/x86/2005.1/
#
ls -d /usr/portage/profiles/default-linux/x86/2005.1/2.4
/usr/portage/profiles/default-linux/x86/2005.1/2.4
(x86 poni
żej należy zastąpić nazwą konkretnej architektury, jeśli to konieczne)
#
ln -snf /usr/portage/profiles/default-linux/x86/2005.1/2.4 /etc/make.profile
(Lista plików profilu 2.4)
#
ls -FGg /etc/make.profile/
total 12
-rw-r--r-- 1 939 Dec 10 14:06 packages
-rw-r--r-- 1 347 Dec 3 2004 parent
-rw-r--r-- 1 573 Dec 3 2004 virtuals
(Wspólny dla wszysstkich podarchitektur g
łówny profil PPC)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc /etc/make.profile
(Profil G3)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc/G3 /etc/make.profile
(Profil G3 i Pegasos)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc/G3/Pegasos/ /etc/make.profile
(Profil G4 (Altivec)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc/G4 /etc/make.profile
(Profil G4 Pegasos)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc/G4/Pegasos/ /etc/make.profile
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
30 z 103
2005-10-23 14:23
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
żesz 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
definiujesz 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 (zwró
ć uwagę na znak minusa z przodu). Ustawienie gnome gtk -kde -qt 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
natomiast chcemy co
ś z niej usunąć wpisujemy wybraną flagę ze znakiem minus na początku.
Pe
łny opis
USE
znajduje si
ę w drugiej części Podręcznika Gentoo, w rozdziale
Flagi USE
. Kompletn
ą
charakterystyk
ę dostępnych flag USE znajdziesz w pliku /usr/portage/profiles/use.desc.
Listing 13: Przegl
ąd dostępnych flag USE
Jako przyk
ład przedstawimy flagi
USE
dla systemu bazuj
ącego na KDE ze wsparciem dla DVD, ALSA i
nagrywania CD:
Listing 14: Edytowanie /etc/make.conf
Listing 15: Ustawienia USE
Opcjonalnie: Lokalizacje GLIBC
Zwykle w systemie u
żywa się tylko jednej, góra dwóch lokalizacji. Po skompilowaniu
glibc
dost
ępne są
wszystkie jakie kiedykolwiek zosta
ły stworzone. Możemy aktywować flagę USE
userlocales
i zdecydowa
ć w
pliku /etc/locales.build, których lokali b
ędziemy potrzebować. Należy robić to tylko wtedy, gdy ma się
dok
ładną wiedzę na temat tego co należy wybrać! Nowe ustawiania nie zadziałają podczas bootstrapu, będą
aktywne dopiero po ponownym skompilowaniu glibc.
(Wspólny 64-bitowy profil dla wszystkich komputerów PPC64)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc64/64bit-userland /etc/make.profile
(Wspólny 32-bitowy profil dla wszystkich komputerów PPC64)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc64/32bit-userland /etc/make.profile
(Ka
żdy z profili posiada podprofile, należy zastąpić wpis (userland) jedną z powyższych pozycji)
(Profil 970 dla JS20)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc64/(userland)/970 /etc/make.profile
(Profil G5)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc64/(userland)/970/pmac /etc/make.profile
(Profil POWER3)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc64/(userland)/power3 /etc/make.profile
(Profil POWER4)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc64/(userland)/power4 /etc/make.profile
(Profil POWER5)
#
ln -snf /usr/portage/profiles/default-linux/ppc/2005.1/ppc64/(userland)/power5 /etc/make.profile
(Profil multilib nie jest jeszcze stabilny w tym wydaniu)
#
less /usr/portage/profiles/use.desc
(U
żyj strzałek aby przewijać plik. Aby wyjść naciśnij 'q')
#
nano -w /etc/make.conf
USE="-gtk -gnome qt kde dvd alsa cdr"
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
31 z 103
2005-10-23 14:23
Listing 16: Aktywacja flagi userlocales dla glibc
Nast
ępnie decydujemy, których lokali zamierzamy używać:
Poni
ższy przykład to lokalizacje polskie oraz angielskie (Ameryka)z obsługą kodowania znaków (jak UTF-8).
Listing 17: nano -w /etc/locales.build
6.b.
Ró
żnice między Stage1, Stage2 i Stage3
Usi
ądźmy teraz wygodnie i przemyślmy poprzednie czynności. Prosiliśmy o wybranie stage1, stage2 lub stage3 i
ostrzegali
śmy, że ten wybór zadecyduje o dalszym przebiegu instalacji. W tym miejscu po raz pierwszy ma on
wp
ływ na nasze działania.
Je
śli wybrałeś stage1 musisz wykonać obydwa kroki opisane w tym rozdziale (zaczynając od
Przechodzenia ze Stage1 do Stage2
).
Gdy za pocz
ątek instalacji obrałeś stage2 możesz pominąć pierwszy krok i od razu przejść do drugiego
(
Przechodzenie ze Stage2 do Stage3
).
Instalacja z etapu trzeciego (stage3) wymaga
aktualizacji pakietu baselayout
.
Je
żeli zaczynasz od stage3, możesz pominąć obydwa kroki i przejść do następnego rozdziału, czyli
Konfiguracji j
ądra
.
6.c.
Przechodzenie ze Stage1 do Stage2
Wprowadzenie do procesu bootstrap
Widz
ę, że masz ochotę kompilować wszystko od podstaw? Nie ma sprawy :-)
W tym etapie wykonamy bootstrap Gentoo. Potrwa to stosunkowo d
ługo, ale utworzony system będzie
zoptymalizowany i dostosowany dla sprz
ętu i specyficznych wymagań użytkownika.
Proces bootstrap to budowanie biblioteki GNU C, zestawu kompilatorów GNU i kilku innych niezb
ędnych do
budowy systemu programów.
Zanim rozpoczniemy bootstrap, wymienimy kilka opcji, które mo
żna wybrać lub odrzucić. Jeśli nie jesteś tym
zainteresowany od razu przejd
ź do paragrafu
Bootstrap systemu
.
Opcjonalnie: Wcze
śniejsze pobranie źródeł
Je
śli wcześniej nie przekopiowano kodu źródłowego skrypt bootstrap pobierze wszystkie potrzebne pliki. Jeśli
zamierzamy najpierw
ściągnąć źródła, a dopiero potem wykonać bootstrap systemu (np. dlatego, że nie chcemy
mie
ć otwartego połączenia z Internetem podczas kompilowania) używamy przełącznika -f skryptu bootstrap, co
spowoduje pobranie wszystkich niezb
ędnych plików.
Listing 18: Pobieranie niezb
ędnych źródeł
Bootstrap systemu
W porz
ądku, zatem chwytamy klawiaturę i wpisujemy kilka kolejnych poleceń - zaczynamy bootstrap. Następnie
mo
żemy poszukać rozrywki przy czymś innym, ponieważ ukończeniu tego etapu zajmie mnóstwo czasu.
#
mkdir -p /etc/portage
#
echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
en_US/ISO-8859-1
en_US.UTF-8/UTF-8
pl_PL/ISO-8859-2
pl_PL.UTF-8/UTF-8
#
cd /usr/portage
#
scripts/bootstrap.sh -f
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
32 z 103
2005-10-23 14:23
Listing 19: Bootstrap systemu
Pora na kolejny etap,
Przechodzenie ze Stage2 do Stage3
.
6.d.
Przechodzenie ze Stage2 do Stage3
Wprowadzenie
Czytasz ten paragraf, bo wykona
łeś bootstrap (ręcznie lub dzięki stage2). Teraz nadeszła pora na zbudowanie
pakietów nale
żących do systemu.
Czy budujemy wszystkie pakiety systemowe? Nie, nie wszystkie. W tym etapie budujemy tylko te paczki, co do
których nie mamy wyboru. Niektóre z nich maj
ą kilka alternatyw (choćby programy logujące). W Gentoo o
wszystkim mo
żesz decydować samodzielnie, my tylko pomożemy w dokonaniu wyboru krótko omawiając każdą
z mo
żliwości.
Opcjonalnie: Przegl
ądanie zadań do wykonania
Aby dowiedzie
ć się jakie pakiety zostaną zainstalowane należy wykonać polecenie
emerge --pretend
--emptytree system
. Otrzymamy spis wszystkich programów jakie zostan
ą zbudowane. Ponieważ ta lista
jest ca
łkiem spora, powinno się użyć programu stronicującego w rodzaju
less
lub
more
, pozwalaj
ącego
porusza
ć się w górę i w dół listy.
Listing 20: Co zainstaluje emerge system?
Warto zauwa
żyć, że jeśli nie zmieniano ustawień CFLAGS i CXXFLAGS wystarczy użycie
emerge --pretend
--newuse system
. Polecenie to przebuduje wszystkie pakiety, którym zmieniono ustawienia flag USE (w
porównaniu z tymi u
żytymi podczas budowy stage2). Jeśli i flagi USE nie były zmieniane to znaczy, że instalacja z
etapu drugiego by
ła zwykłą stratą czasu.
Opcjonalnie: Pobieranie
źródeł
Aby
emerge
pobra
ł źródła przed rozpoczęciem całego (na przykład dlatego, że nie chcesz mieć otwartego
po
łączenia z Internetem podczas budowania wszystkich pakietów) używamy opcji --fetchonly programu
emerge
-
co spowoduje uprzednie
ściągnięcie potrzebnych plików.
Listing 21: Pobieranie
źródeł
Budowanie systemu
Aby rozpocz
ąć budowanie systemu wpisujemy polecenie
emerge --emptytree system
. A potem mamy
du
żo czasu dla siebie: możemy odrobić lekcje, poczytać książkę, możemy też posprzątać pokój - cały ten proces
zajmie mnóstwo czasu.
Listing 22: Budowanie systemu
Po raz kolejny przypominamy,
że jeśli nie zmieniano ustawień CFLAGS i CXXFLAGS to wystarczy tu parametr
--newuse
Na typ etapie mo
żna jeszcze bezpiecznie zignorować ostrzeżenia o nowszych wersjach plików konfiguracyjnych
(i potrzebie uruchomienia
etc-update
). W przysz
łości, kiedy Gentoo zostanie już zainstalowane i uruchomione
polecamy przeczytanie naszej dokumentacji dotycz
ącej
Ochrony plików konfiguracyjnych
.
#
cd /usr/portage
#
scripts/bootstrap.sh
#
emerge --pretend --emptytree system | less
#
emerge --fetchonly --emptytree system
#
emerge --emptytree system
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
33 z 103
2005-10-23 14:23
Kolejny etap instalacji to
Konfiguracja j
ądra
7. Konfigurowanie j
ądra
7.a.
Strefa czasowa
System musi wiedzie
ć gdzie się znajduje, musimy zatem poprawnie skonfigurować jego ustawienia strefy
czasowej. Zaczynamy od wyszukania odpowiedniej dla nas strefy w katalogu /usr/share/zoneinfo, a
nast
ępnie przy pomocy polecenia
ln
dowi
ązujemy ją w /etc/localtime. Należy unikać stref czasowych o
nazwie /usr/share/zoneinfo/Etc/GMT*, poniewa
ż ich nazwy mogą być mylące, na przykład GMT-8 jest w
rzeczywisto
ści GMT+8.
Listing 1: Ustawianie strefy czasowej
7.b.
Instalowanie
źródeł
Wybór j
ądra
J
ądro Linux jest sercem każdej dystrybucji i stanowi interfejs pomiędzy programami użytkownika, a sprzętem.
Gentoo pozwala u
żytkownikom na wybranie spośród kilku różnych jego źródeł. Pełna ich lista wraz z opisami
znajduje si
ę w dokumencie
Gentoo Linux Kernel Guide
.
Dla architektury x86 dost
ępne są następujące jądra:
vanilla-sources
(standardowe
źródła serii 2.4 rozwijane
przez deweloperów Linuksa), oraz nasze
gentoo-sources
(
źródła z poprawkami zwiększającymi wydajność).
Wybrane
źródła instaluje się przy pomocy polecenia
emerge
.
Listing 2: Instalowanie
źródeł jądra
W katalogu /usr/src, pod nazw
ą
linux
, powinno znajdowa
ć się mniej więcej takie dowiązanie symboliczne
wskazuj
ące na aktualne źródła:
Listing 3: Podgl
ąd dowiązania symbolicznego do źródeł jądra
Je
śli informacje z dowiązania nie pokrywają się z rzeczywistością (np. wskazuje na inne źródła, niż te aktualnie
u
żywane) to konieczne będzie jego poprawienie przed przejściem do dalszych etapów instalacji.
Listing 4: Zmiana dowi
ązania symbolicznego do źródeł jądra
Pora na skonfigurowanie i skompilowanie
źródeł jądra. Można użyć do tego programu
genkernel
, który zbuduje
uniwersalne j
ądro, takie jak to znajdujące się na płytach instalacyjnych. Można również przeprowadzić cały
proces r
ęcznie, co pozwoli na lepsze dostosowanie jądra do indywidualnych potrzeb użytkownika. Najpierw
omówimy t
ę drugą, znacznie lepszą metodę.
Proces r
ęcznej konfiguracji jądra został opisany w paragrafie
Domy
ślnie: ręczna konfiguracja
. Opis u
życia
genkernela
znajduje si
ę w części
Alternatywnie: u
życie genkernel
.
7.c.
Domy
ślnie: Ręczna konfiguracja
#
ls /usr/share/zoneinfo
(przy za
łożeniu, że nasza strefa to "Poland")
#
ln -sf /usr/share/zoneinfo/Poland /etc/localtime
#
emerge gentoo-sources
#
ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.11-gentoo-r3
#
rm /usr/src/linux
#
cd /usr/src
#
ln -s linux-2.6.11-gentoo-r3 linux
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
34 z 103
2005-10-23 14:23
Wprowadzenie
R
ęczna konfiguracja jądra to zwykle najtrudniejsze zadanie przed jakim musi stanąć każdy początkujący
u
żytkownik Linuksa. Zwykle po skompilowaniu kilku zapomina się, że kiedykolwiek uważało się to za trudną
czynno
ść. :]
Nie sposób jednak zaprzeczy
ć, że należy dobrze znać swój komputer, aby móc prawidłowo skonfigurować jądro.
Wi
ększość informacji można zdobyć poprzez instalację pakietu pciutils (
emerge pciutils
) zawieraj
ącego
program
lspci
. Dzi
ęki temu będzie możliwe używanie
lspci
wewn
ątrz chrootowanego środowiska. Podczas
pracy z tym programem mo
żna bezpiecznie zignorować wszelkie ostrzeżenia związane z pcilib (jak np. "pcilib:
cannot open /sys/bus/pci/devices). Ponadto mo
żna również uruchomić
lspci
poza
środowiskiem chroot.
Powinno da
ć to taki sam efekt. Dodatkowe informacje o sterownikach, które należy włączyć do jądra można
uzyska
ć dzięki poleceniu
lsmod
, które poka
że listę modułów jakie załadował system płyty instalacyjnej.
Kiedy ju
ż zbierzemy wszystkie informacje przechodzimy do katalogu ze źródłami i wpisujemy polecenie
make
menuconfig
. Uruchomi si
ę menu konfiguracyjne oparte na bibliotekach graficznych ncurses.
Listing 5: Wywo
ływanie menu konfiguracyjnego
Ca
ła konfiguracja została podzielona na kilka sekcji, co znacznie ułatwia odnalezienie i wybranie odpowiednich
sterowników. Poni
żej wymieniamy wszystkie opcje, które należy włączyć, aby Gentoo mogło prawidłowo
funkcjonowa
ć.
Zaznaczanie wymaganych ustawie
ń
Przede wszystkim nale
ży zapewnić sobie możliwość korzystania z rozwojowych i eksperymentalnych fragmentów
kodu j
ądra. Jeśli się z tego zrezygnuje to zniknie kilka bardzo ważnych ustawień.
Listing 6: Wybieranie opcji experimental code/drivers, general setup
Wszystkie sterowniki potrzebne do wystartowania systemu (takie jak kontroler SCSI) musz
ą być wkompilowane
na sta
łe w jądro - nie należy ich dodawać w formie modułów.
Na samym pocz
ątku należy wybrać odpowiednią dla posiadanego sprzętu rodzinę procesorów:
Listing 7: Wybór rodziny procesorów
Nast
ępnie przechodzimy do
File Systems
i wybieramy obs
ługę systemów plików, z których zamierzamy
u
żywać. Jeśli pominiemy ten krok, to Gentoo nie będzie w stanie zamontować niektórych partycji lub nawet się nie
uruchomi. Sterowniki te równie
ż powinny być wkompilowane w jądro na stałe, nie należy ich dodawać w
modu
łach. Oprócz tego zaznaczamy opcje
Virtual memory
i
/proc file system
. U
żytkownicy jąder serii
2.6 nie powinni zaznacza
ć
/dev file system
, Gentoo korzysta teraz z systemu
udev
. U
żytkownicy jąder 2.4
wci
ąż muszą korzystać z
/dev file system
, poniewa
ż jądra te nie obsługują
udev
.
Listing 8: Wybór potrzebnych systemów plików
#
cd /usr/src/linux
#
make menuconfig
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Processor type and features --->
(Change according to your system)
(
Athlon/Duron/K7
) Processor family
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
35 z 103
2005-10-23 14:23
Je
śli BIOS nie radzi sobie z dużymi dyskami i konieczne było ograniczenie maksymalnego ich rozmiaru przy
pomocy jumpera warto zaznaczy
ć poniższą opcję, co umożliwi uzyskanie dostępu również do niewidocznej dla
BIOS-u cz
ęści urządzenia.
Listing 9: Zaznaczanie opcji Auto-Geometry Resizing
Nie zapominajmy o w
łączeniu DMA dla dysków:
Listing 10: W
łączanie obsługi DMA
U
żytkownicy łączący się z Internetem za pomocą PPoE i połączeń dial-up powinni zaznaczyć również:
Listing 11: Sterowniki niezb
ędne dla użytkowników PPPoE
Obie opcje dotycz
ące kompresji nie są wprawdzie wymagane, ale również nie zaszkodzą naszemu systemowi,
podobnie zreszt
ą jak opcja
PPP over Ethernet
, która jest przydatna tylko gdy skonfiguruje si
ę
rp-pppoe
do
pracy w trybie PPPoE j
ądra (kernel mode PPPoE).
Nale
ży wkompilować odpowiednie sterowniki dla wszystkich posiadanych kart sieciowych.
(dla j
ąder 2.4.X)
File systems --->
[*] Virtual memory file system support (former shm fs)
[*] /proc file system support
[*] /dev file system support (EXPERIMENTAL)
[*] automatically mount /dev at boot
[ ] /dev/pts file system for Unix98 PTYs
(Dla j
ąder 2.6.X)
General setup --->
[*] Support for hot-pluggable devices
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[ ] /dev file system support (OBSOLETE)
[*] Virtual memory file system support (former shm fs)
(Zaznaczamy opcje odpowiednie dla u
żywanych systemów plików)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> JFS filesystem support
<*> Second extended fs support
<*> XFS filesystem support
(wy
łącznie dla jąder 2.4.X)
ATA/IDE/MFM/RLL support --->
IDE, ATA and ATAPI Block devices --->
<*> Include IDE/ATA-2 DISK support
[ ] Use multi-mode by default
[*] Auto-Geometry Resizing support
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
[*] Generic PCI bus-master DMA support
[*] Use PCI DMA by default when available
(Dla j
ąder 2.4.x)
Network device support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
(Dla j
ąder 2.6.x)
Device Drivers --->
Networking support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
36 z 103
2005-10-23 14:23
Posiadacze procesorów z HyperThreading oraz komputerów wieloprocesorowych powinni zadba
ć o to, aby
zosta
ła zaznaczona opcja "Symmetric multi-processing support":
Listing 12: W
łączanie obsługi SMP
Wszystkie urz
ądzenia działające na USB (jak myszka czy klawiatura) również wymagają skompilowania
w
łaściwych sterowników:
Listing 13: Aktywowanie obs
ługi urządzeń wejściowych używających USB
Posiadacze laptopów z PCMCIA nie powinni korzysta
ć ze sterowników dla PCMCIA w jądrach 2.4. Nowsze
sterowniki s
ą dostępne w pakiecie
pcmcia-cs
, który zainstalujemy po skompilowaniu j
ądra. Podobnych
problemów nie ma ze sterownikami PCMCIA j
ąder serii 2.6.
Poza sterownikami PCMCIA u
żytkownicy jąder serii 2.6 muszą również wkompilować obsługę dla mostka
posiadanej karty PCMCIA.
Listing 14: W
łączanie obsługi PCMCIA w jądrach 2.6
Po zako
ńczeniu konfigurowania jądra przechodzimy do paragrafu
kompilowanie i instalowanie
.
Kompilowanie i instalowanie
Po skonfigurowaniu kernela przysz
ła pora na jego skompilowanie i instalację. Opuszczamy program
konfiguracyjny i rozpoczynamy proces kompilacji:
Listing 15: Kompilowanie j
ądra
Kiedy j
ądro skończy się kompilować należy przekopiować jego obraz do katalogu /boot. W przykładzie
zak
ładamy, że właśnie zostały skompilowane źródła
gentoo-sources
w wersji 2.6.11-r3. Mo
żna wybrać
dowoln
ą nazwę dla obrazu, będziemy jej używać wyłącznie przy konfigurowaniu bootloadera.
Listing 16: Instalowanie j
ądra
Warto równie
ż na wszelki wypadek skopiować do /boot plik konfiguracyjny jądra.
Processor type and features --->
[*] Symmetric multi-processing support
USB Support --->
<*> USB Human Interface Device (full HID) support
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support
(starsze karty wymagaj
ą tu opcji 16 bit - zapewne większość użytkowników zechce włączyć tą opcję)
<*> 16-bit PCMCIA support
[*] 32-bit CardBus support
(wybieramy odpowiednie mostki)
--- PC-card bridges
<*> CardBus yenta-compatible bridge support (NEW)
<*> Cirrus PD6729 compatible bridge support (NEW)
<*> i82092 compatible bridge support (NEW)
<*> i82365 compatible bridge support (NEW)
<*> Databook TCIC host bridge support (NEW)
(dla j
ąder 2.4)
#
make dep && make bzImage modules modules_install
(dla j
ąder 2.6)
#
make && make modules_install
#
cp arch/i386/boot/bzImage /boot/kernel-2.6.11-gentoo-r3
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
37 z 103
2005-10-23 14:23
Listing 17: Kopia zapasowa pliku konfiguracyjnego j
ądra
Nast
ępnie przechodzimy do akapitu dotyczącego
modu
łów
.
7.d.
Alternatywnie: u
życie genkernela
Ten paragraf jest przeznaczony dla u
żytkowników, którzy zdecydowali się użyć programu
genkernel
do
skonfigurowania j
ądra.
Po zainstalowaniu
źródeł należy je skonfigurować. Zrobimy to automatycznie przy pomocy programu
genkernel
, który wykonuje ca
ły proces dokładnie w ten sam sposób w jaki jest konfigurowane jądro na płycie
instalacyjnej. Konsekwencj
ą wyboru genkernela jest to, że system będzie zmuszony do wykrywania dostępnego
sprz
ętu przy każdym uruchomieniu komputera. W związku z tym, że genkernel nie wymaga od użytkownika
żadnych ręcznych poprawek w konfiguracji, jest doskonałym rozwiązaniem dla tych wszystkich, którzy nie są
najmocniejsi w samodzielnym kompilowaniu j
ądra.
Zanim jednak zdradzimy jak u
żywa się tego cudownego programu musimy wytłumaczyć jak go zainstalować:
Listing 18: Instalowanie genkernela
U
żytkownicy jąder serii 2.6 mogą od razu skopiować konfigurację z płyty instalacyjnej do miejsca skąd będzie
móg
ł odczytać ją genkernel.
Listing 19: Kopiowanie konfiguracji genkernela z p
łyty instalacyjnej
Źródła skompilujemy przy pomocy polecenia
genkernel --udev all
(dla j
ąder 2.6) lub
genkernel all
(dla j
ąder 2.4). Kompilowanie zajmie mnóstwo czasu, ponieważ
genkernel
zawiera niemal wszystkie dost
ępne
sterowniki.
Je
śli na partycji rozruchowej został stworzony inny system plików niż ext2 lub ext3 to konieczne będzie dodanie
potrzebnych sterowników, które mo
żna wybrać za pomocą menu wywołanego poleceniem
genkernel
--menuconfig all
. Sterowniki te musz
ą być wkompilowane w jądro na stałe, nie można dodawać ich w
postaci modu
łów. Użytkownicy EVMS2 lub LVM2 powinni dodać również
--evms2
lub
--lvm2
do listy
argumentów.
Listing 20: Uruchamianie genkernela
W toku tego procesu powstanie w
łaściwy plik jądra, initrd (initial root disk) oraz ogromna rzesza modułów. Nazwy
plików j
ądra i initrd będą potrzebne przy konfiguracji bootloadera do prawidłowego wypełnienia jego pliku
konfiguracyjnego, wi
ęc warto je sobie zapisać. Przy następnym uruchomieniu komputera zostanie najpierw
wykonany plik initrd, który wykryje ca
ły dostępny sprzęt i wczyta odpowiednie moduły, a następnie uruchomi się
w
łaściwy system.
Listing 21: Sprawdzanie nazw utworzonych plików j
ądra
Nast
ępna czynność jeszcze bardziej upodobni nasz system do tego dostępnego na płycie instalacyjnej,
zemergujemy
coldplug
. Podczas gdy initrd automatycznie wykrywa sprz
ęt, co jest niezbędne do uruchomienia
systemu,
coldplug
b
ędzie wykrywał wszystko inne. Aby zemergować i uaktywnić
coldplug
nale
ży wpisać:
#
cp .config /boot/config-2.6.11-gentoo-r3
#
emerge genkernel
(wy
łącznie dla użytkowników jąder serii 2.6)
#
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
(dla j
ąder 2.6)
#
genkernel --udev all
dla j
ąder 2.4)
#
genkernel all
#
ls /boot/kernel* /boot/initramfs*
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
38 z 103
2005-10-23 14:23
Listing 22: Instalacja i uruchamianie coldplug
7.e.
Modu
ły jądra
Konfigurowanie modu
łów
Modu
ły ładowane w czasie startu systemu muszą zostać dopisane do pliku
/etc/modules.autoload.d/kernel-2.4
(lub kernel-2.6). Mo
żna tu również dodać dodatkowe opcje ich
ładowania.
List
ę wszystkich dostępnych modułów pokaże polecenia find z podaną poniżej składnią.
Listing 23: Znajdowanie dost
ępnych modułów
Dla przyk
ładu, aby załadować moduł
3c59x.o
nale
ży edytować plik kernel-2.4 lub kernel-2.6 i dodać tam
jego nazw
ę.
Listing 24: Edytowanie /etc/modules.autoload.d/kernel-2.4
Listing 25: /etc/modules.autoload.d/kernel-2.4 lub kernel-2.6
Kolejny etap instalacji to
Konfigurowanie systemu
.
8. Konfigurowanie systemu
8.a.
Informacje o systemach plików
Co to jest fstab?
W Linuksie wszystkie u
żywane przez system partycje powinny być wpisane do /etc/fstab. Plik ten zawiera
informacje o tym gdzie w strukturze katalogów), z jakimi opcjami i kiedy (automatycznie przy starcie systemu, czy
nie, przez zwyk
łych użytkowników, czy nie itd.) mają zostać zamontowane.
Tworzenie /etc/fstab
/etc/fstab
u
żywa specyficznej składni. Wszystkie wiersze składają się z sześciu pól, oddzielonych spacjami
lub/i tabulatorami. Ka
żde z nich pełni określoną funkcję:
Pierwsze pole definiuje partycj
ę (ścieżkę do odpowiadającego jej urządzenia).
Drugie pole kontroluje punkt montowania.
Trzecie pole opisuje u
żywany przez partycję system plików.
W czwartym polu podane s
ą opcje montowania używane przez
mount
. Ka
żdy system plików posiada
w
łasne ustawienia, pełna lista znajduje się w podręczniku systemowym programu mount (
man mount
).
Wszystkie opcje powinny by
ć oddzielone przecinkami.
Pi
ąte pole używane jest przez
dump
do ustalenia czy dana partycja ma by
ć dumpowana czy nie.
Zazwyczaj powiniene
ś wpisać tu
0
(zero).
Z szóstego pola korzysta
fsck
do ustalenia kolejno
ści sprawdzania partycji po nieprawidłowym
wy
łączeniu systemu. Dla głównego systemu plików powinieneś wpisać
1
, natomiast dla pozosta
łych
2
(lub
0
je
śli kontrola nie jest konieczna).
Domy
ślny /etc/fstab dostarczany przez Gentoo nie jest poprawnym plikiem fstab, uruchamiamy więc
nano
#
emerge coldplug
#
rc-update add coldplug boot
#
find /lib/modules/<wersja j
ądra>/ -type f -iname '*.o' -or -iname '*.ko'
(Przyk
ład dla jąder 2.4)
#
nano -w /etc/modules.autoload.d/kernel-2.4
3c59x
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
39 z 103
2005-10-23 14:23
(lub inny ulubiony edytor) i tworzymy w
łasny plik /etc/fstab:
Listing 1: Tworzenie /etc/fstab
Spójrzmy jak zapisa
ć opcje partycji /boot. To tylko przykład, nie trzeba go przepisywać, jeśli architektura nie
wymaga takiej partycji (np. PPC).
W naszym przyk
ładowym schemacie (dla x86) /boot będzie partycją /dev/hda1 i będzie używał systemu
plików
ext2
oraz b
ędzie sprawdzany podczas rozruchu.
Listing 2: Przyk
ładowy wpis do /etc/fstab dla /boot
Niektórzy u
żytkownicy ze względów bezpieczeństwa nie chcą, aby partycja /boot była montowana
automatycznie. Powinni oni zast
ąpić opcję
defaults
opcj
ą
noauto
. Potem trzeba b
ędzie ręcznie zamontować
t
ą partycję przed każdym jej użyciem.
Aby poprawi
ć wydajność, większość użytkowników zapewne zechce dodać opcję
noatime
. Dzi
ęki niej nie są
rejestrowane czasy dost
ępów (które zazwyczaj nie są potrzebne):
Listing 3: Poprawiony wpis /boot do /etc/fstab
W podobny sposób dodajemy kolejne partycje. Rezultatem b
ędą następujące trzy wiersze (dla partycji /boot, /
oraz swap):
Listing 4: Trzy wpisy do /etc/fstab
Na koniec powinni
śmy jeszcze dodać linijki dla /proc,
tmpfs
oraz CD-ROM-u (no i oczywi
ście pozostałych
posiadanych partycji i nap
ędów).
Listing 5: Przyk
ład kompletnego /etc/fstab
Opcja
auto
powoduje,
że
mount
sam próbuje wykry
ć system plików (zalecane dla wymienialnych nośników,
które mog
ą posiadać różne systemy). a
user
umo
żliwia montowanie zwykłym użytkownikom.
Nale
ży skorzystać z powyższego przykładu do utworzenia własnego /etc/fstab. Użytkownicy architektury
SPARC powinienni jeszcze doda
ć do niego następujące linie:
Listing 6: Dodawanie do /etc/fstab systemu plików openprom
Podwójnie sprawdzamy /etc/fstab, zapisujemy zmiany i zamykamy plik.
8.b.
Konfiguracja sieci
#
nano -w /etc/fstab
/dev/hda1 /boot ext2 defaults 1 2
/dev/hda1 /boot ext2 defaults,noatime 1 2
/dev/hda1 /boot ext2 defaults,noatime 1 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext3 noatime 0 1
/dev/hda1 /boot ext2 defaults,noatime 1 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext3 noatime 0 1
none /proc proc defaults 0 0
none /dev/shm tmpfs nodev,nosuid,noexec 0 0
/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
none /proc/openprom openpromfs defaults 0 0
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
40 z 103
2005-10-23 14:23
Hostname, domainname itp
Ka
żdy użytkownik powinien nadać swojemu komputerowi jakąś nazwę. Wydaje się to proste, ale wielu ma z tym
spore trudno
ści. Zawsze można tę nazwę zmienić. My wybraliśmy host
tux
oraz domen
ę
homenetwork
.
Skorzystamy z tych ustawie
ń w kolejnych przykładach. Zacznijmy od ustalenia nazwy hosta:
Listing 7: Konfiguracja nazwy hosta
Teraz skonfigurujmy domen
ę:
Listing 8: Konfiguracja nazwy domeny
Posiadacze domeny NIS powinni j
ą ustawić. Jeśli nie wiesz czym jest domena NIS to zapewne jej nie posiadasz.
Listing 9: Konfiguracja nazwy domeny NIS
Nast
ępnie dodajemy skrypt
domainname
do domy
ślnego poziomu uruchamiania:
Listing 10: Dodawanie domainname do domy
ślnego poziomu uruchamiania
Konfiguracja sieci
Zanim powiesz "Hej, przecie
ż już to zrobiliśmy!" pamiętaj, że to co ustawiałeś na początku instalacji jest
przeznaczone tylko na jej potrzeby. Teraz ostatecznie skonfigurujemy sie
ć dla instalowanego systemu Gentoo.
Uwaga: Szczegó
łowe informacje dotyczące zagadnień sieciowych, takich jak bonding, bridging, VLAN czy 802.11q,
znajduj
ą się w rozdziale dotyczącym
Konfiguracji sieci
.
Wszystkie ustawienia dotycz
ące sieci znajdują się w /etc/conf.d/net. Mają prostą, ale niekoniecznie
intuicyjn
ą składnię. Nie ma czego się, wszystko wyjaśnimy. Warto zapoznać się z przykładowym plikiem
/etc/conf.d/net.example
, w którym znajduje si
ę wiele cennych wskazówek oraz kilka przykładowych
konfiguracji sieci.
Domy
ślnym ustawieniem jest DHCP, dlatego jego użytkownicy nie muszą dokonywać w plikach żadnych zmian.
Je
śli jednak zajdzie potrzeba dokonfigurowania sieci, np. by wybrać określone opcje dla DHCP lub całkowicie
zrezygnowa
ć z jego użycia, należyotworzyćć plik /etc/conf.d/net w ulubionym edytorze (w przykładzie
u
żyjemy
nano
):
Listing 11: Otwieranie /etc/conf.d/net do edycji
Znajduje si
ę tam następujący wpis:
Listing 12: Domy
ślny /etc/conf.d/net
#
nano -w /etc/conf.d/hostname
(Ustawienie zmiennej HOSTNAME)
HOSTNAME="
tux
"
#
nano -w /etc/conf.d/domainname
(Ustawienie zmiennej DNSDOMAIN)
DNSDOMAIN="
homenetwork
"
#
nano -w /etc/conf.d/domainname
(Ustawienie zmiennej NISDOMAIN)
NISDOMAIN="
my-nisdomain
"
#
rc-update add domainname default
#
nano -w /etc/conf.d/net
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
41 z 103
2005-10-23 14:23
Gdy IP, maska sieciowa oraz brama s
ą ustawiane ręcznie to edytujemy obie zmienne,
config_eth
i
routes_eth0
:
Listing 13: R
ęczne ustawianie informacji o IP dla eth0
Aby wybra
ć określone opcje DHCP należy dodać zmienne
config_eth0
i
dhcp_eth0
:
Listing 14: Automatyczne pobieranie adresu IP dla eth0
Powtarzamy powy
ższe instrukcje dla pozostałych interfesów sieciowych (odpowiednio
config_eth1
,
config_eth2
).
Lista dost
ępnych ustawień znajduje się w pliku /etc/conf.d/net.example.
Nast
ępnie należy zapisać konfigurację i zamknąć edytor.
Automatyczny start sieci podczas uruchamiania systemu
Aby urz
ądzenia sieciowe były aktywowane podczas startu, musimy je dodać do domyślnego poziomu
uruchamiania. Posiadacze urz
ądzeń PCMCIA mogą pominąć te czynności, gdyż są one inicjowane przez osobny
skrypt startowy.
Listing 15: Dodawanie net.eth0 do domy
ślnego poziomu uruchamiania
Posiadacze kilku urz
ądzeń sieciowych muszą utworzyć odpowiednie skrypty startowe, np. net.eth1, net.eth2
itd. Mo
żna w tym celu skorzystać z
ln
:
Listing 16: Tworzenie dodatkowych skryptów startowych
Zapisywanie informacji o sieci
Trzeba poinformowa
ć system o istnieniu lokalnej sieci. Służy do tego plik /etc/hosts. Zapisujemy w nim nazwy
hostów i odpowiadaj
ące im adresy IP, których nie może ustalić serwer nazw. Na przykład jeśli wewnętrzna sieć
sk
łada się z trzech komputerów:
jenny
(192.168.0.5),
benny
(192.168.0.6) oraz
tux
(192.168.0.7 - na którym
pracujemy), nale
ży dodać do pliku /etc/hosts następujące linijki:
Listing 17: Otwieranie /etc/hosts
Listing 18: Wpisywanie informacji o sieci
config_eth0=( "dhcp" )
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d. To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).
config_eth0=( "192.168.0.2 netmask 255.255.255.0" )
routes_eth0=( "default gw 192.168.0.1" )
config_eth0=( "dhcp" )
dhcp_eth0="nodns nontp nonis"
#
rc-update add net.eth0 default
#
cd /etc/init.d
#
ln -s net.eth0 net.eth1
#
rc-update add net.eth1 default
#
nano -w /etc/hosts
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
42 z 103
2005-10-23 14:23
Je
śli nie posiadamy wewnętrznej sieci (lub serwer nazw obejmuje także umieszczone w niej komputery)
wystarczy pojedynczy wpis. Je
żeli na przyład chcemy nazwać swój system
tux
korzystamy z wpisu:
Listing 19: /etc/hosts dla samotnych lub w pe
łni zintegrowanych maszyn
Zapisujemy zmiany i zamykamy edytor.
Osoby nie posiadaj
ąće PCMCIA mogą od razu przejść do sekcji
Konfiguracja systemu
. W przeciwnym wypadku
nale
ży czytać dalej.
Opcjonalnie: Konfiguracja PCMCIA
Uwaga: pcmcia-cs jest dost
ępne wyłącznie na platformach x86, amd64 oraz ppc.
Posiadacze PCMCIA musz
ą zainstalować pakiet
pcmcia-cs
. Dotyczy to tak
że użytkowników jąder z serii 2.6
(nawet je
żeli nie będą używali sterowników PCMCIA z tego pakietu). Aby pominąć opcjonalną zależność
xorg-x11, wpisujemy dodatkowo
USE="-X"
:
Listing 20: Instalacja pcmcia-cs
Nast
ępnie dodajemy do domyślnego poziomu uruchamiania skrypt
pcmcia
:
Listing 21: Dodawanie do domy
ślnego poziomu uruchamiania skryptu pcmcia
8.c.
Konfiguracja systemu
Has
ło superużytkownika
Has
ło roota zmieniamy poleceniem:
Listing 22: Ustawienie has
ła superużytkownika
Je
żeli chcemy, aby superużytkownik mógł logować się na konsole szeregowe, dodajemy
tts/0
do
/etc/securetty
:
Listing 23: Dodawanie tts/0 do /etc/securetty
Informacje o systemie
Do najbardziej podstawowych ustawie
ń Gentoo używa pliku /etc/rc.conf. Otwieramy go i zapoznajemy się z
umieszczonymi w nim komentarzami. :)
127.0.0.1 localhost
192.168.0.5 jenny.homenetwork jenny
192.168.0.6 benny.homenetwork benny
192.168.0.7 tux.homenetwork tux
127.0.0.1 localhost tux
#
USE="-X" emerge pcmcia-cs
#
rc-update add pcmcia default
#
passwd
#
echo "tts/0" >> /etc/securetty
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
43 z 103
2005-10-23 14:23
Listing 24: Otwieranie /etc/rc.conf
Po dokonaniu zmian nale
ży zapisać je do pliku.
Jak wida
ć, plik ten jest dobrze skomentowany. Dzięki temu można poradzić sobie z umieszczonymi w nim
zmiennymi bez niemal
żadnych problemów. Między innymi można tu skonfigurować czcionki używane przez
system i mened
żer uruchamiania serwera X (jak kdm czy gdm).
Konfiguracja klawiatury znajduje si
ę w pliku /etc/conf.d/keymaps i to jego należy edytować w celu zmiany
ustawie
ń.
Listing 25: Otwieranie /etc/conf.d/keymaps
Zmienna
KEYMAP
wymaga specjalnego traktowania. Je
śli zostanie wybrana zła wartość to mogą pojawić się
dziwne rezultaty podczas pisania na klawiaturze.
Uwaga: U
żytkownicy SPARC-ów oraz ich klonów korzystający z USB powinni wybrać mapę klawiszy i386 (na przykład
"us") zamiast "sunkeymap". PPC w wi
ększości przypadków korzysta z map x86. Użytkownicy chcący korzystać z
mapowania ADB powinni zaznaczy
ć odpowiednią opcję w kernelu oraz ustawić mapowanie mac/ppc w pliku
/etc/conf.d/keymaps
.
Po dokonaniu zmian nale
ży zapisać plik i opuścić edytor.
Ustawienia zegara w Gentoo znajduj
ą się w pliku /etc/conf.d/clock. Należy go wyedytować i poprawić
ustawienia.
Listing 26: Otwieranie /etc/conf.d/clock
Je
śli zegar sprzętu jest inny niż UTC należy dodać do pliku opcję
CLOCK="local"
, aby godzina w systemie
zgadza
ła się z rzeczywistością. Windows zakłada, że zegar jest ustawiony na czas lokalny, zatem jeśli chce się
korzysta
ć z obu tych systemów na jednym komputerze, należy odpowiednio skorygować ustawiania.
Po uko
ńczeniu edycji zapisujemy zmiany i zamykamy edytor.
Je
żeli nie jest to instalacja IBM PPC64 należy przejść do
instalacji narz
ędzi systemowych
.
Konfiguracja konsoli
Uwaga: Ta cz
ęść przeznaczona jest dla użytkowników platform sprzętowych IBM PPC64.
Je
żeli Gentoo pracuje na sprzęcie IBM PPC64, należy odkomentować linie hvc w pliku /etc/inittab dla
konsoli wirtualnej, aby umo
żliwić zalogowanie się użytkownikom.
Listing 27: W
łączenie obsługi hvc lub hvsi w pliku /etc/inittab
Warto w pliku /etc/securetty sprawdzi
ć czy wybrana konsola jest prawidłowa.
Nast
ępnie należy przejść do
Instalacji odpowiednich narz
ędzi systemowych
.
9. Instalowanie narz
ędzi systemowych
9.a.
Mened
żer urządzeń
#
nano -w /etc/rc.conf
#
nano -w /etc/conf.d/keymaps
#
nano -w /etc/conf.d/clock
hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
44 z 103
2005-10-23 14:23
U
żytkownicy jąder 2.4 instalujący Gentoo z etapu trzeciego muszą na początek odinstalować udev i zainstalować
devfsd. Jest to niezb
ędne w związku z tym, że Gentoo domyślnie korzysta z systemu udev niedostępnego na
j
ądrach 2.4.
Listing 1: Instalowane devfsd
9.b.
Program loguj
ący
Gdy wspominali
śmy czym jest stage3 powiedzieliśmy, że zawiera on wszystkie niezbędne narzędzia systemowe,
dla których nie mo
żemy zaoferować użytkownikowi żadnej alternatywy. Powiedzieliśmy również, że w późniejszej
fazie instalacji systemu dodamy kolejne narz
ędzia. Oto ten etap. :)
Pierwszym narz
ędziem przy którym należy dokonać wyboru, jest program do obsługi systemu logowania. Unix i
Linux posiadaj
ą bogatą historię w tym zakresie. Jeśli to konieczne, można logować do plików wszystko, co dzieje
si
ę w systemie. Mechanizmem tym zarządza właśnie program logujący.
Gentoo oferuje kilka ró
żnych programów logujących:
sysklogd
- tradycyjny zestaw loguj
ących demonów,
syslog-ng
- zaawansowany program loguj
ący oraz
metalog
charakteryzuj
ący się dużą liczbą opcji
konfiguracyjnych. W Portage znajduje ca
ły wachlarz programów logujących i nie tylko - liczba naszych pakietów
ro
śnie z każdym dniem.
Je
żeli planuje się używanie
sysklogd
lub
syslog-ng
dobrym pomys
łem jest zainstalowanie programu
logrotate
, poniewa
ż te programy logujące nie są zaopatrzone w żaden mechanizm rotacyjny dla logów.
Aby zainstalowa
ć wybrany program logujący, korzystamy z polecenia
emerge
, a nast
ępnie dodajemy go do
domy
ślnego poziomu startowego poprzez skrypt
rc-update
. Poni
ższy przykład przedstawia proces instalacji
programu
syslog-ng
:
Listing 2: Instalacja programu loguj
ącego
9.c.
Opcjonalnie: Demon Cron
Nast
ępnym programem jest demon Cron. Pomimo, że jest on opcjonalny i nie jest wymagany do poprawnej
pracy systemu, zalecane jest jego zainstalowanie. Czym jest demon Cron? Jest to program s
łużący do
wykonywania zaplanowanych polece
ń w określonym czasie. Jest on bardzo przydatny, gdy wykonujemy pewne
czynno
ści regularnie (na przykład codziennie, co tydzień, co miesiąc).
Gentoo oferuje trzy ró
żne demony crona:
dcron
,
fcron
oraz
vixie-cron
. Instalacja ka
żdego z nich jest
analogiczna do instalacji programu loguj
ącego, jednakże
dcron
i
frcon
wymagaj
ą dodatkowej konfiguracji
(wykonywanej przez polecenie:
crontab /etc/crontab
). Niezdecydowanym polecamy program
vixie-cron
.
Dla instalacji bez sieci dostarczamy tylko
vixie-cron
. Aby u
żywać innego demona cron, trzeba będzie
poczeka
ć i zainstalować go później.
Listing 3: Instalacja demona cron
9.d.
Opcjonalnie: Indeksowanie plików
Aby mo
żliwe było indeksowanie plików w systemie w celu ich szybkiego wyszukiwania za pomocą narzędzia
locate
, nale
ży zainstalować pakiet
sys-apps/slocate
.
(Dla u
żytkowników jąder 2.4.x używających stage 3)
#
emerge --unmerge udev
#
emerge devfsd
#
emerge syslog-ng
#
rc-update add syslog-ng default
#
emerge vixie-cron
#
rc-update add vixie-cron default
(Dla dcron lub fcron)
#
crontab /etc/crontab
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
45 z 103
2005-10-23 14:23
Listing 4: Instalacja slocate
9.e.
Narz
ędzia obsługi systemu plików
W zale
żności od tego, jakiego systemu plików używamy, musimy zainstalować odpowiednie narzędzia do jego
obs
ługi (do sprawdzania jego integralności, czy tworzenia dodatkowych systemów plików).
W poni
ższej tabeli przedstawiono narzędzia, których należy użyć dla poszczególnych używanych systemów
plików:
System plików
Narz
ędzie
Polecenie instaluj
ące
XFS
xfsprogs
emerge xfsprogs
ReiserFS
reiserfsprogs
emerge reiserfsprogs
JFS
jfsutils
emerge jfsutils
U
żytkownicy LVM powinni zainstalować pakiet
lvm-user
:
Listing 5: Instalacja narz
ędzi LVM
Je
żeli nie potrzeba żadnych dodatkowych narzędzi sieciowych (takich jak
rp-pppoe
lub klient dhcp)
przechodzimy do
Konfiguracji bootloadera
.
9.f.
Narz
ędzia sieciowe
Opcjonalnie: Instalowanie klienta DHCP
Je
żeli chcemy, aby Gentoo automatycznie uzyskiwało adres IP karty sieciowej, musimy zainstalować
dhcpcd
(lub jakiegokolwiek innego klienta DHCP). Je
żeli nie zrobi się tego teraz, połączenie sieciowe może nie działać po
zako
ńczeniu instalacji!
Listing 6: Instalacja dhcpcd
Opcjonalnie: Instalacja klienta PPPoE
Listing 7: Instalacja klienta PPPoE
Ustawienie
USE="-X"
zapobiegnie instalacji pakietu xorg-x11 poprzez zale
żności (
rp-pppoe
posiada narz
ędzia
graficzne, aby z nich korzysta
ć, możesz przekompilować
rp-pppoe
po instacji serwera xorg-x11 lub
zainstalowa
ć go teraz, jednak jego kompilacja zajmie dużo czasu).
Narz
ędzia RAID dla sprzętu IBM
U
żytkownicy SCSI RAID na systemach opartych na POWER-5 powinni rozważyć instalację pakietu
iprutils
,
dzi
ęki któremu możliwe będą operacje na tablicach dysku RAID, takie jak pobieranie ich statusu oraz
uaktualnianie mikrokodu.
Listing 8: Instalowanie iprutils
Teraz jeste
śmy już gotowi do przejścia do
konfiguracji bootloadera
.
#
emerge slocate
#
emerge --usepkg lvm-user
#
emerge dhcpcd
#
USE="-X" emerge rp-pppoe
#
emerge iprutils
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
46 z 103
2005-10-23 14:23
10. Konfiguracja bootloadera
10.a.
Podejmowanie decyzji
Wprowadzenie
Po skonfigurowaniu j
ądra i modyfikacji odpowiednich plików konfiguracyjnych systemu, można przejść do etapu
instalacji programu, który uruchomi j
ądro w momencie uruchomienia systemu. Taki program nazywa się
bootloader. Dla architektury x86, Gentoo Linux u
żywa dwóch takich programów:
GRUB
oraz
LILO
. Przed
instalacj
ą któregokolwiek z nich, zostanie opisane jak należy skonfigurować bufor ramki - zakładając oczywiście,
że będzie on używany.
Opcjonalnie: Bufor ramki
Je
żeli jądro zostało skompilowane z obsługą bufora ramki, należy dodać parametr
vga
w odpowiednim miejscu
pliku konfiguracyjnego bootloadera.
Najwa
żniejszą informacją jaką należy posiadać przed rozpoczęciem konfiguracji jest nazwa używanego
urz
ądzenia bufora ramki. Niektóre jądra, takie jak na przykład
gentoo-sources
, domy
ślnie posiadają obsługę
vesafb-tng
jako sterownika typu VESA. U
żytkownicy
vesafb-tng
nie musz
ą dodawać parametru
vga
.
Pozostali, u
żywający
vesafb
wci
ąż muszą go dopisywać.
Za pomoc
ą parametru
vga
okre
śla się rozdzielczość oraz głębię kolorów ekranu bufora ramki. Każdy numer
okre
śla inną głębię i rozdzielczość, ich lista znajduje się w dokumencie
/usr/src/linux/Documentation/fb/vesafb.txt
, który instaluje si
ę w systemie wraz ze źródłami jądra.
Oto tabela parametrów
vga
, która zawiera wszystkie dost
ępne rozdzielczości i głębie kolorów:
640x480
800x600
1024x768
1280x1024
256
0x301
0x303
0x305
0x307
32k
0x310
0x313
0x316
0x319
64k
0x311
0x314
0x317
0x31A
16M
0x312
0x315
0x318
0x31B
Parametr
video
odpowiada za opcje wy
świetlania bufora ramki. Jest mu niezbędna nazwa sterownika bufora
ramki (
vesafb
dla j
ąder 2.6 lub
vesa
w 2.4) oraz opcje z jakimi ma by
ć uruchamiany bufor. Wszystkie zmienne
znajduj
ą się w pliku /usr/src/linux/Documentation/fb/vesafb.txt, oto trzy najważniejsze z nich:
Kontrolka
Opis
ywrap
W
łącza zawijanie pamięci karty graficznej
mtrr
W
łącza rejestry MTRR
mode
(tylko dla
vesafb-tng
)
Pozwala na ustawienie rozdzielczo
ści, głębi kolorów oraz częstotliwości odświeżania. Na przykład
1024x768-32@85
ustawi rozdzielczo
ść 1024x768, 32 bitową głębię kolorów i częstotliwość odświeżania 85 Hz.
Wynik tych dzia
łań powinien wyglądać mniej więcej tak:
vga=0x318 video=vesafb:mtrr,ywrap
lub
video=vesafb:mtrr,ywrap,1024x768-32@85
. Warto zapami
ętać te ustawienia, wkrótce będą potrzebne.
Kolejny etap to instalacja
GRUB
lub
LILO
.
10.b.
Domy
ślnie: Użycie programu GRUB
Wyja
śnienie terminologii związanej z GRUB
Najwa
żniejszym czynnikiem prowadzącym do zrozumienia programu GRUB jest pojęcie jego sposobu
odnoszenia si
ę do dysków i partycji. Linuksowa partycja /dev/hda1 jest określana przez GRUB jako (hd0,0).
Nale
ży zwrócić uwagę na nawiasy po obu stronach hd0,0 - ich użycie jest wymagane.
Dyski twarde s
ą liczone od zera, a nie od "a". Partycje także zaczynają się od zera, a nie od jedynki. Należy być
świadomym również tego, że w grupie urządzeń pamięci masowej tylko twarde dyski są liczone, nie ma to
natomiast miejsca w przypadku nap
ędów ATAPI-IDE takich jak cdromy i nagrywarki. Ta sama sytuacja ma
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
47 z 103
2005-10-23 14:23
miejsce w przypadku dysków SCSI. (Normalnie otrzymuj
ą one wyższe numery niż dyski IDE, z wyjątkiem
sytuacji, gdy BIOS jest ustawiony na start systemu z urz
ądzenia SCSI).
Zak
ładając, że w komputerze jest zainstalowany dysk twardy oznaczony jako /dev/hda, odtwarzacz cdrom
/dev/hdb
, nagrywarka /dev/hdc, drugi dysk twardy /dev/hdd i nie ma
żadnego dysku SCSI, urządzenie
/dev/hdd7
jest rozumiane jako (hd1,6). Ca
łość wygląda dość pokrętnie, jednakże GRUB oferuje mechanizm
uzupe
łniania wiersza polecenia klawiszem TAB, co z pewnością jest wybawieniem dla tych, którzy mają dużo
dysków twardych i partycji, a gubi
ą się nieco w sposobie numeracji używanym przez program GRUB.
Nadesz
ła pora na zainstalowanie GRUB-a.
Instalowanie GRUB-a
Po pierwsze nale
ży zainstalować program GRUB:
Listing 1: Instalowanie GRUB-a
GRUB zosta
ł zainstalowany, teraz należy go jeszcze skonfigurować i umieścić w MBR, tak by automatycznie
uruchamia
ł nowo zainstalowane jądra. Najpierw przy pomocy nano, lub dowolnego innego edytora należy
utworzy
ć plik /boot/grub/grub.conf:
Listing 2: Tworzenie /boot/grub/grub.conf
Nast
ępnie należy dokonać edycji pliku grub.conf. Poniżej znajdują się dwa przykłady plików grub.conf,
odpowiadaj
ące schematowi partycjonowania użytemu w tym przewodniku. Tylko pierwszy z nich został
wyczerpuj
ąco opatrzony komentarzami.
Pierwszy grub.conf jest dla osób, które nie wykorzysta
ły programu
genkernel
do budowania j
ądra
Drugi grub.conf jest dla tych, którzy u
żyli programu
genkernel
do zbudowania j
ądra.
Listing 3: grub.conf dla nie u
żywających genkernela
Listing 4: grub.conf dla u
żytkowników genkernela
#
emerge grub
#
nano -w /boot/grub/grub.conf
# Która pozycja ma by
ć uruchamiana domyślnie. 0 oznacza pierwszą, 1 drugą itd.
default 0
# Ile sekund oczekiwa
ć przed uruchomieniem pozycji domyślnej.
timeout 30
#
Ładny obrazek na zaostrzenie apetytu :)
# Zakomentuj je
śli nie masz zainstalowanej karty graficznej
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux 2.4.24
# Partycja na której znajduje si
ę obraz jądra (lub system operacyjny)
root (hd0,0)
kernel /kernel-2.4.24 root=/dev/hda3
# Nast
ępne trzy linie są potrzebne tylko gdy będzie uruchamiany również system Windows.
# W tym przypadku Windows znajduje si
ę na /dev/hda6.
title=Windows XP
rootnoverify (hd0,5)
chainloader +1
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
48 z 103
2005-10-23 14:23
Uwaga: Je
żeli podział na partycje jest inny niż w niniejszym przykładzie lub zostały użyte inne obrazy jądra, należy dokonać
niezb
ędnych poprawek. Warto pilnować, aby wszystko co dotyczy urządzenia z GRUB'em (np. (hd0,0)) było względne w
stosunku do punktu montowania, a nie partycji root. Innymi s
łowy, (hd0,0)/grub/splash.xpm.gz w rzeczywistości
znaczy /boot/grub/splash.xpm.gz, gdy
ż (hd0,0) to partycja /boot.
Je
żeli przy uruchomieniu systemu zachodzi potrzeba przekazania do jądra dodatkowych opcji, wystarczy dopisać
je na ko
ńcu polecenia kernel. W tym przykładzie został już dodany jeden parametr (
root=/dev/hda3
lub
real_root=/dev/hda3
), który mo
żna wzbogacić o kolejne. Przykładowo posłużymy się opcją
vga
, dotycz
ącą
bufora ramki, która zosta
ła opisana wcześniej:
U
żytkownicy jąder 2.6.7 i nowszych, którzy przy pomocy przełącznika ograniczyli wielkość dysku, ponieważ ich
BIOS nie jest w stanie wspó
łpracować z większymi napędami mogą dodać opcję
hdx=stroke
, aby korzysta
ć z
ca
łego dostępnego na urządzeniu miejsca.
U
żytkownicy programu
genkernel
powinni wiedzie
ć, że jądra, które zbudowali używają tych samych opcji
bootowania co LiveCD. Na przyk
ład jeżeli komputer ma zainstalowane urządzenie SCSI, należy dodać parametr
doscsi
.
Nast
ępnie trzeba zapisać plik grub.conf i opuścić edytor. Kolejnym krokiem będzie dopisanie GRUB-a do
MBR.
Twórcy GRUB-a zalecaj
ą użycie
grub-install
. Czasem jednak program ten z jakiego
ś powodu odmawia
wspó
łpracy. Mimo to, wciąż pozostaje możliwość ręcznego zainstalowania GRUB-a.
Teraz mo
żna przejść do paragrafu
Domy
ślnie: Instalowanie GRUB-a przy pomocy grub-install
lub
Alternatywnie:
R
ęczne instalowanie GRUB-a
.
Domy
ślnie: Instalacja GRUB-a przy pomocy grub-install
Żeby zainstalować GRUB'a należy wpisać komendę
grub-install
. Nie zadzia
ła to jednak bez pewnych
zmian, bo wci
ąż działamy w chrootowanym środowisku. Należy uaktualnić plik /etc/mtab (plik z informacjami
dotycz
ącymi zamontowanych napędów). Na szczęście jest na to prosta metoda, wystarczy nadpisać ten plik
plikiem /proc/mounts.
Listing 5: Uaktualnianie /etc/mtab
Nast
ępnie przy pomocy
grub-install
zainstalowany zostaje GRUB:
Listing 6: Uruchamianie grub-install
Wi
ęcej informacji o GRUB-ie można znaleźć w dokumentach:
GRUB FAQ
i
GRUB Manual
.
Nast
ępnie należy przejść do części
Ponowne uruchamianie systemu
.
Alternatywnie: R
ęczna instalacja GRUB'a
Aby zacz
ąć, należy wpisać polecenie
grub
. Znak zach
ęty zmieni się na grub>. Teraz należy wprowadzić serię
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux 2.4.24
root (hd0,0)
kernel /kernel-genkernel-x86-2.6.11-gentoo-r3 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /initramfs-genkernel-x86-2.6.11-gentoo-r3
# Tylko, gdy b
ędą uruchamiane dwa systemy
title=Windows XP
rootnoverify (hd0,5)
chainloader +1
#
cp /proc/mounts /etc/mtab
#
grub-install --root-directory=/boot /dev/hda
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
49 z 103
2005-10-23 14:23
odpowiednich komend, aby GRUB zosta
ł zapisany na dysku. Komendy te zostaną opisane poniżej.
Listing 7: Uruchamianie pow
łoki GRUB
Uwaga: Je
żeli komputer nie ma zainstalowanej stacji dyskietek, należy dodać opcję
--no-floppy
do powy
ższego
polecenia,
żeby GRUB nie marnował czasu na poszukiwanie nieistniejącego napędu.
Wyobra
źmy sobie, że chcemy zainstalować GRUB tak aby odczytywał informacje z bootowalnej partycji
/dev/hda1
i instalowa
ł swój rekord rozruchowy w MBR twardego dysku, tak żeby pierwszą rzeczą jaką
zobaczymy po uruchomieniu komputera by
ł znak zachęty GRUB-a. Oczywiście należy odpowiednio dostosować
wszystkie opcje do u
żywanej konfiguracji.
Mechanizm uzupe
łniania składni jest bardzo pomocny przy konfigurowaniu GRUB-a. Na przykład wpisując "
root
(
" i wciskaj
ąc TAB można zobaczyć wszystkie urządzenia (np. hd0). Jeśli zostanie wpisane "
root (hd0,
" i
potem zostanie naci
śnięty TAB, ukaże się lista wszystkich dostępnych partycji na urządzeniu (np. hd0,0).
Przy pomocy tego systemu skonfigurowanie GRUB-a powinno by
ć proste.
Listing 8: Instalacja GRUB w g
łównym sektorze rozruchowym
Uwaga: W przypadku konieczno
ści zainstalowania GRUB poza MBR, należy zmienić komendę
setup
tak by wskazywa
ła
na odpowiednie urz
ądzenie. Na przykład dla GRUB-a zainstalowanego w /dev/hda3 będzie to
setup (hd0,2)
.
Wi
ęcej informacji można znaleźć na stronach:
GRUB FAQ
i
GRUB Manual
.
Nast
ępnie można przejść do sekcji
Ponowne uruchamianie systemu
.
10.c.
Alternatywnie: U
żywanie LILO
Instalowanie LILO
Wa
żne: LILO może być użyte tylko dla architektury x86!
LILO, czyli LInuxLOader to program naprawd
ę wypróbowany i używany od bardzo dawna przez bardzo wielu
u
żytkowników. Brakuje mu jednak niektórych cech posiadanych przez program GRUB, co jest, między innymi,
powodem rosn
ącej popularności tego drugiego. Fakt, że na niektórych systemach LILO działa, a GRUB nie,
powoduje, i
ż LILO jest ciągle w użyciu. Oczywiście nie jest to jedyny powód - niektórzy po prostu lepiej znają
LILO i wol
ą przy nim pozostać, zamiast uczyć się obsługi całkiem nowego programu. My jak zawsze wybór
pozostawiamy u
żytkownikom, Gentoo wspiera obydwa programy.
Instalacja LILO jest prosta, u
żywamy do tego polecenia
emerge
.
Listing 9: Instalowanie LILO
Konfigurowanie LILO
Aby skonfigurowa
ć LILO, należy utworzyć plik /etc/lilo.conf. Można to zrobić poprzez uruchomienie
ulubionego edytora (w tym Podr
ęczniku konsekwentnie używamy
nano
) i w ten sposób stworzy
ć ten plik.
Listing 10: Tworzenie /etc/lilo.conf
#
grub
grub>
root (hd0,0)
(Odpowiednia partycja /boot)
grub>
setup (hd0)
(Instalacja GRUB-a w MBR)
grub>
quit
(Opuszczenie pow
łoki GRUB)
#
emerge lilo
#
nano -w /etc/lilo.conf
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
50 z 103
2005-10-23 14:23
Kilka rozdzia
łów temu prosiliśmy o zapamiętanie nazwy utworzonego obrazu jądra. W naszym przykładowym
lilo.conf
u
żyty zostanie uprzednio zaprezentowany schemat partycjonowania. Przygotowane zostały dwie
cz
ęści:
Pierwsza dla tych, którzy nie skorzystali z programu
genkernel
przy budowaniu j
ądra.
Druga dla u
żywających
genkernela
.
Listing 11: Przyk
ładowy /etc/lilo.conf
Uwaga: Parametr
udev
na ko
ńcu linii "append" jest niezbędny dla obejścia błędu w pewnych wersjach genkernela,
wyst
ępującego gdy używa się udev na pierwszym miejscu, co jest zresztą domyślnym ustawieniem.
Uwaga: Je
śli używany jest inny schemat partycjonowania i/lub obrazu jądra, należy dokonać niezbędnych poprawek.
Jakiekolwiek dodatkowe parametry startowe j
ądra dodaje się po słowie kluczowym
append
. Jako przyk
ład,
podajemy opcj
ę
acpi=off
s
łużącą do wyłączenia obsługi ACPI:
Listing 12: Dodawanie funkcji j
ądra poprzez linię append
W przypadku u
żywania jądra 2.6.7 lub nowszego i ograniczenia przy pomocy przełączników rozmiaru twardego
dysku, gdy BIOS nie obs
ługuje tak dużych napędów, należy dopisać do linii append polecenie
hdx=stroke
.
U
żytkownicy programu
genkernel
powinni wiedzie
ć, że jądra, które zbudowali, używają tych samych opcji
bootowania co p
łyty instalacyjne. Na przykład w przypadku korzystania z urządzenia SCSI należy dodać parametr
doscsi
.
Po zako
ńczonej konfiguracji, należy zapisać plik i opuścić edytor. By zakończyć wystarczy uruchomić program
/sbin/lilo
, LILO zastosuje ustawienia z /etc/lilo.conf (tzn. zainstaluje si
ę na dysku). Przy każdej
zmianie w /etc/lilo.conf oraz przy zmianie j
ądra, trzeba ponownie wykonać polecenie
/sbin/lilo
.
Listing 13: Ko
ńczenie instalacji LILO
boot=/dev/hda
# Instalacja LILO w MBR
prompt
# Dajemy u
żytkownikowi możliwość wyboru innej pozycji
timeout=50
# Czekamy 5 sekund przed uruchomieniem domy
ślnej pozycji
default=gentoo
# Kiedy oczekiwanie si
ę zakończy, uruchamiana jest pozycja "gentoo"
# Tylko je
śli używany jest bufor ramki. W przeciwnym wypadku należy usunąć następującą linię:
vga=788
# Ustawienia bufora ramki. Mo
żna dopasować wedle uznania.
# Dla niekorzystaj
ących z genkernela
image=/boot/kernel-2.4.24
label=gentoo
# Nazwa, jak
ą mianujemy tę pozycję
read-only
# Zaczynamy z partycj
ą root tylko do odczytu. Nie zmieniać!
root=/dev/hda3
# Umiejscowienie g
łównego systemu plików
# Dla u
żytkowników genkernela
image=/boot/kernel-genkernel-x86-2.6.11-gentoo-r3
label=gentoo
read-only
root=/dev/ram0
append="init=/linuxrc real_root=/dev/hda3"
initrd=/boot/initramfs-genkernel-2.6.11-gentoo-r3
# Nast
ępne dwie linie są podane na wypadek, gdybyśmy chcieli uruchamiać także system Windows.
# W tym przypadku, Windows mie
ści się na /dev/hda6.
other=/dev/hda6
label=windows
image=/boot/kernel-2.4.26-gentoo-r6
label=gentoo
read-only
root=/dev/hda3
append="vga=788"
#
/sbin/lilo
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
51 z 103
2005-10-23 14:23
Uwaga: Po instalacji nowego j
ądra nie trzeba ręcznie kopiować plików. Dokona tego polecenie
make install
wprowadzone zaraz po przygotowaniu obrazu j
ądra. Umieści ono automatycznie nowe jądro w odpowiednim miejscu i
dokona niezb
ędnych poprawek w konfiguracji LILO.
Teraz nale
ży przejść do rozdziału
Instalacja niezb
ędnych narzędzi systemowych
.
10.d.
Ponowne uruchamianie systemu
Nale
ży opuścić teraz chroot i odmontować wszystkie zamontowane partycje. Następnie trzeba wpisać komendę
reboot
.
Listing 14: Odmontowywanie partycji i ponowne uruchamianie komputera
Trzeba pami
ętać o usunięciu płyty z napędu, bo zamiast nowiutkiego Gentoo znów zobaczymy system z płyty
instalacyjnej. ;)
Nast
ępnie wystarczy zakończyć proces instalacji zgodnie ze wskazówkami opisanymi w rozdziale
Finalizowanie
instalacji Gentoo
.
11. Zako
ńczenie instalacji Gentoo
11.a.
Administrowanie kontami u
żytkowników
Tworzenie konta do codziennej pracy
Wykonywanie zada
ń z przywilejami roota jest niebezpieczne i należy tego unikać. Do codziennej pracy należy
utworzy
ć zwykłe konto użytkownika.
Czynno
ści jakie może wykonać użytkownik są zależne od grup do jakich należy. Oto lista najważniejszych grup:
Grupa
Opis
audio
Dost
ęp do urządzeń audio
cdrom
Bezpo
średni dostęp do urządzeń optycznych
floppy
Bezpo
średni dostęp do stacji dyskietek
games
Mo
żliwość uruchomienia gier
usb
Dost
ęp do urządzeń USB
video
Mo
żliwość dostępu do urządzeń wideo oraz pracy z akceleracją sprzętową
wheel
mo
żliwość używania polecenia
su
Na przyk
ład, aby utworzyć konto użytkownika
mkay
i doda
ć go do grup
wheel
(mo
żliwość korzystajania z
su
do
prze
łączania się na konto root),
users
(grupa domy
ślna dla wszystkich użytkowników) oraz
audio
(mo
żliwość
korzystania z urz
ądzeń dźwiękowych) należy z konta roota wykonać następujące polecenie:
Listing 1: Dodawanie u
żytkownika do codziennej pracy
Je
śli użytkownik ten kiedykolwiek zechce wykonać jakiekolwiek czynności jako root powinien użyć polecenia
su
-
, aby tymczasowo otrzyma
ć uprawnienia superużytkownika. Alternatywnie może skorzystać z pakietu
sudo
charakteryzuj
ącego się wysokim poziomem bezpieczeństwa (o ile zostanie prawidłowo skonfigurowany).
#
exit
cdimage ~#
cd
cdimage ~#
umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
cdimage ~#
reboot
Login:
root
Password:
(wpisujemy has
ło)
#
useradd mkay -m -G users,wheel,audio -s /bin/bash
#
passwd mkay
Password:
(has
ło mkaya)
Re-enter password:
(Ponownie has
ło mkaya)
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
52 z 103
2005-10-23 14:23
12. I co dalej?
12.a.
Dokumentacja
Gratulacje! Od teraz masz dzia
łający system Gentoo Linux. Ale... co teraz? Czego można dokonać? Co odkryć
najpierw? Gentoo daje swoim u
żytkownikom ogromne możliwości, których większość jest świetnie
udokumentowana.
Zdecydowanie warto rzuci
ć okiem na drugą część Podręcznika, zatytułowaną
Praca z Gentoo
. Omówili
śmy w niej
metody instalacji i aktualizacji oprogramowania, flagi USE i system skryptów startowych.
Aby zoptymalizowa
ć system na desktop lub dowiedzieć się jak najlepiej skonfigurować oprogramowanie
biurkowe, warto pozna
ć rozdział
Zasoby dokumentacji Gentoo dla stacji roboczych
. Warto równie
ż zainteresować
si
ę możliwością spolszczenia systemu, wszystkie czynności, jakich należy dokonać w tym celu opisaliśmy w
tek
ście zatytułowanym
Lokalizacja Gentoo Linux
.
Wart
ą przeczytania pozycją jest także
Podr
ęcznik bezpieczeństwa Gentoo
.
Pe
łna lista dostępnych dokumentów znajduje się na stronie
zasobów dokumentacji Gentoo
.
12.b.
Gentoo w sieci
Wszystkich u
żytkowników zapraszamy na
Forum Gentoo
oraz nasze liczne
kana
ły IRC
.
Dodatkowo posiadamy wiele
list dyskusyjnych
dost
ępne dla wszystkich zainteresowanych. Informacje o
subskrybcji zamie
ściliśmy na ich stronie.
I tyle. Po tej ca
łej ciężkiej pracy związanej z instalacją przyszła pora głęboko odetchnąć i zacząć cieszyć się
swie
żo zainstalowanym systemem. :)
B. Praca z Gentoo
1. Wprowadzenie do Portage
1.a.
Witamy w Portage
Portage to najlepszy istniej
ący program do zarządzania oprogramowaniem. Żadna inna dystrybucja Linuksa nie
mo
że się pochwalić równie kompleksowym, konfigurowalnym i użytecznym narzędziem jak to napisane przez
developerów Gentoo.
Portage zosta
ło napisane w dwóch językach skryptowych,
Pythonie
i
Bashu
, dzi
ęki czemu sposób jego działania
jest bardzo przejrzysty nawet dla niezbyt bieg
łych w programowaniu użytkowników.
Wi
ększość użytkowników pracuje z Portage przy pomocy narzędzia
emerge
. Aby uzyska
ć więcej informacji na
temat tego programu wystarczy wpisa
ć:
Listing 1: Czytanie man emerge
1.b.
Drzewo Portage
Ebuildy
Kiedy mówimy o pakietach to tak naprawd
ę mamy na myśli programy dostępne dla użytkowników Gentoo w
drzewie Portage. Drzewo to jest zbiorem ebuildów, czyli plików zawieraj
ących wszelkie informacje, które są
niezb
ędne do zarządzania oprogramowaniem (instalacja, wyszukiwanie, inne zapytania...). Domyślnie kolekcja
ebuildów znajduje si
ę w katalogu /usr/portage.
Za ka
żdym razem gdy zażądamy od Portage wykonania jakiegoś zadania związanego z naszym
oprogramowaniem u
żyje ono jako podstawy swojego działania informacji zawartych w kolekcji ebuildów. Stąd też
warto w miar
ę często uaktualniać swoje drzewo Portage, tak aby system wiedział o nowych wersjach programów,
$
man emerge
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
53 z 103
2005-10-23 14:23
poprawkach do nich, etc.
Uaktualnianie drzewa Portage
Drzewo Portage uaktualniamy zazwyczaj za pomoc
ą narzędzia
rsync
. Uaktualnienie to wykonuje si
ę w
stosunkowo prosty sposób dzi
ęki jednemu z parametrów polecenia emerge, dzięki któremu komenda ta zadziała
jak nak
ładka na rsync:
Listing 2: Uaktualnianie drzewa Portage
Je
śli nie jest możliwe użycie rsync w wyniku jakichś ograniczeń narzuconych przez różnego rodzaju firewalle to
mo
żliwa jest aktualizacja drzewa Portage przy użyciu jednego z generowanych codziennie snapshotów. Program
emerge-webrsync
automatycznie pobierze odpowiednie pliki i zainstaluje je w systemie.
Listing 3: Uruchamianie emerge-webrsync
1.c.
Zarz
ądzanie oprogramowaniem
Wyszukiwanie oprogramowania
Do wyszukiwania w drzewie Portage konkretnych programów mo
żna użyć funkcji wbudowanych w program
emerge. Domy
ślnie
emerge --search
wypisze wszystkie zawieraj
ące dane wyrażenie nazwy pakietów.
Na przyk
ład poszukajmy wszystkich pakietów zawierających literki "pdf" w nazwie:
Listing 4: Wyszukiwane pakietów z pdf w nazwie
By przeszukiwa
ć pakiety również po opisie pakietu, nie tylko po jego nazwie należy dopisać dodatkowo parametr
--searchdesc
(lub krócej
-S
).
Listing 5: Wyszukiwanie wszystkich zwi
ązanych z pdf paczek
Kiedy przyjrzymy si
ę wynikowi tego polecenia zauważymy, że dostarcza on wielu ciekawych informacji.
Zawarto
ść i opisy poszczególnych pól są dość przejrzyste i nie powinny przysporzyć nikomu problemów. Z tego
wzgl
ędu nie będziemy ich tu szerzej omawiać.
Listing 6: Przykladowy wynik polecenia emerge --search
Instalowanie oprogramowania
Instalacja znalezionych w ten sposób w Portage programów jest prosta i sprowadza si
ę do dodania do polecenia
emerge
nazwy
żądanej paczki. Dla przykładu zainstalujemy sobie gnumeric:
Listing 7: Instalacja gnumeric
#
emerge --sync
#
emerge-webrsync
$
emerge --search pdf
$
emerge --searchdesc pdf
* net-print/cups-pdf
Latest version available: 1.5.2
Latest version installed: [ Not Installed ]
Size of downloaded files: 15 kB
Homepage: http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/
Description: Provides a virtual printer for CUPS to produce PDF files.
License: GPL-2
#
emerge gnumeric
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
54 z 103
2005-10-23 14:23
W zwi
ązku z tym, że wiele aplikacji do prawidłowego działania potrzebuje innych programów instalacja którejś
paczki mo
że nieść ze sobą potrzebę zainstalowania także jej zależności. Nie ma powodu do zmartwień, to nie
RPM'y - Portage doskonale radzi sobie z zale
żnościami. By dowiedzieć się, jakie zależności zostaną
zainstalowane z danym programem nale
ży dodać przełącznik
--pretend
do zwyk
łej komendy instalującej
program. Na przyk
ład:
Listing 8: Udajemy,
że chcemy zainstalować gnumeric
Kiedy zostanie wydane polecenie dla Portage by zainstalowa
ć jakąś paczkę, z Internetu zostaną pobrane
wszystkie niezb
ędne, nieznajdujące się na dysku pliki zawierające kod źródłowy. Domyślnie są one
przechowywane w /usr/portage/distfiles. Nast
ępnie program zostanie rozpakowany, skompliwany i
zainstalowany. By Portage jedynie pobra
ło potrzebne pliki należy dodać opcję
--fetchonly
do komendy
emerge:
Listing 9: Pobieranie kodu
źródłowego gnumeric
Wyszukiwanie dokumentacji do zainstalowanych pakietów.
Wiele pakietów rozprowadzanych jest wraz z dokumentacj
ą. Czasem flaga USE
doc
okre
śla, czy dokumentacja
dla danego pakietu zostanie zainstalowana czy nie. Informacj
ę o tym, czy dany pakiet korzysta z flagi
doc
mo
żna
uzyska
ć za pomocą następującego polecenia:
emerge -vp <nazwa pakietu>
.
Listing 10: Sprawdzenie czy pakiet u
żywa flagi doc.
Flag
ę
doc
mo
żna włączyć, bądź wyłączyć globalnie w pliku /etc/make.conf lub dla poszczególnych pakietów
w pliku /etc/portage/package.use. Rozdzia
ł
Flagi USE
omawia ten temat szczegó
łowo.
Dokumentacja do zainstalowanego ju
ż pakietu na ogół znajduje się w podkatalogu o nazwie takiej samej jak
pakiet w katalogu /usr/share/doc. Mo
żna również wyświetlić listę wszystkich zainstalowanych plików za
pomoc
ą narzędzia
equery
, które to jest cz
ęścią
pakietu
app-portage/gentoolkit
.
Listing 11: Lokalizowanie dokumentacji pakietu.
Usuwanie oprogramowania
Do usuwania zainstalowanych programów s
łuży polecenie
emerge --unmerge
. Naka
że ono Portage usunięcie
wszystkich plików dodanych w procesie instalacji programu,
z pomini
ęciem
jednak tych plików, które od
instalacji programu zosta
ły zmienione. Najczęściej chodzi tu o pliki konfiguracyjne, a pozostawienie ich na dysku
umo
żliwia łatwe wznowienie pracy z programem w przypadku, gdy w przyszłości program zostanie ponownie
zainstalowany.
#
emerge --pretend gnumeric
#
emerge --fetchonly gnumeric
(oczywi
ście alsa-lib to tylko przykład)
#
emerge -vp alsa-lib
[ebuild N ] media-libs/alsa-lib-1.0.9_rc3 +doc -jack 674 kB
#
ls -l /usr/share/doc/alsa-lib-1.0.9_rc3
total 28
-rw-r--r-- 1 root root 669 May 17 21:54 ChangeLog.gz
-rw-r--r-- 1 root root 9373 May 17 21:54 COPYING.gz
drwxr-xr-x 2 root root 8560 May 17 21:54 html
-rw-r--r-- 1 root root 196 May 17 21:54 TODO.gz
(Alternatywnie, mo
żna użyć equery do zlokalizowania interesujących plików:)
#
equery files alsa-lib | less
media-libs/alsa-lib-1.0.9_rc3
* Contents of media-libs/alsa-lib-1.0.9_rc3:
/usr
/usr/bin
/usr/bin/alsalisp
(Wyj
ście programu zostało obcięte)
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
55 z 103
2005-10-23 14:23
W tym do
ść przejrzystym procesie kryje się pewna pułapka: Portage nie sprawdza, czy paczka, która ma być
usuni
ęta jest zależnością innego zainstalowanego programu. Jednak pokazane zostanie stosowne ostrzeżenie, że
program, który jest przeznaczony do usuni
ęcia, jest niezbędny do prawidłowego działania całego systemu.
Listing 12: Usuwanie gnumeric z systemu
Gdy program zostanie usuni
ęty, jego zależności nie są usuwane razem z nim, ale pozostają na dysku. Aby
odszuka
ć i usunąć niepotrzebne w systemie zależności używamy polecenia
emerge --depclean
. Omówimy je
dok
ładniej nieco później.
Uaktualnianie systemu
Aby utrzyma
ć swój system w dobrej kondycji (nie wspominając już o instalacji najnowszych poprawek
zwi
ązanych z bezpieczeństwem), należy dość często go uaktualniać. W związku z tym, że w tym procesie
Portage porównuje zainstalowane oprogramowanie z ebuild'ami z drzewa Portage nale
ży najpierw pobrać jego
aktualn
ą wersję. Kiedy już je zaktualizujemy przychodzi czas na właściwe uaktualnienie systemu. Dokonujemy
tego poleceniem
emerge --update world
:
Listing 13: Uaktualnianie systemu
Portage znajdzie wszystkie bezpo
średnio zainstalowane przez użytkownika aplikacje, dla których są dostępne
nowsze wersje, ale pominie uaktualnienia ich zale
żności. Aby uaktualnić całe oprogramowanie wraz z
zale
żnościami, należy dodać jeszcze argument
--deep
:
Listing 14: Uaktualnienie ca
łego systemu
W zwi
ązku z tym, że poprawki związane z bezpieczeństwem zdarzają się nie tylko w programach
zainstalowanych bezpo
średnio, ale również w ich zależnościach zalecamy częste uruchamianie tego polecenia.
Je
żeli ostatnio zmieniane były
zmienne USE
polecamy równie
ż dodanie do całej tej linii poleceń argumentu
--newuse
. Portage sprawdzi wtedy czy zmiany we flagach USE nios
ą ze sobą potrzebę przekompilowania i
przeinstalowania których
ś z zainstalowanych programów:
Listing 15: Przeprowadzenie pe
łnego uaktualnienia
Metapakiety
Niektóre z pakietów w drzewie Portage nie maj
ą żadnej zawartości, ale służą do instalacji całych kolekcji innych
pakietów. Doskona
łym przykładem takiego zestawu jest paczka
KDE
, która s
łuży do instalowania kompletnego
środowiska graficznego. Możemy dzięki jej istnieniu przy pomocy jednego polecenia dodać do systemu wszystkie
programy, biblioteki, oraz zale
żności związane z KDE.
Je
śli kiedykolwiek zdarzy nam się posiadać taką paczkę zainstalowaną w systemie to będziemy mieli pewien
problem z jej odinstalowaniem. Zwyk
łe wpisanie
emerge --unmerge
poczyni stosunkowo ma
łe spustoszenie w
niepotrzebnych nam ju
ż plikach, ponieważ ogromna ilość zależności pozostanie w systemie.
Portage jest w stanie poradzi
ć sobie z tego typu "osieroconymi" zależnościami, ale najpierw należy w pełni
uaktualini
ć swój system, uwzględniając przy tym również zmiany we flagach USE. Następnie uruchamiamy
wspomniane ju
ż wcześniej polecenie
emerge --depclean
,
żeby usunąć "osierocone" zależności, a kiedy już
sko
ńczymy je odinstalowywać przebudowujemy wszystkie programy, które wcześniej były dynamicznie z nimi
zlinkowane, a teraz ju
ż ich nie potrzebują.
Ca
ły proces sprowadza się do wpisania trzech prostych poleceń:
#
emerge --unmerge gnumeric
#
emerge --update world
#
emerge --update --deep world
#
emerge --update --deep --newuse world
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
56 z 103
2005-10-23 14:23
Listing 16: Usuwanie osieroconych zele
żności
Program
revdep-rebuild
znajduje si
ę w pakiecie
gentoolkit
wraz z kilkoma innymi bardzo przydatnymi
programami. Aby u
żywać programu należy oczywiście najpierw zainstalować ten pakiet.
Listing 17: Instalacja pakietu gentoolkit
1.d.
Kiedy Portage narzeka
...na sloty, virtuale, ga
łęzie, architektury i profile
Jak ju
ż wcześniej zaznaczaliśmy Portage jest potężnym narzędziem i posiada możliwości jakich nie ma żaden
inny program do zarz
ądzania oprogramowaniem. Postaramy się teraz w skrócie przedstawić kilka aspektów
pracy z Portage.
W Portage mo
żliwe jest posiadanie kilku różnych wersji jednego programu. Podczas gdy inne dystrybucje
obchodz
ą problem nadając po prostu takim pakietom różne numery porządkowe, jak np.
freetype
i
freetype2
Portage wykorzystuje tu technologi
ę tzw. SLOTów. Każdy ebuild posiada osobny slot dla wersji
programu, któr
ą reprezentuje. Ebuildy różnych wersji programu mogą koegzystować w jednym systemie. Na
przyk
ład paczka
freetype
posiada ebuildy z ustawionymi warto
ściami
SLOT="1"
i
SLOT="2"
.
S
ą również pakiety, które wykonują te same czynności, ale w różny sposób. Doskonałym przykładem takiego
programu s
ą loggery systemowe:
metalogd
,
sysklogd
i
syslog-ng
. Aplikacje, które do prawid
łowego
dzia
łania potrzebują loggera systemowego nie mogą posiadać w zależnościach jedynie np.
metalogd
, poniewa
ż
pozosta
łe programy z tej grupy również są w stanie spełnić tą zależność. Do tego właśnie służą Virtuale. Każdy z
loggerów systemowych dostarcza po prostu
virtual/syslog
, który jest jednocze
śnie zależnością dla innych
programów.
Oprogramowanie znajduj
ące się w drzewie Portage jest podzielone na gałęzie. Domyślnie używana jest gałąź
stabilna dla danej architektury. Nowe i nieprzetestowane programy s
ą dodawane do gałęzi niestabilnej, czyli
testowej. Dopóki ich niezawodno
ść nie zostanie potwierdzona i nie zostaną przeniesione do gałęzi stabilnej
Portage nie zainstaluje ich, chocia
ż ebuildy nowszych wersji będą się znajdowały w drzewie.
Niektóre programy s
ą dostępne tylko dla określonych architektur. Czasem na innych wcale nie działają, czasem
potrzebuj
ą jeszcze nieco testów, może się też zdarzyć, że developer danego programu nie ma po prostu czasu
lub mo
żliwości, aby przetestować taki pakiet na różnych architekturach.
Ka
żdej instalacji Gentoo przypisany jest określony
profil
, który zawiera mi
ędzy innymi listę pakietów, które są
niezb
ędne do prawidłowego działania systemu.
Zablokowane pakiety
Listing 18: Ostrze
żenie przed blokadą pakietu w Portage (z opcją --pretend)
Listing 19: Ostrze
żenie Portage przed blokadą pakietu (bez opcji --pretend)
W ebuildach znajduj
ą się określone pola, które informują Portage na temat zależności danego programu. Są dwa
rodzaje takich zale
żności: Zależności niezbędne do zbudowania programu - deklarowane przez
DEPEND
, oraz
zale
żności niezbędne do jego uruchomienia - deklarowane jako
RDEPEND
. Kiedy która
ś z tych zależności jest
niekompatybilna z jakim
ś virtualem lub pakietem jest włączana blokada.
S
ą dwie możliwości na pozbycie się blokady: Nie instalować programu, lub usunąć paczkę, która go blokuje. W
#
emerge --update --deep --newuse world
#
emerge --depclean
#
revdep-rebuild
#
emerge gentoolkit
[blocks B ] mail-mta/ssmtp (is blocking mail-mta/postfix-2.2.2-r1)
!!! Error: the mail-mta/postfix package conflicts with another package.
!!! both can't be installed on the same system together.
!!! Please use 'emerge --pretend' to determine blockers.
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
57 z 103
2005-10-23 14:23
podanym powy
żej przykładzie mogliśmy wybrać pomiędzy rezygnacją z instalacji
postfix
, lub usuni
ęciem
ssmtp
.
Mo
że również się zdarzyć, że blokują się pakiety, które nie są jeszcze zainstalowane. W takim rzadkim
przypadku nale
ży się dokładnie zastanowić czemu obie mają być zainstalowane. Zwykle można sobie poradzić
tylko z jednym z tych pakietów. Je
śli nie jest to możliwe prosimy o
Zg
łoszenie błędu
.
Zamaskowane pakiety
Listing 20: Ostrze
żenie Portage o zamaskowanych paczkach
Listing 21: Ostrze
żenie Portage o zamaskowanych paczkach - z podaniem przyczyny
Je
śli zechcemy zainstalować paczkę, która nie jest dostępna dla naszego systemu dostaniemy właśnie taki
komunikat. Mo
żemy wtedy zainstalować inny spełniający te same funkcje, ale dostępny dla naszego systemu
program lub poczeka
ć aż paczka zostanie odmaskowana i udostępniona do użytku. Maskowanie paczek nie
odbywa si
ę bez przyczyny:
S
łowo kluczowe ~arch oznacza, że aplikacja nie została jeszcze dostatecznie sprawdzona na naszej
architekturze, aby znale
źć się w gałęzi stabilnej, zwykle w takim przypadku wystarczy poczekać kilka dni,
góra tygodni i spróbowa
ć ponownej jej instalacji.
S
łowo kluczowe -arch lub -* oznacza, że program nie działa na naszej architekturze. Jeśli jednak aplikacja
dzia
ła i są dowody na poparcie tej tezy prosimy o zgłoszenie tego na naszą
bugzill
ę
.
Komunikat missing keyword oznacza,
że aplikacja nie została jeszcze przestestowana na tej
architekturze. W takim przypadku nale
ży poprosić któregoś z developerów zajmujących się tymi sprawami
o przetestowanie pakietu, lub uczyni
ć to własnoręcznie i zgłosić wyniki swoich badań na
bugzill
ę
.
Komunikat package.mask oznacza,
że pakiet jest uszkodzony, niestabilny lub co gorsza w ogóle nie
nadaje si
ę do użytku.
Komunikat z tekstem profile oznacza,
że pakiet nie pasuje do naszego "profilu" i gdybyśmy ją
zainstalowali mog
łaby zepsuć nasz system.
Brakuj
ące zależności
Listing 22: Komunikat Portage o brakuj
ących zależnościach
Aplikacja, któr
ą próbujemy zainstalować jest zależna od paczki, która nie jest dostępna dla danej architektury.
Nale
ży Sprawdzić na
bugzilli
czy problem zosta
ł nam już zgłoszony i jeśli jeszcze o nim nie wiemy, należy to
zg
łosić. Jeśli nie są mieszane różne typów gałęzi Portage w jednym systemie to problem ten nie powinien
wyst
ąpić i zwykle oznacza błąd w drzewie.
Niejasna nazwa pakietu
!!! all ebuilds that could satisfy "bootsplash" have been masked.
!!! possible candidates are:
- gnome-base/gnome-2.8.0_pre1 (masked by:
~x86 keyword
)
- lm-sensors/lm-sensors-2.8.7 (masked by:
-sparc keyword
)
- sys-libs/glibc-2.3.4.20040808 (masked by:
-* keyword
)
- dev-util/cvsd-1.0.2 (masked by:
missing keyword
)
- media-video/ati-gatos-4.3.0 (masked by:
package.mask
)
- sys-libs/glibc-2.3.2-r11 (masked by:
profile
)
emerge: there are no ebuilds to satisfy ">=sys-devel/gcc-3.4.2-r4".
!!! Problem with ebuild sys-devel/gcc-3.4.2-r2
!!! Possibly a DEPEND/*DEPEND problem.
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
58 z 103
2005-10-23 14:23
Listing 23: Ostrze
żenie Portage dotyczące niejsanych nazw paczek
Program, który próbujemy zainstalowa
ć ma nazwę, którą posiada więcej niż jeden pakiet. Aby rozwiąć ten
problem wystarczy dok
ładniej sprecyzować co chcemy zainstalować dodając przed nazwę programu kategorię,
do której on nale
ży.
Wzajemnie od siebie zale
żne paczki
Listing 24: Ostrze
żenie Portage na temat wzajemnie od siebie zależnych paczek
Sprawa jest prosta. Dwa pakiety (lub wi
ęcej), które próbujemy zainstalować są od siebie wzajemnie zależne i w
zwi
ązku z tym nie mogą zostać zainstalowane. Oznacza to błąd w drzewie Portage, który zostanie usunięty
mo
żliwie najszybciej od momentu jak pierwszy użytkownik zgłosi ten problem na
bugzill
ę
.
Nieudane pobieranie
Listing 25: Komunikat Portage o nieudanym pobieraniu
Oznacza to,
że Portage nie było w stanie pobrać źródeł żądanej aplikacji, w związku z czym zostało zmuszone
do zrezygnowania z jej instalacji i b
ędzie instalowało kolejne programy z listy. Błąd najczęściej jest spowodowany
wstawieniem z
łego adresu serwera w Ebuildzie programu, lub dlatego, że serwer lustrzany nie zdążył jeszcze się
zsynchronizowa
ć. Możliwa jest również sytuacja, że serwer, na którym znajdują się źródła z jakichś względów
jest nieczynny.
Nale
ży odczekać około godziny i spróbować ponownie zainstalować program.
Ochrona profilu systemu
Listing 26: Ostrze
żenie Portage dotyczące paczki chronionej Profilem systemu
Taki komunikat oznacza,
że paczka, która próbujemy usunąć, jest kluczowa dla działania systemu. Znajduje się
ona na li
ście Profilu jako niezbędna i w związku z tym nie zostanie usunięta.
2. Flagi USE
2.a.
Czym s
ą flagi USE?
Idea flag USE
Kiedy instalujemy Gentoo (lub dowoln
ą inną dystrybucję, albo nawet inny system operacyjny) zwykle dokonujemy
wyborów zale
żnych od środowiska, w którym przychodzi nam pracować. Instalacja dla serwera różni się od
instalacji dla stacji roboczej. Konfiguracja komputera dla gracza ró
żni się od tej dla komputera przeznaczonego
do obróbki grafiki 3D.
Nie jest tak tylko w przypadku pakietów, które wybieramy przy instalacji, ale tak
że dla cech, które dany pakiet
powinien posiada
ć. Jeżeli nie potrzebujemy obsługi OpenGL, dlaczego mielibyśmy instalować OpenGL oraz jego
!!! The short ebuild name "aterm" is ambiguous. Please specify
!!! one of the following fully-qualified ebuild names instead:
dev-libs/aterm
x11-terms/aterm
!!! Error: circular dependencies:
ebuild / net-print/cups-1.1.15-r2 depends on ebuild / app-text/ghostscript-7.05.3-r1
ebuild / app-text/ghostscript-7.05.3-r1 depends on ebuild / net-print/cups-1.1.15-r2
!!! Fetch failed for sys-libs/ncurses-5.4-r5, continuing...
(...)
!!! Some fetch errors were encountered. Please see above for details.
!!! Trying to unmerge package(s) in system profile. 'sys-apps/portage'
!!! This could be damaging to your system.
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
59 z 103
2005-10-23 14:23
obs
ługę w większości pakietów? Jeżeli nie chcemy używać KDE, dlaczego mamy budować pakiety ze wsparciem
dla KDE, podczas gdy bez problemów mo
że pracować bez niego?
Aby u
łatwić użytkownikom decydowanie o tym czego potrzebują, a czego nie chcą instalować i aktywować
stworzyli
śmy dla nich specjalne środowisko. Dzięki niemu użytkownik może wybrać to co jest mu potrzebne, a
Portage znacznie u
łatwi mu cały proces wybierania najlepszych ustawień.
Definicja flag USE
Ka
żda flaga jest słowem kluczowym, które reprezentuje wspierane funkcje oraz informacje o zależnościach dla
wybranego w
ątku. Jeżeli zdefiniujemy jakąś flagę USE Portage będzie wiedziało, że jest nam potrzebne wsparcie
funkcji przypisanej temu s
łowu kluczowemu. Oczywiście uwzględnione zostaną także pakiety zależne.
Przyjrzyjmy si
ę zatem przykładowi: słowu kluczowemu
kde
. Je
żeli nie posiadamy go wśród zmiennych
USE
wszystkie pakiety, które posiadaj
ą opcjonalną obsługę KDE zostaną skompilowane bez obsługi KDE. Wszystkie
pakiety, które b
ędą opcjonalnie zależne od KDE, zostaną zainstalowane bez bibliotek KDE jako zależności. Jeżeli
zdefiniujemy s
łowo kluczowe
kde
, to te pakiety zostan
ą skompilowane z obsługą KDE oraz biblioteki KDE
zostan
ą zainstalowane jako pakiety zależne.
Dzi
ęki dobremu doborowi słów kluczowych otrzymamy system dokładnie dostosowany do naszych potrzeb.
Jakie wyró
żniamy flagi USE?
Wyró
żniamy dwa typy flag USE: globalne oraz lokalne.
Globalne flagi USE s
ą używane dla większej ilości pakietów, są ogólnosystemowe. Większość ludzi
postrzega je w
łaśnie jako flagi USE.
Lokalne flagi USE s
ą używane przez pojedynczy pakiet w celu podjęcia decyzji specyficznych dla danego
pakietu.
Lista dost
ępnych globalnych flag USE jest dostępna
w Internecie
lub te
ż lokalnie w pliku
/usr/portage/profiles/use.desc
. Oto krótki (i bardzo niekompletny) fragment tego spisu:
Listing 1: Krótki fragment spisu dost
ępnych flag USE
Lista dost
ępnych lokalnych flag USE znajduje się w pliku /usr/portage/profiles/use.local.desc.
2.b.
U
żywanie flag USE
Deklarowanie sta
łych flag USE
Kiedy ju
ż odkryliśmy jak ważny jest właściwy dobór flag USE możemy przystąpić do omawiania tego jak się je
deklaruje.
Jak ju
ż wcześniej wspominaliśmy, wszystkie flagi
USE
s
ą deklarowane wewnątrz zmiennej USE. Aby ułatwić
u
żytkownikom szukanie oraz wybór flag USE dostarczamy dobrany przez nas domyślny zestaw. Zestaw ten jest
kolekcj
ą flag, które według nas są najczęściej wybierane przez użytkowników Gentoo. Domyślny zestaw jest
zadeklarowany w pliku make.defaults i jest cz
ęścią wybranego profilu.
Profil, którego system u
żywa jest wskazywany przez dowiązanie symboliczne /etc/make.profile. Każdy
profil dzia
ła ponad innym, większym profilem, końcowy wynik jest więc sumą wszystkich profili. Górny profil to
base
(/usr/portage/profiles/base).
Rzu
ćmy okiem na te domyślne ustawienia dla profilu 2004.3:
Listing 2: Skumulowana zmienna USE dla profilu 2004.3
gtk - Dodaje wsparcie dla x11-libs/gtk+ (The GIMP Toolkit)
gtk2 - U
żywa gtk+-2.0.0 zamiast gtk+-1.2 w przypadku, gdy program wspiera oba formaty.
gtkhtml - Dodaje wsparcie dla gnome-extra/gtkhtml
guile - Dodaje wsparcie dla dev-util/guile (Intepreter dla Scheme)
icc - U
żywa kompilatora Intel C++ jeżeli pakiet posiada dla niego wsparcie
icc-pgo - W
łącza generację danych PGO lub używa przy icc.
imap - Dodaje wsparcie dla IMAP
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
60 z 103
2005-10-23 14:23
Jak
łatwo zauważyć domyślny zestaw zawiera dość dużo słów kluczowych. Pamiętajmy, aby nie dokonywać
zmian w pliku make.defaults, w celu dostosowywania zmiennej
USE
do swoich potrzeb. Zmiany te zostan
ą
usuni
ęte przy najbliższej aktualizacji Portage!
Aby zmieni
ć domyślne ustawienia, musimy dodać (lub usunąć) słowa kluczowe w zmiennej
USE
. Dokonuje si
ę
tego definiuj
ąc globalnie zmienną
USE
w pliku /etc/make.conf. Do tej zmiennej mo
żemy dodać flagi, które są
nam potrzebne lub te
ż usunąć te, których nie potrzebujemy. Usunięcia flagi dokonuje się poprzez wstawienie
znaku minus (-) przed wybran
ą flagą.
Na przyk
ład, aby usunąć obsługę KDE i QT oraz dodać obsługę ldap, zmienna
USE
w pliku /etc/make.conf
powinna wygl
ądać następująco:
Listing 3: Przyk
ładowe ustawienia zmiennej USE w pliku /etc/make.conf
Deklarowanie flag USE tylko dla wybranego pakietu
Czasami mamy zamiar zadeklarowa
ć wybraną flagę USE dla jednej (czasem kilku) aplikacji, ale nie dla całego
systemu. Aby tego dokona
ć, będziemy zmuszeni do utworzenia katalogu /etc/portage (jeżeli nie istnieje) i
wyedytowania pliku /etc/portage/package.use.
Na przyk
ład, jeżeli nie chcemy globalnego wsparcia dla
berkdb
, ale chcieliby
śmy mieć jego wsparcie dla
mysql
,
powinni
śmy dodać:
Listing 4: Przyk
ład /etc/portage/package.use
Oczywi
ście możemy całkowicie wyłączyć flagi USE dla wybranej aplikacji. Na przykład, jeżeli nie chcemy obsługi
javy
w PHP:
Listing 5: 2 przyk
ład /etc/portage/package.use
Deklarowanie tymczasowych flag USE
Czasami zachodzi potrzeba u
życia flagi USE tylko jeden raz. Zamiast dwukrotnego edytowania pliku
/etc/make.conf
(aby wprowadzi
ć, a potem cofnąć zmiany w USE) możemy po prostu zadeklarować tą flagę
jako zmienn
ą środowiskową. Pamiętajmy jednak, że jeżeli ponownie zainstalujemy lub zaktualizujemy daną
aplikacj
ę (przypadkowo lub przy aktualizacji systemu) to takie zmiany nie zostaną ponownie wprowadzone.
Dla przyk
ładu usuniemy obsługę javy na czas instalacji mozilli.
Listing 6: U
żywanie USE jako zmiennej środowiskowej
Dziedziczenie flag USE
Niektóre pakiety nie tylko u
żywają flag USE, ale także ich dostarczają. Kiedy instalujemy taki pakiet to flagi USE,
których on dostarcza s
ą dodawane do obecnej listy flag. Aby przejrzeć listę pakietów, które dostarczają
okre
ślonych flag należy zajrzeć do pliku /etc/make.profile/use.defaults i plików use.defaults
nadrz
ędnych profili.
(Ten przyk
ład to suma ustawień w plikach base, default-linux,
default-linux/x86 i default-linux/x86/2004.3)
USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77
foomaticdb gdbm gif gpm gtk gtk2 imlib jpeg kde gnome libg++ libwww mad
mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt
quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib"
USE="-kde -qt ldap"
dev-db/mysql berkdb
dev-php/php -java
#
USE="-java" emerge mozilla
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
61 z 103
2005-10-23 14:23
Listing 7: Fragment pliku /etc/make.profile/use.defaults
Pierwsze
ństwo
Oczywi
ście istnieje pierwszeństwo w przydzielaniu priorytetów konkretnym flagom USE. Nie ma sensu
deklarowa
ć zmiennej
USE="-java"
tylko po to, aby zobaczy
ć, że
java
i tak zostanie u
żyta w związku z
zadeklarowaniem na wy
ższym poziomie. Hierarchia flag USE prezentuje się następująco (pierwsze pozycje mają
najni
ższy priorytet):
Domy
ślne ustawienia zmiennej USE znajdujące się w pliku make.defaults będącym częścią
wybranego profilu
1.
Dziedziczne ustawienia USE, je
żeli zainstalowany został pakiet znajdujący się w pliku
/etc/make.profile/use.defaults
2.
Zdefiniowana przez u
żytkownika zmienna USE znajdująca się w pliku /etc/make.conf
3.
Zdefiniowana przez u
żytkownika zmienna USE w pliku /etc/portage/package.use
4.
Zmienna USE zdefiniowana przez u
żytkownika jako zmienna środowiskowa.
5.
Aby sprawdzi
ć ostateczne ustawienia zmiennej
USE
widziane przez Portage wpisujemy polecenie
emerge
--info
. Polecenie to wska
że wszystkie istotne zmienne (włączając zmienną
USE
) z warto
ściami używanymi
aktualnie przez Portage.
Listing 8: Wykonywanie polecenia emerge --info
Adaptacja systemu do nowych flag USE
Je
żeli zmodyfikowaliśmy flagi USE i chcemy uaktualnić system tak, aby pakiety używały nowych flag USE
musimy uruchomi
ć
emerge
z opcj
ą
--newuse
.
Przekompilowujemy system z u
życiem nowych flag USE:
Listing 9: Rekompilacja systemu
Nast
ępnie uruchamiamy depclean, który usunie niepotrzebne zależności, które zostały zemergowane na "starym"
systemie, ale s
ą nieaktualne z nowymi flagami USE.
Ostrze
żenie: Uruchomienie emerge --depclean jest niebezpieczną operacją i powinno być wykonywane z zachowaniem
pe
łnej ostrożności. Należy dwukrotnie sprawdzić listę "nieaktualnych" pakietów i upewnić się, że Portage nie chce usunąć
czego
ś ważnego. W poniższym przykładzie dodajemy opcję
-p
, które wy
świetli listę pakietów do usunięcia, bez ich
usuwania.
Listing 10: Usuwanie niepotrzebnych pakietów
Po zako
ńczeniu depcleanu uruchamiamy
revdep-rebuild
, aby przebudowa
ć aplikacje, które mogą być
po
łączone dynamicznie z usuniętymi bibliotekami.
revdep-rebuild
jest cz
ęścią pakietu
gentoolkit
.
Listing 11: Uruchomienie revdep-rebuild
gnome gnome-base/gnome
gtk x11-libs/gtk+
qt x11-libs/qt
kde kde-base/kdebase
motif x11-libs/openmotif
#
emerge --info
#
emerge --update --deep --newuse world
#
emerge -p --depclean
#
revdep-rebuild
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
62 z 103
2005-10-23 14:23
Po zako
ńczeniu tych wszystkich czynności system będzie używał nowych ustawień flag USE.
2.c.
Zmienne USE specyficzne dla pakietów
Przegl
ądanie dostępnych flag USE
We
źmy na przykład
mozill
ę
i dowiedzmy si
ę których flag USE używa. Użyjemy do tego polecenia
emerge
z
parametrami
--pretend
oraz
--verbose
:
Listing 12: Przegl
ądanie używanych flag USE:
emerge
nie jest jedynym narz
ędziem wykorzystywanym w celu przeglądania informacji o pakietach. Do
dyspozycji mamy jeszcze program
equery
, znajduj
ący się w pakiecie
gentoolkit
. Zacznijmy od
zainstalowania
gentoolkit
:
Listing 13: Instalacja gentoolkit
Nast
ępnie uruchamiamy
etcat
z argumentem
uses
aby przejrze
ć flagi USE dla konkretnego pakietu. Dla
przyk
ładu sprawdźmy pakiet
gnumeric
:
Listing 14: U
życie etcat do przeglądania użytych flag USE:
3. Funkcje Portage
3.a.
Funkcje Portage
Portage posiada szereg dodatkowych funkcji, które potrafi
ą znacznie uprzyjemnić pracę z Gentoo. Wiele z nich
opiera si
ę na zewnętrznych programach, które zwiększają wydajność, stabilność i bezpieczeństwo pracy.
Aby w
łączyć lub wyłączyć określone dodatkowe funkcje Portage należy odpowiednio zmienić zmienną
FEATURES
w pliku /etc/make.conf. Zmienna ta to de facto podzielona spacjami lista nazw dodatkowych mo
żliwości. W
niektórych przypadkach, aby móc korzysta
ć z pewnych funkcji trzeba również zainstalować dodatkowe
oprogramowanie.
Nie wszystkie funkcje, które Portage obs
ługuje są tutaj wymienione. By poznać wszystkie funkcje, należy
przeczyta
ć dokumentację make.conf:
Listing 1: Warto zajrze
ć na stronę man pliku make.conf
#
emerge --pretend --verbose mozilla
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] net-www/mozilla-1.5-r1 +java +crypt -ipv6 -gtk2 +ssl
+ldap +gnome -debug +mozcalendar -mozaccess -mozxmlterm -moznoirc -moznomail
-moznocompose -moznoxft
#
emerge gentoolkit
#
equery uses gnumeric
[ Colour Code :
set
unset
]
[ Legend : (U) Col 1 - Current USE flags ]
[ : (I) Col 2 - Installed With USE flags ]
U I [ Found these USE variables in : app-office/gnumeric-1.2.0 ]
- -
libgda
: Adds GNU Data Access (CORBA wrapper)
support for gnumeric
- -
gnomedb
: unknown
+ +
python
: Adds support/bindings for the Python language
+ +
bonobo
: Adds support for gnome-base/bonobo (Gnome CORBA
interfaces)
$
man make.conf
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
63 z 103
2005-10-23 14:23
By dowiedzie
ć się, jakie FEATURES są standardowo włączone, należy uruchomić
emerge --info
i poszuka
ć
zmiennej FEATURES lub wygrepowa
ć ją:
Listing 2: Sprawdzanie, czy FEATURES s
ą już ustawione
3.b.
DistCC
Czym jest DistCC?
Distcc
to program, dzi
ęki któremu możemy rozłożyć obciążenie związane z kompilacją pomiędzy kilka
niekoniecznie identycznych maszyn. Klient
distcc
wysy
ła wszystkie potrzebne informacje do dostępnych
serwerów DistCC (na których jest uruchomiony
distccd
), które nast
ępnie kompilują części kodu źródłowego dla
klienta. Ko
ńcowym wynikiem jest krótszy czas kompilacji.
Dok
ładniejsze informacje na temat
distcc
(oraz informacje na temat tego, jak u
żywać distcc w Gentoo) można
odnale
źć
Dokumentacji Distcc Gentoo
.
Instalacja DistCC
Distcc jest dostarczany z graficznym monitorem, dzi
ęki któremu możliwe jest obserwowanie postępu zadań, które
komputer wys
łał do serwerów distcc. Jeśli używany jest Gnome, należy umieścić 'gnome' w ustawieniach flag
USE
. Je
śli nie jest zainstalowany Gnome, a mimo to chcielibyśmy mieć możliwość monitorowania distcc, należy
umie
ścić w flagach
USE
'gtk'.
Instalacja distcc, tak jak instalacja ca
łego oprogramowania dostępnego w Portage, jest niezwykle łatwa:
Uwaga: Jako
że wiemy, jak instalować pakiety binarne, od tego momentu będziemy pomijać opcję
--usepkg
.
Listing 3: Instalacja Distcc
U
żywanie distcc z Portage
Je
śli instalacja była prosta, cała reszta też powinna taka być :) Włączmy więc szybko wsparcie Portage dla
distcc
.
Najpierw nale
ży otwórzyć plik /etc/make.conf i wyedytować zmienną
FEATURES
tak, aby zawiera
ła słowo
kluczowe
distcc
. Nast
ępnie należy zmieić
MAKEOPTS
tak, aby wygl
ądała następująco:
-jX
, gdzie
X
to liczba
procesorów, na których uruchomiony jest
distccd
(w
łącznie z komputerem, na którym teraz pracujemy)
powi
ększona o jeden:
Listing 4: Przyk
ładowe ustawienia MAKEOPTS w /etc/make.conf
Teraz, nie zamykaj
ąc pliku /etc/make.conf, trzeba odkomentować linijkę zawierającą
PORTAGE_TMPDIR
i
doda
ć na końcu pliku następującą linijkę:
Listing 5: Dodawanie dodatkowej zmiennej distcc w /etc/make.conf
Teraz trzeba uruchomi
ć
distcc-config
i wprowadzi
ć listę dostępnych serwerów DistCC. W naszym prostym
przyk
ładzie zakładamy, że dostępne serwery DistCC to:
192.168.1.102
(aktualny host),
192.168.1.103
i
192.168.1.104
(dwa "zdalne" hosty):
$
emerge --info | grep FEATURES
#
emerge distcc
# Za
łóżmy, że mamy 2 jednoprocesorowe komputery, nie licząc aktualnego hosta:
MAKEOPTS="-j4"
# Nie mo
żna zapomnieć o odkomentowaniu zmiennej PORTAGE_TMPDIR
DISTCC_DIR=${PORTAGE_TMPDIR}/portage/.distcc
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
64 z 103
2005-10-23 14:23
Listing 6: U
życie trzech serwerów DistCC
Trzeba te
ż pamiętać o uruchomieniu demona
distccd
na zdalnych hostach:
Listing 7: Uruchamianie demona distcc
Gratulacje, od tej pory system b
ędzie używał kompilacji rozproszonej! Dla dokładniejszych informacji na temat
DistCC i Gentoo, polecamy
Dokumentac
ę Gentoo DistCC
.
3.c.
ccache
Czym jest ccache?
ccache
jest szybkim cache kompilatora. Dzi
ęki niemu pliki pośrednie powstające w trakcie kompilacji będą
cache'owane i podczas rekompilacji programu czas budowania plików wynikowych zostanie znacznie skrócony.
W typowych sytuacjach czas kompilacji mo
że być od 5 do 10 razy krótszy.
Szczegó
ły na temat
ccache
mo
żna odnaleźć na
stronie domowej ccache
.
Instalacja ccache
Instalowanie
ccache
w Gentoo jest bardzo proste - jedyne, co nale
ży zrobić, to zemerge'ować odpowiedni
pakiet:
Listing 8: Instalacja ccache
Portage i ccache
Na pocz
ątek trzeba otwórzyć plik /etc/make.conf i zmienić
FEATURES
tak, aby zawiera
ło słowo kluczowe
ccache
:
Listing 9: Zmiana FEATURES w /etc/make.conf
Nast
ępnie, wyedytować (lub stworzyć) zmienną
CCACHE_SIZE
(te
ż w pliku /etc/make.conf) tak, aby
zawiera
ła ilość miejsca dysku, jaka ma być przeznaczona dla
ccache
:
Listing 10: Zmiana CCACHE_SIZE w /etc/make.conf
Aby sprawdzi
ć czy ccache działa poprawnie, należy sprawdzić statystyki. Ponieważ Portage używa innych
katalogów domowych ccache, nale
ży ustawić zmienną
CCACHE_DIE
:
Listing 11: Przegl
ądanie statystyk ccache
Katalog /var/tmp/ccache jest domy
ślną lokalizacją ccache w Portage. Jeżeli chcemy zmodyfikować tę
pozycj
ę należy ustawić zmienną
CCACHE_DIR
w pliku /etc/make.conf.
Jednak gdy b
ędziemy uruchamiać polecenie
ccache
, b
ędzie ono odwoływało się do domyślnej lokalizacji
${HOME}/.ccache
, dlatego te
ż musimy za każdym razem ustawiać zmienną
CCACHE_DIR
gdy b
ędziemy
chcieli zobaczy
ć statystyki.
#
distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"
#
/etc/init.d/distccd start
#
emerge ccache
FEATURES="ccache"
CCACHE_SIZE="2G"
#
CCACHE_DIR="/var/tmp/ccache" ccache -s
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
65 z 103
2005-10-23 14:23
U
żywanie ccache dla kompilacji programów w C spoza Portage
Je
śli ccache ma być używane do kompilacji programów w C, ale nie znajdujących się w Portage, należy dodać
katalog /usr/lib/ccache/bin na pocz
ątku zmiennej PATH (przed wpisem /usr/bin). Robi się to edytując
plik /etc/profile:
Listing 12: Edytowanie /etc/profile
3.d.
Pakiety binarne
Tworzenie pakietów binarnych
Omawiali
śmy już wcześniej gotowe pakiety binarne, ale jak można zbudować swoje własne pakiety tego typu?
Je
śli dany pakiet już jest zainstalowany, można użyć polecenia
quickpkg
, które utworzy ztarowany plik
zawieraj
ący zainstalowane pliki (bardzo przydatne przy robieniu kopii zapasowych).
Listing 13: U
żywanie quickpkg
Je
śli pakiet nie jest jeszcze zainstalowany, można zainstalować go używając
emerge
i jednocze
śnie utworzyć
pakiet binarny.
emerge
ma do tego celu opcj
ę
--buildpkg
(lub krócej:
-b
):
Listing 14: Instalowanie gnumeric i budowanie binarnego pakietu
By Portage domy
ślnie tworzyło binarne pakiety, powinienno się umieścić słowo kluczowe
buildpkg
w zmiennej
FEATURES
zadeklarowanej w /etc/make.conf.
Listing 15: Automatyczne tworzenie binarnych pakietów
By nie instalowa
ć samego programu, a jedynie zbudować binarną paczkę, można użyć opcji
--buildpkgonly
(w skrócie:
-B
):
Listing 16: Budowanie binarnego pakietu dla gnumeric
3.e.
Bezpiecze
ństwo w Portage
Sandbox
W trakcie budowania i instalacji pakietów Portage u
żywa sandboxa w celu ochrony systemu. Polega to na tym, że
dopóki pakiet nie jest zainstalowany w systemie, nie mo
że naruszyć żadnego pliku poza sandboxem. Dzięki temu
Portage wie, które pliki s
ą tworzone i modyfikowane przez dany pakiet.
Kiedy kompilacja pakietu zostaje zako
ńczona, Portage "preinstaluje" pakiet w sandboxie i rejestruje, gdzie są
po
łożone poszczególne pliki tego pakietu. Następnie pliki te są przenoszone z sandboxa do właściwego systemu.
Uprawnienia u
żytkowników
Portage potrafi równie
ż budować pakiety pracując jako użytkownik "portage" (a nie root) z grupy "portage".
Budowanie pakietów jako u
żytkownik "portage" zwiększa bezpieczeństwo podczas kompilacji i instalacji
programów. Prac
ę w trybie zwykłego użytkownika można prowadzić zarówno z jak i bez sandboxa. Oczywiście
najlepiej u
żyć jednego i drugiego :)
PATH="
/usr/lib/ccache/bin
:${PATH}"
#
quickpkg gnumeric
#
emerge --buildpkg gnumeric
FEATURES="buildpkg"
#
emerge --buildpkgonly gnumeric
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
66 z 103
2005-10-23 14:23
W
łączanie sandbox i/lub userpriv
Sandbox
jest domy
ślnym ustawieniem używanym przez Portage. By aktywować
userpriv
nale
ży go dodać do
zmiennej
FEATURES
. W
łączenie
userpriv
wy
łączy
sandbox
. Aby u
żywać jednego i drugiego, trzeba w
zmiennej
FEATURES
umie
ścić również słowo kluczowe
usersandbox
:
Listing 17: W
łączanie userpriv i usersandbox
Ostrze
żenie: Należy pamiętać, aby nie usuwać słowa
sandbox
ze zmiennej
FEATURES
!
Dok
ładne sprawdzanie
Portage mo
że automatycznie reagować na niebezpieczne sytuacje (takie jak brakujące lub nieprawidłowe pliki
Manifest). Aby w
łączyć dokładne sprawdzanie należy dodać słowo kluczowe
strict
do zmiennej
FEATURES
:
Listing 18: W
łączanie dokładnego sprawdzania
Inteligentne podej
ście do praw do plików
Portage mo
że zostać skonfigurowane, aby automatycznie radziło sobie z potencjalnie niebezpiecznymi
uprawnieniami dost
ępu do plików. Portage czyści wtedy bity odczytu dla grupy i innych użytkowników - w
przypadku plików setuid oraz bit odczytu dla innych u
żytkowników - w przypadku plików setgid. Zmiana uprawnień
dokonywana jest w fazie "pre-install". Aby w
łączyć "smart file permissions", trzeba dodać słowo kluczowe
sfperms
do zmiennej
FEATURES
:
Listing 19: W
łączanie smart file system permissions
3.f.
Inne
Pomoc Portage
Istnieje jeszcze kilka innych s
łów kluczowych, które można umieścić w zmiennej
FEATURES
. Wi
ększość z nich
jest przydatna developerom i mniej interesuj
ąca dla przeciętnego użytkownika. By dowiedzieć się więcej na temat
tych dodatkowych s
łów kluczowych (lub ogólnie na temat Portage) polecamy przeczytać podręcznik systemowy
make.conf
.
Listing 20: Wi
ęcej informacji na temat Portage
4. Skrypty startowe
4.a.
Poziomy dzia
łania
Uruchamianie systemu operacyjnego
Podczas uruchamiania systemu operacyjnego na ekranie pojawia si
ę dużo, nie zawsze zrozumiałego tekstu. Gdy
przyjrze
ć się dokładniej, można zauważyć, że tekst ten jest za każdym razem taki sam. Cały ten proces
nazywamy sekwencj
ą startową, która (w większym lub mniejszym stopniu) jest skonfigurowana statycznie.
Najpierw bootloader
ładuje obraz jądra systemu do pamięci i zleca procesorowi jego wykonanie. W chwili kiedy
j
ądro zostanie załadowane i wykonane, uruchamiane są specyficzne zadania, związane ściśle z jądrem po czym
uruchamiany jest proces
init
.
FEATURES="userpriv usersandbox"
FEATURES="strict"
FEATURES="sfperms"
#
man make.conf
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
67 z 103
2005-10-23 14:23
Proces ten nast
ępnie upewnia się czy wszystkie systemy plików (zdefiniowane w /etc/fstab) zostały
poprawnie zamontowane i s
ą gotowe do pracy. Następnie uruchamiane są poszczególne skrypty umieszczone w
katalogu /etc/init.d, które maj
ą za zadanie uruchomić kolejno wszystkie usługi niezbędne do poprawnego
dzia
łania systemu.
Na koniec, kiedy wszystkie skrypty zostan
ą wykonane,
init
aktywuje terminale (w wi
ększości przypadków są to
po prostu wirtualne konsole, mi
ędzy którymi można się przełączać za pomocą kombinacji klawiszy
Alt-F1
,
Alt-F2
itd.) przy pomocy s
łużącego do tego programu pod nazwą
agetty
. Sprawdza on czy u
żytkownik może
si
ę zalogować na dany terminal, uruchamiając
login
.
Skrypty Init
Skrypty umieszczone w katalogu /etc/init.d nie s
ą uruchamiane przez
init
w przypadkowej kolejno
ści. Co
wi
ęcej, nie są uruchamiane wszystkie naraz lecz w określonej kolejności. Informacje na ten temat tej kolejności
pobierane s
ą z katalogu /etc/runlevels.
Na samym pocz
ątku
init
inicjuje te skrypty, do których dowi
ązania symboliczne znajdują się w katalogu
/etc/runlevels/boot
. Zazwyczaj uruchamiane s
ą one w kolejności alfabetycznej. Wyjątek stanowią te, które
posiadaj
ą informacje o zależnościach. Mówią one o tym, że do prawidłowego działania danej usługi musi
wcze
śniej zostać uruchomiona inna.
Kiedy skrypty maj
ące dowiązanie w /etc/runlevels/boot zostaną uruchomione,
init
kontynuuje
uruchamianie tych, do których dowi
ązania znajdują się w katalogu /etc/runlevels/default. Podobnie jak w
poprzednim przypadku, uruchamiane s
ą w kolejności alfabetycznej. Wyjątek stanowią tylko sytuacje, gdy muszą
zosta
ć spełnione zależności niezbędne do poprawnego przeprowadzenia procesu startowego.
Jak dzia
ła Init
Oczywi
ście o wszystkim nie decyduje sam
init
. Potrzebuje on stosownego pliku konfiguracyjnego, który
zawiera informacje o zadaniach jakie ma wykona
ć. Ten plik to /etc/inittab.
Na pocz
ątku tej części dokumentu jest wzmianka o tym, że
init
w pocz
ątkowej fazie działania sprawdza czy
systemy plików zosta
ły zamontowane poprawnie. Definicja tego zadania w /etc/inittab wygląda
nast
ępująco:
Listing 1: Inicjacja systemu w /etc/inittab
Powy
ższa linia mówi procesowi
init
,
że w celu inicjacji systemu ma wykonać polecenie
/sbin/rc sysinit
.
Tak naprawd
ę to właśnie skrypt /sbin/rc zajmuje się inicjacją, a
init
jedynie zleca zadania innym procesom.
Nast
ępnie
init
uruchamia wszystkie skrypty, do których dowi
ązania symboliczne znajdują się we wspomnianym
wcze
śniej katalogu /etc/runlevels/boot. W pliku konfiguracyjnym jest to zdefiniowane w następujący
sposób:
Listing 2: Kontynuacja procesu uruchamiania systemu
Ponownie skrypt
rc
wykonuje niezb
ędne zadania. Argument dla
rc
(boot) jest taki sam jak nazwa podkatalogu w
/etc/runlevels
, w którym znajduj
ą się dowiązania do skryptów wykonywanych w tej części procesu
uruchamiania systemu.
Nast
ępnie
init
sprawdza plik /etc/inittab w celu odszukania informacji, w który poziom dzia
łania (runlevel)
ma "wej
ść" system:
Listing 3: Linia initdefault
W tym przypadku jest to poziom (runlevel) o numerze 3. Dzi
ęki tej informacji
init
sprawdza co musi zosta
ć
uruchomione aby system zacz
ął działać w trzecim poziomie (rulevelu 3).
si::sysinit:/sbin/rc sysinit
rc::bootwait:/sbin/rc boot
id:3:initdefault:
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
68 z 103
2005-10-23 14:23
Listing 4: Definicja poziomów dzia
łania
W linii, która definiuje trzeci poziom, podobnie jak w przypadku poprzednich, jest odwo
łanie do skryptu
rc
. Tym
razem jest on uruchamiany z argumentem default. Argument ten brzmi tak samo, jak nazwa jednego z
podkatalogów w /etc/runlevels.
Po tym jak
rc
zako
ńczy swoją pracę,
init
decyduje o tym jakie, oraz przy u
życiu jakich poleceń, mają zostać
aktywowane wirtualne konsole.
Listing 5: Definicja konsol wirtualnych
Co to jest poziom dzia
łania (runlevel)?
Init
u
żywając notacji, w której każdy poziom działania ma swój numer decyduje o tym, który z nich ma być w
danej chwili aktywny. Poziom dzia
łania (runlevel) to stan, w którym uruchomiony jest system operacyjny. Każdy z
poziomów charakteryzuje si
ę pewnym zestawem skryptów, które muszą być wykonane podczas wchodzenia lub
wychodzenia z danego poziomu.
Gentoo posiada siedem zdefiniowanych poziomów: trzy wewn
ętrzne i cztery definiowane przez użytkownika.
Wewn
ętrzne nazywają się sysinit, shutdown i reboot. Jak nietrudno się domyślić służą one kolejno do inicjacji,
wy
łączania oraz ponownego uruchamiania systemu.
Poziomy definiowane przez u
żytkownika związane są z podkatalogami /etc/runlevels: boot, default,
nonetwork
i single. W poziomie boot uruchamiane s
ą wszystkie niezbędne usługi systemowe używane w
pozosta
łych poziomach. Pozostałe trzy różnią się rodzajem uruchamianych usług: default służy do
uruchamiania "standardowych" operacji, nonetwork wykorzystywany jest w przypadkach kiedy do uruchomienia
danej us
ługi nie jest wymagane połączenie z siecią, zaś single używany jest tylko wtedy, gdy system wymaga
naprawy.
Praca ze skryptami Init
Skrypty uruchamiane przez proces
rc
nazywane s
ą skryptami init (ang. init scripts). Umieszczone są w katalogu
/etc/init.d
i mog
ą być uruchamiane wraz z następującymi argumentami: start, stop, restart, pause, zap,
status, ineed, iuse, needsme, usesme lub broken.
Aby uruchomi
ć, zatrzymać lub przeładować dowolną usługę (wraz z powiązanymi z nią innymi usługamii) należy
u
żyć odpowiednio
start
,
stop
i
restart
. Przyk
ładowo:
Listing 6: Uruchamianie Postfixa
Uwaga: Wy
łączane lub przeładowywane są tylko te usługi,, które tego wymagają. Inne, które są powiązane z
prze
ładowywaną usługą, jeśli nie ma takiej potrzeby, nie są restartowane.
Aby wy
łączyć daną usługę pozostawiając przy życiu usługi z nią powiązane należy użyć argumentu
pause
:
Listing 7: Wy
łączanie Postfixa, zachowując włączone powiązane z nim usługi
l0:0:wait:/sbin/rc shutdown
l3:3:wait:/sbin/rc default
l4:4:wait:/sbin/rc default
l5:5:wait:/sbin/rc default
l6:6:wait:/sbin/rc reboot
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:12345:respawn:/sbin/agetty 38400 tty2 linux
c3:12345:respawn:/sbin/agetty 38400 tty3 linux
c4:12345:respawn:/sbin/agetty 38400 tty4 linux
c5:12345:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
#
/etc/init.d/postfix start
#
/etc/init.d/postfix pause
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
69 z 103
2005-10-23 14:23
Aby zobaczy
ć jaki status ma aktualnie dana usługa (włączony, wyłączony...) trzeba użyć argumentu
status
:
Listing 8: Informacje o statusie postfixa
Je
śli powyższe polecenie zwróci informację, że Postfix jest uruchomiony, lecz faktycznie będzie inaczej, należy
u
żyć argumentu
zap
w celu uaktualnienia informacji o statusie.
Listing 9: Uaktualnienie informacji o statusie postfixa
Do sprawdzenia jakie zale
żności posiada usługa trzeba użyć argumentu
iuse
lub
ineed
. Dzi
ęki
ineed
mo
żna
uzyska
ć listę tych, które są niezbędne do prawidłowego działania danej usługi.
iuse
z kolei pokazuje te us
ługi,
które mog
ą być używane lecz nie są niezbędne do jego uruchomienia i poprawnego funkcjonowania.
Listing 10: Zapytanie o list
ę usług niezbędnych do działania Postfixa
Podobnie mo
żna zapytać, które z usług w systemie wymagają danej usługi (
needsme
) lub mog
ą lecz nie muszą
go u
żywać (
usesme
):
Listing 11: Zapytanie o list
ę usług, które wymagają Postfixa
Ostatni
ą z możliwości jest użycie argumentu, który wyświetli listę brakujących z listy wymaganych usług.
Listing 12: Zapytanie o list
ę brakujących usług powiązanych z Postfixem
4.b.
Praca z rc-update
Co to jest rc-update?
W celu ustalenia poprawnej kolejno
ści uruchamiania usług system init w Gentoo korzysta z drzewa zależności.
Utrzymanie i zarz
ądzanie takim drzewem bez użycia dodatkowych narzędzi byłoby bardzo nudnym i stosunkowo
trudnym zadaniem. Na szcz
ęście w Gentoo są już gotowe narzędzia, które znacznie ułatwiają zarządzanie
poziomami dzia
łania oraz skryptami init.
Przy pomocy
rc-update
mo
żna dodawać i usuwać skrypty init z poziomu działania (runlevela).
rc-update
za
ka
żdym razem zleca skryptowi
depscan.sh
odbudowanie na nowo wspomnianego drzewa zale
żności.
Dodawanie i usuwanie us
ług
Pierwsze us
ługi są dodawane do poziomów działania już podczas procesu instalacyjnego. Wówczas można było
nie skojarzy
ć czym jest na przykład poziom o nazwie "default", teraz powinno to być jasne. W celu dodania lub
usuni
ęcia usługi,
rc-update
wymaga podania mi
ędzy innymi argumentu określającego akcję (co rc-update ma
zrobi
ć): add, del lub show.
Zatem w celu dodania lub usuni
ęcia skryptu init, należy wykonać polecenie
rc-update
wraz z argumentami
add
lub
del
, podaj
ąc dalej nazwę skryptu oraz poziomu. Na przykład:
Listing 13: Usuwanie Postfixa z poziomu default
Polecenie
rc-update
pokazuje list
ę wszystkich dostępnych skryptów wraz z informacją w którym z poziomów
#
/etc/init.d/postfix status
#
/etc/init.d/postfix zap
#
/etc/init.d/postfix ineed
#
/etc/init.d/postfix needsme
#
/etc/init.d/postfix broken
#
rc-update del postfix default
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
70 z 103
2005-10-23 14:23
s
ą one uruchamiane:
Listing 14: Informacje o dost
ępnych skryptach init
4.c.
Konfiguracja us
ług
Dlaczego dodatkowa konfiguracja jest potrzebna?
Skrypty init mog
ą być niekiedy dość skomplikowane. Dlatego część użytkowników nie jest zbytnio zainteresowana
ich edytowaniem i modyfikacj
ą z uwagi na możliwość popełnienia błędów. Jednak czasami możliwość zmiany
konfiguracji us
ługi jest bardzo ważna. Na przykład w momencie kiedy zaistnieje potrzeba samodzielnego dodania
jakiej
ś opcji.
Drugim powodem, dla którego ingerencja w skrypty init mo
że okazać się pomocna jest możliwość uaktualnienia
skryptów bez obawy przed tym,
że dokonane zmiany nie zostaną zastosowane.
Katalog /etc/conf.d
Gentoo umo
żliwia bardzo prosty sposób konfiguracji poszczególnych usług. Każdy skrypt init może być
skonfigurowany za pomoc
ą stosownego pliku w katalogu /etc/conf.d. Na przykład skrypt apache2
(/etc/init.d/apache2) posiada swój w
łasny plik konfiguracyjny, /etc/conf.d/apache2, w którym można
umie
ścić wszelkie opcj za jakimi ma się uruchomić serwer Apache 2:
Listing 15: Zmienna zdefiniowana w pliku /etc/conf.d/apache2
Plik konfiguracyjny zawiera zmienne (podobnie jak /etc/make.conf), czyni
ąc konfigurację serwisów bardzo
łatwą. Dostarcza nam to także więcej informacji na temat zmiennych (jako komentarz).
4.d.
Pisanie skryptów Init
Czy musz
ę to robić?
Nie. Zwykle umiej
ętność pisania skryptów dla inita nie jest wymaganą umiejętnością ponieważ wraz z dystrybucją
Gentoo dostarczane s
ą wszystkie niezbędne skrypty, które pozwalają na uruchamianie wszystkich usług.
Aczkolwiek umiej
ętność ta może okazać się przydatna, kiedy zainstalowana zostanie w systemie usługa, bez
u
życia do tego Portage. Wówczas będzie trzeba napisać skrypt samodzielnie.
Nie mo
żna używać skryptów init, które nie są napisane specjalnie dla Gentoo: skrypty init w Gentoo nie są
kompatybilne ze skryptami z innych dystrybucji!
Szablon
Poni
żej znajduje się szablon skryptu init.
Listing 16: Szablon skryptu init
#
rc-update show
APACHE2_OPTS="-D PHP4"
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
71 z 103
2005-10-23 14:23
Ka
żdy skrypt wymaga zdefiniowanej funkcji
start()
. Pozosta
łe funkcje są opcjonalne.
Zale
żności
W tym miejscu mo
żna zdefiniować dwa rodzaje zależności:
use
i
need
. Wspomniane wcze
śniej
need
s
ą
bardziej restrykcyjne ni
ż zależności zdefiniowane jako
use
. Nale
ży wybrać i dodać tu stosowne usługi, od których
zale
żna będzie ta, dla której piszemy skrypt. Można też zdefiniować zależności wirtualne.
Zale
żności wirtualne to takie zależności, w których nie określą się ściśle konkretnej usługi. Przykładowo skrypt init
wymaga dzia
łającego systemu logowania, lecz nie jest jasno określone jakiego. W Gentoo dostępnych jest kilka
systemów logowania (metalogd, syslog-ng, sysklogd, ...). Zdefiniowanie ka
żdego z nich (zainstalowanie i
uruchomienie wszystkich wymienionych wy
żej systemów logowania nie wydaje się być najlepszym pomysłem) nie
by
ło by dobrym rozwiązaniem. Jak można się jednak przekonać wszystkie z tych usług są akceptowane dzięki
zale
żnościom wirtualnym.
Rzu
ćmy okiem na informacje o zależnościach dla usługi Postfix.
Listing 17: Zale
żności Postfixa
Jak wida
ć, postfix:
wymaga us
ługi
net
(jest to zale
żność wirtualna, która może być spełniona przykładowo przez
/etc/init.d/net.eth0
).
wspó
łpracuje z usługą
logger
(jest to zale
żność wirtualna, którą spełnia przykładowo
/etc/init.d/syslog-ng
).
wspó
łpracuje z usługą
dns
(zale
żność wirtualna, którą spełnia przykładowo /etc/init.d/named).
wspó
łpracuje z usługą
mta
(zale
żność wirtualna, którą spełniają wszystkie serwery pocztowe).
Kontrola kolejno
ści
Czasami nie potrzeba osobnego skryptu inicjuj
ącego. Chcemy jednak, aby usługa była uruchamiana
przed
(lub
po
) uruchomieniem innej us
ługi, jeśli ta jest dostępna w systemie i uruchamia się na tym samym poziomie
dzia
łania. Informacji na ten temat możesz dostarczyć skryptowi za pomocą opcji
before
lub
after
.
Przyjrzyjmy si
ę bliżej ustawieniom usługi Portmap:
#!/sbin/runscript
depend() {
(Informacje o zale
żnościach)
}
start() {
(Komendy niezb
ędne do uruchomienia usługi)
}
stop() {
(Komendy niezb
ędne do jej wyłączenia)
}
restart() {
(Polecenia s
łużące do restartu usługi)
}
depend() {
need net
use logger dns
provide mta
}
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
72 z 103
2005-10-23 14:23
Listing 18: Funkcja depend() us
ługi Portmap
Mo
żna użyć znaku "*" aby objąć wszystkie usługi w tym samym poziomie działania, nie jest to jednak zalecana
metoda.
Listing 19: Uruchamianie skryptu init jako pierwszego w poziomie dzia
łania
Funkcje standardowe
Do tego aby funkcja
depend()
spe
łniała swoje zadanie, potrzebna jest poprawna definicja funkcji
start()
.
Funkcja ta zawiera polecenia niezb
ędne do uruchomienia usługi. Wskazane jest użycie opcji
ebegin
i
eend
,
dzi
ęki którym można poinformować użytkownika co się w danym momencie dzieje:
Listing 20: Przyk
ład funkcji start()
Wi
ęcej przykładów użycia funkcji
start()
mo
żna odnaleźć w kodzie źródłowym dostępnych w systemie
skryptów init, które znajduj
ą się w katalogu /etc/init.d. Jeśli chcemy zdobyć więcej informacji
start-stop-daemon
posiada znakomit
ą dokumentację, która dostępna jest w formacie podręcznika
systemowego:
Listing 21: Uzyskiwanie informacji o start-stop-daemon
Pozosta
łe funkcje jakie można definiować to:
stop()
i
restart()
. Nie s
ą one jednak konieczne! System init
jest dostatecznie inteligentny aby poradzi
ć sobie z ich brakiem dzięki
start-stop-daemon
.
Sk
ładnia skryptów startowych Gentoo opierają się na bashu przez co można w nich używać instrukcji zgodnych z
bashem.
Dodawanie niestandardowych opcji
Je
śli chcemy aby init posiadał więcej opcji niż te dotychczas omówione, należy dodać nową opcję do zmiennej
opts
i stworzy
ć funkcję o takiej samej nazwie. Na przykład, aby utworzyć opcję o nazwie
restartdelay
:
Listing 22: Dodanie opcji restartdelay
Zmienne konfiguracyjne dla us
ług
Aby skrypt uruchamiaj
ący daną usługę sięgał do plików konfiguracyjnych, zlokalizowanych w /etc/conf.d nie
trzeba praktycznie robi
ć niczego. W chwili kiedy skrypt zostanie uruchomiony, przetworzone zostaną następujące
depend() {
need net
before inetd
before xinetd
}
depend() {
before *
}
start() {
ebegin "Uruchamiam moja_us
ługa"
start-stop-daemon --start --quiet --exec /path/to/moja_usluga
eend $?
}
#
man start-stop-daemon
opts="${opts} restartdelay"
restartdelay() {
stop()
sleep 3
# czekaj 3 sekundy przed ponownym uruchomieniem
start()
}
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
73 z 103
2005-10-23 14:23
pliki:
/etc/conf.d/<nasz skrypt init>
/etc/conf.d/basic
/etc/rc.conf
Je
śli skrypt zawiera jakieś zależności wirtualne (np. takie jak
net
), pliki zwi
ązane z tymi zależnościami (w tym
przypadku /etc/conf.d/net) tak
że zostaną przetworzone.
4.e.
Zmiana zachowania poziomu dzia
łania
Kto mo
że mieć z tego korzyści?
Wielu u
żytkowników laptopów zna taką sytuację: dopiero po powrocie do domu chcą uruchomić
net.eth0
, gdy
ż
gdy s
ą w drodze, to i tak nie ma sensu go uruchamiać, bo i tak nie ma dostępu do sieci. W Gentoo można
dowolnie modyfikowa
ć zachowanie poziomów działania.
Mo
żemy, na przykład utworzyć drugi "domyślny" poziom, który używa innych skryptów startowych. Można
wybiera
ć, którego poziomu działania chce się używać podczas startu systemu.
U
żywanie softlevela
Po pierwsze, trzeba utworzy
ć katalog poziomów działania dla swojego drugiego "domyślnego" poziomu działania.
Jako przyk
ład stworzymy katalog offline:
Listing 23: Tworzenie katalogu poziomu dzia
łania
Nale
ży dodać potrzebne skrypty startowe do nowoutworzonego katalogu. Na przykład, jeżeli chcemy mieć
dok
ładną kopię aktualnego
domy
ślnego
poziomu dzia
łania, wyłączając
net.eth0
:
Listing 24: Dodawanie potrzebnych skryptów startowych
Teraz nale
ży wyedytować pliki konfiguracyjne bootloadera i dodać wpis dla poziomu działania
offline
. Dla
przyk
ładu w /boot/grub/grub.conf:
Listing 25: Dodawanie wpisu dla poziomu dzia
łania offline
Teraz ju
ż jest wszystko ustawione. Jeżeli wystartowany zostanie system i wybrana zostanie dodana przed chwilą
pozycja, zamiast
domy
ślnego
poziomu dzia
łania będzie używany poziom
offline
.
U
żywanie bootlevela
U
żywanie
bootlevela
jest analogiczne do
softlevela
. Jedyn
ą różnicą jest definiowanie drugiego
"rozruchowego" poziomu uruchamiania zamiast drugiego "domy
ślnego" poziomu uruchamiania.
#
mkdir /etc/runlevels/offline
(Kopiowanie wszystkich us
ług z domyślnego runlevela do runlevela offline
#
cd /etc/runlevels/default
#
for service in *; do rc-update add $service offline; done
(Usuwanie niechcianej us
ługi z runlevela offline
#
rc-update del net.eth0 offline
(Wy
świetlenie wszystkich aktywnych usług dla runlevela offline
#
rc-update show offline
(Cz
ęściowe wyjście)
acpid | offline
domainname | offline
local | offline
net.eth0 |
title Gentoo Linux Tryb Offline
root (hd0,0)
kernel (hd0,0)/kernel-2.4.25 root=/dev/hda3
softlevel=offline
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
74 z 103
2005-10-23 14:23
5. Zmienne
środowiskowe
5.a.
Zmienne
środowiskowe
Czym s
ą zmienne środowiskowe?
Zmienne
środowiskowe to nazwa obiektów zawierających informacje, które używane są przez jeden lub wiele
programów w systemie operacyjnym. Wielu u
żytkowników (zwłaszcza mających styczność z Linuksem od
niedawna) traktuje je jako co
ś nie do ogarnięcia. Nic bardziej mylnego! Dzięki zmiennym środowiskowym zmiana
konfiguracji jednego lub kilku programów jest banalnie prosta.
Przyk
łady ważniejszych zmiennych środowiskowych
Poni
ższa tabela przedstawia listę ważniejszych zmiennych używanych przez system Linux, wraz z krótkim
opisem. Przyk
ładowe ich wartości znajdują się pod tabelą.
Zmienna
Opis
PATH
Ta zmienna zawiera oddzielon
ą dwukropkami listę katalogów, w których system operacyjny szuka
plików z prawami do uruchomienia. Je
śli w konsoli wpiszesz nazwę programu mającego prawa do
uruchamiania (np.
ls
,
rc-update
lub
emerge
) lecz program ten nie znajduje si
ę w jednym z katalogów
zdefiniowanych w zmiennej
PATH
, system nie wykona tego programu (chyba,
że wpiszesz pełną
ścieżkę do miejsca gdzie znajduje się ten program, np.
/bin/ls
).
ROOTPATH
Ta zmienna spe
łnia prawie taką samą funkcję jak
PATH
, z t
ą tylko różnicą, że zawiera informacje o
katalogach które s
ą sprawdzane w poszukiwaniu programów dla superużytkownika (czyli root'a).
LDPATH
Zmienna zawiera podzielon
ą dwukropkami listę katalogów, które konsolidator przeszukuje w celu
odnalezienia bibliotek.
MANPATH
Zmienna, podobnie jak inne zawiera list
ę katalogów oddzielonych dwukropkiem, w których
man
szuka
ł
b
ędzie dokumentów w odpowiednim dla siebie formacie.
INFODIR
Zmienna ta, to lista katalogów oddzielona znakiem dwukropka, które przeszukiwane s
ą przez program
info
w celu odnalezienia dokumentacji w odpowiednim dla niego formacie.
PAGER
Zwinna zawiera
ścieżkę do programu, który służy do prezentacji zawartości plików (przykładowo
less
lub
more
)
EDITOR
Zmienna zawiera
ścieżkę do programu używanego do edycji pilków (przykładowo
nano
lub
vi
)
KDEDIRS
Zmienna zawiera list
ę oddzielonych znakiem dwukropka katalogów, w których mieszczą się materiały
zwi
ązane z środowiskiem graficznym KDE.
CLASSPATH
Zmienna zawiera list
ę katalogów oddzielonych znakiem dwukropka, w których znajdują się klasy
j
ęzyka Java.
CONFIG_PROTECT
Zmienna ta zawiera list
ę oddzielonych znakiem spacji katalogów, które mają być zabezpieczone przez
Portage w trakcie dokonywania uaktualnie
ń oprogramowania.
CONFIG_PROTECT_MASK
Zmienna zawiera list
ę oddzielonych znakiem spacji katalogów, które nie mają być zabezpieczane
przez Portage podczas dokonywania uaktualnienia oprogramowania.
Poni
żej znajdują się przykładowe wartości omówionych zmiennych środowiskowych:
Listing 1: Przyk
ładowe wartości zmiennych
5.b.
Definiowanie zmiennych globalnych
Katalog /etc/env.d
Aby skupi
ć w jednym miejscu definicje zmiennych, w Gentoo wprowadzono katalog /etc/env.d. W katalogu
PATH="/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/games/bin"
ROOTPATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
LDPATH="/lib:/usr/lib:/usr/local/lib:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"
MANPATH="/usr/share/man:/usr/local/share/man"
INFODIR="/usr/share/info:/usr/local/share/info"
PAGER="/usr/bin/less"
EDITOR="/usr/bin/vim"
KDEDIRS="/usr"
CLASSPATH="/opt/blackdown-jre-1.4.1/lib/rt.jar:."
CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb /opt/tomcat/conf \
/usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ \
/usr/share/texmf/tex/platex/config/ /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
75 z 103
2005-10-23 14:23
tym odnale
źć można pliki takie jak 00basic, 05gcc i inne. Zawierają one zmienne potrzebne do działania
programów, których nazwy najcz
ęściej są takie jak nazwy plików znajdujących się w katalogu /etc/env.d.
Na przyk
ład po zainstalowaniu
gcc
, w katalogu /etc/env.d tworzony jest plik o nazwie 05gcc, który zawiera
definicje nast
ępujących zmiennych:
Listing 2: /etc/env.d/05gcc
W innych dystrybucjach trzeba by zmieni
ć lub dodać definicje powyższych zmiennych systemowych do pliku
/etc/profile
lub w innym miejscu. W Gentoo jest to znacznie prostsze i nie wymaga w zasadzie igerencji
u
żytkownika.
W przypadku, kiedy
gcc
jest uaktualniane, uaktualniany jest tak
że plik /etc/env.d/05gcc. Dzieje się to bez
udzia
łu użytkownika.
Rozwi
ązanie to przynosi korzyści nie tylko dla systemu Portage, ale także dla użytkownika. Sporadycznie
u
żytkownik może być zapytany o to, jaką wartość ma mieć pewna zmienna środowiskowa. Może to mieć miejsce
w przypadku zmiennej
http_proxy
. Zamiast zamiast ingerowa
ć w plik /etc/profile, można utworzyć plik
(/etc/env.d/99local) i wpisa
ć tam definicje swoich zmiennych. Na przykład:
Listing 3: /etc/env.d/99local
Dzi
ęki takiemu sposobowi definiowania zmiennych środowiskowych masz szybki wgląd na w te zmienne, które
zdefiniowa
łeś samodzielnie.
Skrypt env-update
Kilka plików w katalogu /etc/env.d definiuje zmienn
ą
PATH
. Nie jest to b
łędem. Kiedy wykonane zostanie
env-update
, to skrypt ten doda do siebie wszystkie definicje tej samej zmiennej, uaktualniaj
ąc na koniec
zmienne
środowiskowe w systemie. Daje to możliwość dodawania własnych zmiennych środowiskowych bez
obawy przed tym,
że zmodyfikowana zostanie już istniejąca zmienna (pozbawiając ją dotychczasowej wartości).
Skrypt
env-update
dodaje warto
ści zmiennych w kolejności alfabetycznej. Tłumaczy to fakt dlaczego nazwy
plików w katalogu /etc/env.d zaczynaj
ą się od dwóch cyfr.
Listing 4: Kolejno
ść w jakiej env-update uaktualnia zmienne
Tylko warto
ści niektórych zmiennych są ze sobą łączone, należą do nich:
KDEDIRS
,
PATH
,
CLASSPATH
,
LDPATH
,
MANPATH
,
INFODIR
,
INFOPATH
,
ROOTPATH
,
CONFIG_PROTECT
,
CONFIG_PROTECT_MASK
,
PRELINK_PATH
i
PRELINK_PATH_MASK
. Dla wszystkich pozosta
łych zmiennych ważna jest ostatnia zdefiniowana wartość (pliki w
kolejno
ści alfabetycznej w katalogu /etc/env.d).
Uruchomienie skryptu
env-update
powoduje utworzenie zmiennych systemowych i umieszczenie ich w pliku
/etc/profile.env
(z którego korzysta /etc/profile). Skrypt ten pobiera tak
że informacje z (opisanej
wcze
śniej) zmiennej
LDPATH
i u
żywa ich do utworzenia pliku /etc/ld.so.conf. Po wykonaniu tej czynności
uruchamia polecenie
ldconfig
w celu odbudowania wspomnianego pliku /etc/ld.so.cache, który jest
u
żywany przez konsolidator.
Je
śli chcemy zaobserwować efekt, jaki przynosi wykonanie polecenia
env-update
, nale
ży uruchomić
nast
ępujące polecenia w celu uaktualnienia zmiennych środowiskowych. Użytkownicy mający już pierwszą
instalacj
ę Gentoo za sobą pewnie pamiętają polecenie:
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info"
CC="gcc"
CXX="g++"
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"
http_proxy="proxy.server.com:8080"
00basic 99kde-env 99local
+-------------+----------------+-------------+
PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin"
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
76 z 103
2005-10-23 14:23
Listing 5: Uaktualnianie zmiennych
środowiskowych
Uwaga: Powy
ższe polecenie uaktualnia zmienne tylko na terminalu, na którym zostało uruchomione i jego terminalach
potomnych. W zwi
ązku z tym jeśli pracuje się w X11 należy albo wpisywać
source /etc/profile
w ka
żdym terminalu,
który si
ę otwiera albo zrestartować serwer X tak żeby wszystkie nowe terminale posiadały nowe zmienne. Użytkownicy
mened
żerów logowania powinni przełączyć się na konto roota i wpisać
/etc/init.d/xdm restart
. Je
śli się tego nie
zrobi to konieczne b
ędzie przelogowanie się w X by uruchamiać terminale potomne z nowymi zmiennymi.
5.c.
Definiowanie zmiennych lokalnych
Zmienne u
żytkownika
Nie zawsze u
żytkownik chce aby zdefiniowane przez niego zmienne miały charakter globalny (były dostępne dla
innych u
żytkowników w systemie). Na przykład może zechcieć dodać katalog /home/moj_uzytkownik/bin i
katalog, w którym obecnie si
ę znajduje do zmiennej
PATH
, lecz nie chce aby by
ła ona dostępna dla pozostałych.
Aby zdefiniowa
ć taką zmienną środowiskową lokalną, do pliku ~/.bashrc lub ~/.bash_profile należy
doda
ć następującą linię:
Listing 6: Definicja lokalnej zmiennej PATH w pliku ~/.bashrc
Po wylogowaniu si
ę i ponownym zalogowaniu, wartość zmiennej
PATH
b
ędzie uaktualniona.
Zmienne bie
żącej sesji
W niektórych przypadkach przydatna jest mo
żliwość definiowania zmiennych, które używane są tylko w trakcie
trwania bie
żącej sesji. Na przykład może pojawić się potrzeba używania programów z katalogu tymczasowego,
który nie jest uj
ęty standardowo w zmiennej
PATH
.
W tym przypadku mo
żna po prostu zdefiniować wartość tej zmiennej za pomocą polecenia
export
. Tak
zdefiniowana zmienna b
ędzie miała swoją wartość do momentu wylogowania się.
Listing 7: Definiowanie zmiennych
środowiskowych dla bieżącej sesji
C. Praca z Portage
1. Pliki i katalogi
1.a.
Pliki Portage
Dyrektywy konfiguracji
Domy
ślna konfiguracja Portage znajduje się w pliku /etc/make.globals. Gdy mu się przyjrzymy możemy
zauwa
żyć, że Portage jest konfigurowane za pomocą zmiennych. Znaczenie poszczególnych zmiennych
omówimy w dalszych rozdzia
łach.
Portage ma równie
ż domyślne pliki konfiguracyjne wewnątrz wybranego profilu:
/etc/make.profile/make.defaults
poniewa
ż większość dyrektyw konfiguracji zależy od architektury.
Wybrany profil jest zdefiniowany przez dowi
ązanie symboliczne /etc/make.profile. Cała konfiguracja
Portage znajduje si
ę w pliku profilu oraz w plikach profili nadrzędnych. Więcej informacji o profilach i katalogu
/etc/make.profile
znajduje si
ę w dalszych częściach tego Podręcznika.
Nie nale
ży edytować plików make.globals ani make.defaults w celu zmiany jakiejkolwiek znajdującej się w
nich zmiennej. Zamiast tego powinno si
ę skorzystać z pliku /etc/make.conf, który jest pozycją nadrzędną nad
wy
żej wymienionymi plikami i jest jedynym odpowiednim miejscem do wprowadzania jakichkolwiek zmian do
#
env-update && source /etc/profile
Dwukropek na ko
ńcu zmiennej oznacza, że wejdzie do niej także katalog, w którym będzie przebywał użytkownik
PATH="${PATH}:/home/my_user/bin:"
#
export PATH="${PATH}:/home/my_user/tmp/usr/bin"
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
77 z 103
2005-10-23 14:23
konfiguracji. Je
śli brakuje inwencji i nie ma się pomysłu co wpisać do tego pliku, warto zapoznać się z
przyk
ładowym plikiem /etc/make.conf.example.
Istnieje równie
ż możliwość zdefiniowania zmiennej konfiguracyjnej Portage jako zmiennej środowiskowej, ale nie
jest to zalecana metoda.
Informacje specyficzne dla profilu
Wspominali
śmy już o katalogu /etc/make.profile. Nie jest to de facto katalog, lecz symboliczne dowiązanie
do katalogu profilu znajduj
ącego się wewnątrz /usr/portage/profiles. Profile mogą znajdować się w
dowolnym miejscu na dysku, wystarczy,
że to dowiązanie wskazuje na prawidłowy katalog.
Ka
żdy profil zawiera informacje specyficzne dla danej architektury. Należą do nich między innymi lista pakietów
niezb
ędnych dla prawidłowego działania systemu oraz lista pakietów niedziałających (bądź zamaskowanych) na
danym systemie.
Konfiguracja specyficzna dla u
żytkownika
Aby zmieni
ć związane z instalacją pakietów zachowanie Portage, należy udać się do katalogu /etc/portage.
Polecamy wpisywanie tam ca
łej własnej konfiguracji, nalegamy też na rezygnowanie z konfigurowania Portage
przez zewn
ętrzne zmienne środowiskowe.
Wewn
ątrz /etc/portage można stworzyć następujące pliki:
package.mask
, w którym znajduje si
ę lista pakietów, których nie chcemy instalować.
package.unmask
, w którym znajduje si
ę lista pakietów, które mają być instalowane wbrew zaleceniom
developerów.
package.keywords
, w którym znajduje si
ę lista pakietów, które zamierza się zainstalować pomimo
faktu,
że nie są do końca kompatybilne z danym systemem bądź architekturą.
package.use
, w którym znajduje si
ę lista flag USE, których chce się używać dla określonych pakietów, a
które ró
żnią się od tych ustawionych globalnie w systemie.
Wi
ęcej informacji o katalogu /etc/portage oraz pełna lista plików, które można tam stworzyć, znajduje się w
manualu Portage:
Listing 1: Czytanie strony man dla Portage
Zmiana lokalizacji plików i katalogów nale
żących do Portage
Omówione powy
żej pliki zawsze muszą znajdować się w tym samym, określonym miejscu, gdyż tylko tam
Portage b
ędzie ich szukało. Można jednak zmienić lokalizację innych katalogów używanych przez system, takich
jak na przyk
ład miejsce zapisywania kodu źródłowego, katalog, w którym budowane są programy, czy miejsce, w
którym znajduje si
ę drzewo Portage.
Ścieżki do powyższych miejsc są doskonale znane wszystkim użytkownikom Gentoo. Jeśli jednak z jakichś
wzgl
ędów zamierza się je zmienić można to zrobić poprzez plik /etc/make.conf. W pozostałej części tego
rozdzia
łu omówimy wszystkie specjalne lokalizacje w jakich działa Portage oraz sposoby ich zmieniania.
Wszystkie zawarte w tym dokumencie informacje mo
żna uzyskać czytając manuale Portage i make.conf.
Listing 2: Czytanie stron man Portage i pliku make.conf
1.b.
Zapisywanie plików
Drzewo Portage
Domy
ślnie drzewo Portage znajduje się w katalogu /usr/portage, który definiowany jest przez zmienną
PORTDIR. Po zmianie warto
ści tej zmiennej należy pamiętać również o wprowadzeniu odpowiednich zmian w
$
man portage
$
man portage
$
man make.conf
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
78 z 103
2005-10-23 14:23
/etc/make.profile
.
Je
śli zmodyfikuje się zmienną PORTDIR to należy poprawić też zmienne PKGDIR, DISTDIR i RPMDIR, gdyż
programy zauwa
żą zmiany PORTDIR i akcje wykorzystujące te zmienne będą dalej wykonywane wewnątrz
dawnego miejsca rezydowania drzewa Portage.
Prekompilowane pakiety
Domy
ślnie Portage nie korzysta z prekompilowanych pakietów, posiada jednak wsparcie dla nich i istnieje
mo
żliwość korzystania z nich wedle potrzeb. Jeśli zażądamy od Portage zbudowania takiej paczki trafi ona do
/usr/portage/packages
.
Ścieżka ta przechowywana jest w zmiennej PKGDIR.
Kod
źródłowy
Domy
ślnie pobrany kod źródłowy instalowanych aplikacji jest przechowywany wewnątrz
/usr/portage/distfiles
. T
ę lokalizację określa zmienna DISTDIR.
Pliki RPM
Portage umo
żliwia wygenerowanie plików RPM przy pomocy polecenia
ebuild
(Wi
ęcej informacji:
Aplikacja
Ebuild
). Domy
ślnym miejscem zapisu wygenerowanych RPM-ów jest /usr/portage/rpm, przechowywany w
zmiennej RPMDIR.
Baza Portage
Lista pakietów zainstalowanych w systemie znajduje si
ę w pliku /var/db/pkg. Pod żadnym pozorem nie należy
zmienia
ć ręcznie jego zawartości. Może to poważnie uszkodzić Portage.
Cache Portage
Cache Portage (informacje o zmianach w plikach, virtualach, drzewie zale
żności itp.) znajduje się w katalogu
/var/cache/edb
. Katalog ten mo
żna wyczyścić tylko wtedy, gdy nie jest uruchomiona żadna związana z pracą
z Portage aplikacja.
1.c.
Budowanie programów
Tymczasowe pliki Portage
Tymczasowe pliki Portage zapisywane s
ą domyślnie w katalogu /var/tmp, do którego ścieżkę przechowuje
zmienna PORTAGE_TMPDIR.
Zmiana PORTAGE_TMPDIR powinna nie
ść ze sobą zmianę szeregu innych zmiennych, które przechowują
ścieżki do katalogów wewnątrz starej lokalizacji katalogu tymczasowego. Spowodowane jest to sposobem
zarz
ądzania zmiennymi BUILD_PREFIX przez Portage.
Tworzenie katalogów
Tymczasowe, osobne dla ka
żdego budowanego pakietu katalogi powstają w /var/tmp/portage. Miejsce to
zapisane jest w zmiennej BUILD_PREFIX.
Lokalizacja systemu plików
Domy
ślnie Portage instaluje pakiety w bieżącym systemie plików (/), można jednak to zmienić ustawiając
zmienn
ą środowiskową ROOT. Przydaje się to, gdy chcemy stworzyć nowe obrazy budowy.
1.d.
Logowanie zdarze
ń
Logowanie Ebuild
Portage mo
że tworzyć osobne logi dla każdego ebuildu tylko wtedy, gdy zmienna PORT_LOGDIR wskazuje na
katalog, do którego grupa portage (z której prawami uruchamiane s
ą wszystkie procesy) ma prawa zapisu.
Domy
ślnie zmienna ta nie jest ustawiona.
2. Konfigurowanie Portage
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
79 z 103
2005-10-23 14:23
2.a.
Konfiguracja Portage
Portage konfiguruje si
ę poprzez zmienne, znajdujące się na ogół w pliku /etc/make.conf. Dla uzyskania
pe
łnych informacji nt. tego pliku zalecamy przeczytanie jego man'a:
Listing 1: Wywo
ływanie man make.conf
2.b.
Opcje budowania programów
Opcje kompilacji
W trakcie budowania programu Portage przekazuje kompilatorowi nast
ępujące zmienne:
Zmienna CFLAGS & CXXFLAGS definiuj
ą żądane flagi dla kompilacji kodu C i C++.
Zmienna CHOST zawiera informacj
ę o hoście na którym budowany jest program.
Zmienna MAKEOPTS jest przekazywana do polecenia
make
i jej warto
ść jest najczęściej ilością
równoleg
łych zadań podczas kompilacji.
Równie
ż zmienne USE są używane podczas budowania programów przez Portage, ale zostały już szczegółowo
omówione w poprzednich rozdzia
łach, więc nie ma potrzeby omawiania ich tutaj po raz kolejny.
Opcje emergowania
Kiedy Portage emerguje nowsz
ą wersję danego programu usuwa przestarzałe pliki z systemu. Usunięcie to jest
poprzedzone odpowiednim komunikatem, a u
żytkownik ma 5 sekund na przerwanie całej operacji i pozostanie
przy aktualnej wersji programu. Owe 5 sekund definiowanie jest zmienn
ą CLEAN_DELAY.
2.c.
Ochrona plików konfiguracyjnych
Chronione przez Portage katalogi
Je
śli plik nie znajduje się w lokacji chronionej przez Portage to przy instalowaniu nowszej wersji programu, do
którego nale
ży zostanie po prostu nadpisany. Te chronione katalogi również możemy skonfigurować, są one
przechowywane w zmiennej CONFIG_PROTECT.
Plik znajduj
ący się w takiej chronionej lokacji nie zostanie nadpisany, Portage zapisze nowy plik pod inną nazwą i
poinformuje u
żytkownika o pojawieniu się nowszej wersji.
Wi
ęcej informacji nt. swojego aktualnego ustawienia zmiennej CONFIG_PROTECT dostaniemy po wpisaniu
komendy
emerge --info
:
Listing 2: Znajdowanie aktualnego ustawienie zmiennej CONFIG_PROTECT
Wi
ęcej informacji na temat ochrony plików konfiguracyjnych w Portage uzyskamy wpisując:
Listing 3: Wi
ęcej informacji nt. ochrony plików konfiguracyjnych w Portage
Ods
łanianie chronionych katalogów
Żeby odsłonić konkretny chroniony katalog i umożliwić w nim bezpośrednie nadpisywanie plików dodajmy go do
zmiennej CONFIG_PROTECT_MASK.
2.d.
Opcje pobierania
Serwery
$
man make.conf
$
emerge --info | grep 'CONFIG_PROTECT='
$
emerge --help config
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
80 z 103
2005-10-23 14:23
Je
śli potrzebne są jakieś pliki lub informacje, których nie znajdują się na dysku to Portage będzie zmuszone
pobra
ć je z Internetu. Miejsca, w których program będzie ich szukał definiujemy w następujących zmiennych:
GENTOO_MIRRORS zawiera adresy serwerów lustrzanych z kodami
źródłowymi (distfiles) programów z
Portage.
PORTAGE_BINHOST zawiera adresy serwerów z prekompilowanymi pakietami.
Kolejna zmienna zawiera adres serwera rsync, z którego pobierane b
ędą aktualizacje drzewa Portage:
Zmienna SYNC zawiera nazw
ę serwera, z którego Portage będzie pobierało aktualizacje drzewa Portage.
Zmienne GENTOO_MIRRORS i SYNC mog
ą zostać ustawione przy pomocy programu
mirrorselect
. Aby
móc go u
żywać należy go zainstalować, robimy to poleceniem
emerge mirrorselect
. Wi
ęcej informacji o
programie uzyskamy wpisuj
ąc:
Listing 4: Wi
ęcej informacji o mirrorselect
Je
śli dodatkowo chcemy korzystać z serwera proxy, używamy do tego zmiennych HTTP_PROXY, FTP_PROXY,
RSYNC_PROXY.
Komendy pobierania
Do pobierania kodów
źródłowych Portage domyślnie używa programu
wget
. Mo
żemy to zmienić poprzez
zmienn
ą FETCHCOMMAND.
Portage jest w stanie wznowi
ć przerwany transfer. Używa w takim przypadku jednej z możliwości programu
wget
. Je
śli chcemy to zmienić to wystarczy wyedytować zmienną RESUMECOMMAND.
Nale
ży upewnić się, że wybrane przez nas nowe polecenia FETCHCOMMAND i RESUMECOMMAND
umieszczaj
ą kody źródłowe w odpowiednich miejscach. Wewnątrz zmiennych powinno się umieścić \${URI} i
\${DISTDIR} odpowiednie dla lokacji kodów
źródłowych i distfiles.
Mo
żna również wybrać osobne komendy pobierania w zależności od protokołu, który akurat jest używany, służą
do tego zmienne: FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP, itd.
Ustawienia rsync
Nie mo
żna wprawdzie zastąpić innym polecenia rsync używanego do aktualizowania drzewa Portage, ale mamy
za to do dyspozycji kilka zmiennych, dzi
ęki którym można dostosować niektóre parametry jego działania.
RSYNC_EXCLUDEFROM wskazuje konkretne paczki, lub kategorie paczek, które b
ędą ignorowane w
procesie uaktualniania.
RSYNC_RETRIES definiuje jak wiele razy rsync b
ędzie próbował wznowić połączenie zanim zrezygnuje,
domy
ślnie jest to 3.
RSYNC_TIMEOUT definiuje przez ile sekund rsync mo
że pozostawać w stanie bezczynności zanim uzna,
że czas oczekiwania minął. Domyślnie jest to 180, ale użytkownicy modemów zapewne zechcą przestawić
t
ą opcję na wartość 300 lub więcej.
2.e.
Konfiguracja Gentoo
Wybór ga
łęzi
Wyboru ga
łęzi dokonujemy poprzez zmianę zmiennej ACCEPT_KEYWORDS. Domyślnie jest to stabilna gałąź
naszej architektury, wi
ęcej informacji o innych gałęziach znaleźć można w dalszych rozdziałach podręcznika.
Portage Features
Przy pomocy zmiennej FEATURES aktywujemy rozmaite dodatkowe mo
żliwości Portage, które szerzej są
omawiane w po
święconym im rozdziale
Mo
żliwości Portage
.
2.f.
Zachowanie Portage
#
mirrorselect --help
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
81 z 103
2005-10-23 14:23
Zarz
ądzanie zasobami
Zmienna PORTAGE_NICENESS s
łuży do zwiększania, bądź zmniejszania wartości nice z jaką działa Portage.
Warto
ść ze zmiennej PORTAGE_NICENESS jest dodawana do aktualnej wartości nice.
Wi
ęcej informacji o wartościach nice znajdziesz w man'ie programu nice:
Listing 5: Wi
ęcej informacji o nice
Konfiguracja danych wyj
ściowych
Zmienna NOCOLOR, domy
ślnie ustawiona na "false" (fałsz), przestawiona na "true" zakaże Portage kolorowania
danych wyj
ściowych.
3. Mieszanie ró
żnych gałęzi Portage
3.a.
Ga
łęzie Portage
Ga
łąź stabilna
Zmienna ACCEPT_KEYWORDS definiuje której ga
łęzi Portage zamierzamy używać w swoim systemie.
Domy
ślnie jest to stabilna gałąź dla naszej architektury, np.
x86
.
Zwykle, zw
łaszcza początkującym użytkownikom zalecamy używanie gałęzi stabilnej. Jeśli jednak nie zależy nam
nazbyt na pe
łnej stabilności i chcemy pomóc deweloperom przysyłając raporty o błędach na stronę
to zapraszamy do dalszej lektury.
Ostrzegamy jednak,
że mogą pojawić się poważne problemy ze stabilnością systemu, pakiety mogą posiadać źle
wype
łnione zależności, mogą być uaktualniane za często (powodując ciągłą konieczność przebudowy programu)
lub po prostu ca
łkowicie zepsute. Gałąź testowa jest przeznaczona dla doświadczonych użytkowników, którzy
potrafi
ą naprawić swój system. Wszystkim pozostałym zalecamy trzymanie się gałęzi stabilnej.
Ga
łąź testowa
By u
żywać najświeższego oprogramowania warto zainteresować się testową częścią Portage. Wszystko co
nale
ży zrobić, aby przejść na tą wersję to wpisanie ~ (tyldy) przed kodem architektury.
Je
żeli deweloper sądzi, że pakiet jest funkcjonalny, ale nie został dokładnie przetestowany to należy on do gałęzi
testing. W przypadku gdy odnajdziesz b
łąd w takim pakiecie powinieneś to
zg
łosić
deweloperom Gentoo.
Je
żeli pakiet należy do gałęzi testing, na przykład, aby wybrać testową gałąź dla architektury x86 wystarczy
wyedytowa
ć plik /etc/make.conf i wstawić tam:
Listing 1: Ustawianie zmiennej ACCEPT_KEYWORDS
Gdy spróbujemy w tym momencie uaktualni
ć system, zorientujemy się, że portage chce przeinstalować naprawdę
du
żo programów. Należy również pamiętać też, że jeśli już uaktualnimy system do wersji testowej nie będzie
łatwej drogi powrotnej do oficjalnej wersji stabilnej.
3.b.
Mieszanie ga
łęzi stabilnej i testowej
Plik package.keywords
Mo
żna nakazać Portage, aby używało wersji testowych tylko niektórych paczek. Nie ma potrzeby przestawiania
ca
łego systemu w ten tryb dla jednego, lub nawet kilku programów. Aby to osiągnąć wystarczy dodać kategorię i
nazw
ę wybranej paczki do pliku /etc/portage/package.keywords. Na przykład, aby Portage używało
wersji niestabilnej programu
gnumeric
:
$
man nice
ACCEPT_KEYWORDS="~x86"
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
82 z 103
2005-10-23 14:23
Listing 2: /etc/portage/package.keywords - ostateczna wersja ustawienia dla gnumeric
Testowanie okre
ślonej wersji programu
Czasem zdarza si
ę tak, że chcemy zainstalować konkretną wersję danego programu, najczęściej z gałęzi
niestabilnej i za
żadne skarby nie chcemy, aby przy uaktualnieniach Portage instalowało (obojętnie) starszą lub
nowsz
ą wersję tego programu. Wtedy bardzo pomocna okazuje się dla nas możliwość wymuszenia na Portage
u
żywania tej właśnie wersji, a robimy to poprzez dodanie znaku = na początek linii danego programu w pliku
package.keywords
. Mo
żemy też używać innych znaków matematycznych dla określenia przedziału, do
którego nale
żą żądane przez nas wersje - są to operatory <=, <, > i >=.
W ka
żdym przypadku gdy chcemy dodać informację o wersji trzeba użyć odpowiedniego operatora. Jeśli nie
chcemy dodawa
ć żadnych informacji o pożądanych wersjach po prostu nie dodawajmy żadnych operatorów.
Na przyk
ład nakażmy portage używać wyłącznie gnumeric-1.2.13:
Listing 3: W
łączanie konkretnej wersji testowej gnumerica
3.c.
Instalacja zamaskowanych programów
Plik package.unmask
Deweloperzy Gentoo nie b
ędą pomagać w problemach związanych z użyciem tych plików. Prosimy o
zachowanie ostro
żności przy wprowadzaniu tych zmian. Nikt nie będzie odpowiadał na pytania związane z plikami
package.unmask
i
package.mask
Je
śli zechcemy zainstalować program z jakichś względów zamaskowany przez developerów Gentoo powinniśmy
najpierw zapozna
ć się z powodem ukrycia danej jego wersji, znajdującym się domyślnie w pliku
/usr/portage/profiles
, a nast
ępnie dodać dokładnie taką samą linię do pliku
/etc/portage/package.unmask
.
Na przyk
ład jeśli
=net-mail/hotwayd-0.8
jest zamaskowane mo
żna je odmaskować dodając taką linię do
pliku package.unmask:
Listing 4: /etc/portage/package.unmask
Plik package.mask
Je
śli z jakichś powodów nie życzymy sobie, aby Portage uaktualniało program do jakiejś określonej wersji
mo
żemy ją zamaskować dopisując odpowiednią linię do pliku /etc/portage/package.mask.
Na przyk
ład jeśli nie chcemy, aby Portage instalowało nowsze źródła kernela niż
gentoo-sources-2.6.8.1
dodajemy tak
ą linię do package.mask:
Listing 5: Przyk
ładowy wpis do /etc/portage/package.mask
4. Dodatkowe narz
ędzia Portage
4.a.
Etc-update
Etc-update
jest narz
ędziem, które służy do zastępowania plików konfiguracyjnych plikami
._cfg0000_<nazwa>
, umo
żliwia ich interaktywną edycję, oraz pozwala automatycznie dokonać drobnych
zmian w owych plikach. Pliki ._cfg0000_<nazwa> s
ą generowane przez Portage, gdy chce nadpisać jakiś plik
app-office/gnumeric ~x86
=app-office/gnumeric-1.2.13
=net-mail/hotwayd-0.8
>sys-kernel/gentoo-sources-2.6.8.1
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
83 z 103
2005-10-23 14:23
w katalogu chronionym zmienn
ą CONFIG_PROTECT.
Aby uruchomi
ć
etc-update
wystarczy po prostu wpisa
ć:
Listing 1: Uruchamianie etc-update
Program automatycznie dokona drobnych zmian w plikach konfiguracyjnych, a potem poka
że listę plików
chronionych i poprosi o decyzj
ę w ich sprawie. Na dole pojawi się poniższa lista dostępnych opcji wraz z ich
krótkim opisem:
Listing 2: Opcje etc-update
Po wybraniu
-1
etc-update
zako
ńczy działanie. Warto pamiętać, że jest to jedynie polecenie zakończenia
programu i nie cofnie
żadnych dokonanych wcześniej zmian. Po wybraniu
-3
lub
-5
wszystkie znajduj
ące się na
li
ście pliki konfiguracyjne zostaną nadpisane nowszymi wersjami. Dobrym pomysłem jest zaznaczenie plików,
których nie chcemy nadpisywa
ć automatycznie. Dokonuje się tego po prostu wpisując liczbę znajdującą się na
lewo od danego pliku.
Np. wybieramy sobie plik konfiguracyjny /etc/pear.conf i po wybraniu jego indeksu widzimy co
ś takiego:
Listing 3: Oddzielne uaktualnienie wybranego pliku
W ten sposób mo
żna łatwo uzyskać informacje o różnicach pomiędzy oboma plikami. Jeśli jesteśmy pewni, że
zast
ąpienie starego pliku nowym to dobry pomysł, naciskamy
1
. Mo
że zdarzyć się też tak, że nie będziemy chcieli
nowego pliku. Wtedy naciskamy
2
i zapominamy o tym,
że była nowsza wersja :) Jeśli chcemy bliżej zająć się
tym plikiem (tzw. metoda interaktywna) wybieramy
3
.
Nie ma sensu rozpisywa
ć się na temat trzeciej metody - ograniczymy się jedynie do podania możliwych w tym
trybie do wybrania komend. Generalnie wygl
ąda to tak, że program pokazuje dwie linie - oryginalną i
proponowan
ą i czeka aż wpiszemy jeden z ciągów znaków:
Listing 4: Komendy dost
ępne podczas interaktywnej edycji plików
Kiedy ju
ż skończymy uaktualniać te najważniejsze pliki, pozostałe możemy zamienić w trybie automatycznym.
Etc-update
wy
łączy się kiedy już nie będzie miało żadnych plików do uaktualnienia.
4.b.
Dispatch-conf
Dispatch-conf
to ciekawa alternatywa dla etc-update. Program posiada wszystkie opcje swojego
#
etc-update
Please select a file to
edit by entering the corresponding number.
(-1 to exit)
(-3 to auto merge all remaining files)
(-5 to auto-merge AND not use 'mv -i'):
Beginning of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
[...]
End of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
1) Replace original with update
2) Delete update, keeping original as is
3) Interactively merge original with update
4) Show differences again
ed: Edycja i u
życie obu wersji, każdej z nagłówkiem.
eb: Edycja i u
życie obu wersji.
el: Edycja i u
życie wersji po lewej.
er: Edycja i u
życie wersji po prawej.
e: Edycja nowej wersji.
l: U
życie wersji po lewej.
r: U
życie wersji po prawej.
s: Do
łączenie wspólnych linii bez informowania o tym.
v: Do
łączenie wspólnych linii z podaniem informacji.
q: Zako
ńczenie.
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
84 z 103
2005-10-23 14:23
pierwowzoru, a ponadto jest w stanie zapami
ętać kolejne zmiany jakich dokonaliśmy w naszych plikach
konfiguracyjnych, dzi
ęki czemu w razie jakiejś katastrofy możemy łatwo wrócić do poprzedniej wersji.
Tak jak w
etc-update
, mo
żna zażądać, aby program pozostawił dany plik bez zmian, zastąpić go nowym,
edytowa
ć ręcznie obecny plik lub użyć do tego celu trybu interaktywnego. Oprócz tego
dispatch-conf
ma
jeszcze kilka ciekawych opcji:
Automatycznie zamienia stare pliki nowymi je
śli zmiany w nich dotyczą jedynie linii wykomentowanych.
Automatycznie zamienia pliki, gdy zmiany dotycz
ą jedynie pustego miejsca (spacje, tabulatory, puste
wiersze itp.)
Prac
ę z programem należy zacząć od wprowadzenia odpowiednich ustawień do pliku
/etc/dispatch-conf.conf
, w tym przede wszystkim zmiennej archive-dir, wskazuj
ącej katalog gdzie
program b
ędzie archiwizował nadpisywane pliki konfiguracyjne oraz utworzenia owego katalogu.
Wi
ęcej informacji o programie dostarczy
man dispatch-conf
:
Listing 5: Czytanie manuala dispatch-conf
4.c.
Quickpkg
Program
quickpkg
umo
żliwia spakowanie zainstalowanego programu do paczki, z której następnie możemy go
bezproblemowo i b
łyskawicznie odtworzyć. Uruchamianie
quickpkg
jest proste: po prostu podajemy nazwy
programów do spakowania jako parametry i wciskamy enter.
Na przyk
ład wybieramy do spakowania:
curl
,
arts
i
procps
:
Listing 6: Przyk
ład użycia quickpkg
Po zako
ńczeniu całego procesu gotowe paczki znajdziemy w katalogu $PKGDIR/All (domyślnie
/usr/portage/packages/All
). Ponadto dla naszej wygody w $PKGDIR/<kategoria> b
ędą się
znajdowa
ły dowiązania symboliczne do wszystkich zbudowanych przez nas paczek.
5. Pozostawiaj
ąc oficjalne drzewo Portage
5.a.
U
żywanie podzestawów drzewa Portage
Pomijanie kategorii/pakietów
Mo
żemy też selektywnie uaktualniać poszczególne kategorie/pakiety oraz zignorować pozostałe
kategorie/pakiety. Osi
ągamy to zmuszając
rsync
do pomini
ęcia kategorii/pakietów podczas wykonywania
emerge --sync
.
Domy
ślnie
rsync
sprawdzi zawarto
ść /etc/portage/rsync_excludes (jeśli plik istnieje), który zawiera
kategorie lub pakiety których nie chcemy by
rsync
uaktualnia
ł.
Nale
ży zwrócić uwagę, że może to doprowadzić do problemów z zależnościami, gdyż nowe, niepominięte pakiety
mog
ą zależeć od nowych lecz pominiętych pakietów.
5.b.
Dodawanie nieoficjalnych ebuildów
Definiowanie katalogu-nak
ładki na Portage
Mo
żna zmusić Portage, aby używało ebuildów, które nie są dostępne w oficjalnym drzewie. Należy utworzyć
nowy katalog (na przyk
ład /usr/local/portage) w którym będą znajdować się dodatkowe ebuildy. Należy
pami
ętać o zachowaniu struktury katalogów takiej jak w oficjalnym drzewie Portage.
Nast
ępnie trzeba zdefiniować zmienną PORTDIR_OVERLAY w pliku /etc/make.conf tak żeby wskazywała
$
man dispatch-conf
#
quickpkg curl arts procps
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
85 z 103
2005-10-23 14:23
na w
łaśnie utworzony katalog. Możliwe jest teraz użycie tych ebuildów bez obawy, że zostaną usunięte lub
nadpisane przy nast
ępnym uruchomieniu
emerge --sync
.
Praca z kilkoma pow
łokami
Dla zaawansowanych u
żytkowników będących deweloperami i korzystających z kilku powłok, testujących pakiety
przed dodaniem ich do Portage lub chc
ących po prostu używać nieoficjalnych ebuildów pochodzących z różnych
źródeł, z pakietem
app-portage/gentoolkit-dev
zostaje dostarczony
gensync
, narz
ędzie, dzięki któremu
b
ędziemy mogli utrzymać nasze repozytorium aktualnym.
gensync
daje nam mo
żliwość aktualizacji wszystkich repozytoriów za jednym razem lub wybranie tylko kilku z
nich. Ka
żde repozytorium powinno posiadać plik .syncsource w katalogu konfiguracyjnym /etc/gensync/, w
którym znajduje si
ę lokalizacja repozytorium, nazwa, ID, itp.
Przypu
śćmy, że posiadamy dwa repozytoria nazwane
java
(dla ebuildów java) oraz
entapps
(dla aplikacji
rozwijanych w warunkach domowych, jednak na potrzeby przedsi
ębiorstw). Aktualizację, możemy przeprowadzić
w nast
ępujący sposób:
Listing 1: U
życie gensync do aktutalizacji repozytoriów
5.c.
Programy spoza Portage
Portage kontra w
łasnoręcznie zarządzane pakiety
W niektórych przypadkach chcemy skonfigurowa
ć, zainstalować i zarządzać programami samodzielnie, bez
pomocy Portage w automatyzacji tego procesu, nawet je
śli Portage zawiera te programy. Najczęściej są to
źródła jądra i sterowniki nvidii. Można skonfigurować Portage tak by myślało, że dany pakiet jest zainstalowany w
systemie. Ten proces nazywany jest wstrzykiwaniem i jest obs
ługiwany przez Portage dzięki plikowi
/etc/portage/profile/package.provided
.
Dla przyk
ładu, jeśli chcemy poinformować Portage, że ręcznie zainstalowaliśmy
development-sources-2.6.11.6
dodajemy nast
ępującą linijkę do
/etc/portage/profile/package.provided
:
Listing 2: Przyk
ładowa linijka dla pliku package.provided
6. Program Ebuild
6.a.
Emerge, a ebuild
Aplikacja
ebuild
jest niskopoziomowym interfejsem systemu Portage. Przy pomocy tej aplikacji mo
żna
wykonywa
ć konkretne akcje w danych plikach ebuild. Na przykład można samodzielnie wykonać poszczególne
etapy emergowania którego
ś z pakietów.
Aplikacji
ebuild
zwykle u
żywają deweloperzy; więcej informacji o niej można znaleźć w
Podr
ęczniku
deweloperów
. Mimo wszystko postaramy si
ę wyjaśnić te funkcje aplikacji
ebuild
, które s
ą wykorzystywane w
trakcie procesu emergowania pakietów, oraz umo
żliwiają przeprowadzenie działań konfiguracyjnych.
6.b.
R
ęczna intalacja oprogramowania
Pobieranie
źródeł i sprawdzanie sum kontrolnych
Za ka
żdym razem gdy uruchamiamy aplikację
ebuild
na pliku ebuild wszystkie zwi
ązane z nim sumy kontrolne
s
ą porównywane z sumami zapisanymi w plikach Manifest lub files/digest-<nazwa>-<wersja>.
Operacja ta jest przeprowadzana tu
ż po ukończeniu pobierania źródeł programu.
Aby pobra
ć źródła pakietu przy pomocy programy
ebuild
wpisujemy:
#
gensync java entapps
sys-kernel/development-sources-2.6.11.6
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
86 z 103
2005-10-23 14:23
Listing 1: Pobieranie
źródeł
Je
śli suma kontrolna pliku ebuild nie zgadza się z sumą kontrolną zapisaną w pliku Manifest, lub gdy suma
kontrolna jednego z pobranych plików jest niezgodna z warto
ścią zapisaną w pliku files/digest-<pakiet>
otrzymamy nast
ępujący błąd:
Listing 2: B
łąd sumy kontrolnej
W kolejnym wierszu zostanie podana nazwa pliku, który spowodowa
ł błąd.
Je
śli jesteśmy pewni, że pobrane źródła oraz plik ebuild są poprawne możemy od nowa wygenerować pliki
Manifest
i digest-<pakiet> przy pomocy funkcji digest aplikacji
ebuild
:
Listing 3: Regenerowanie Manifestu i pliku digest
Rozpakowywanie
źródeł
Aby rozpakowa
ć źródła do /var/tmp/portage (lub dowolnego innego katalogu wyznaczonego do tych celów
okre
ślonego w /etc/make.conf) użyjmy funkcji unpack aplikacji
ebuild
:
Listing 4: Rozpakowywanie
źródeł
Powy
ższe polecenie wykona funkcję src_unpack() zapisaną w ebuildzie (która sprowadza się do zwykłego
rozpakowania plików, gdy funkcja ta nie jest dok
ładniej zdefiniowana). W tym kroku są również aplikowane
wszystkie niezb
ędne patche.
Kompilowanie
źródeł
Nast
ępnym krokiem w procesie emergowania pakietów jest kompilacja źródeł. Zajmuje się tym kolejna funkcja
aplikacji
ebuild
- compile, która po kolei wykonuje instrukcje zapisane w sekcji src_compile() pliku ebuild.
Proces ten obejmuje równie
ż wszystkie działania związane z konfiguracją pakietu.
Listing 5: Kompilowanie
źródeł
Polecamy zmieni
ć sekcję src_compile() pliku ebuild, gdy chcemy zmienić opcje kompilacji. Ponadto można
nabra
ć Portage, tak aby wierzyło, że aplikacja
ebuild
uko
ńczyła wszystkie etapy kompilacji. Aby to uczynić
nale
ży samodzielnie wykonać wszystkie etapy kompilacji, a następnie utworzyć w katalogu roboczym pusty plik
.compiled
:
Listing 6: Informowanie Portage o uko
ńczonych zadaniach kompilacji
Instalowanie plików do katalogu tymczasowego
Kolejnym krokiem wykonywanym przez Portage jest instalacja wszystkich potrzebnych plików do katalogu
tymczasowego. Katalog ten b
ędzie zawierał wszystkie pliki, które muszą zostać zemergowane do systemu.
Dokonamy tego u
żywając kolejnej z funkcji aplikacji
ebuild
- install, która wykonuje komendy zawarte w sekcji
src_install() pliku ebuild.
#
ebuild
ścieżka/do/pliku/z/ebuildem fetch
!!! File is corrupt or incomplete. (Digests do not match)
>>> our recorded digest: db20421ce35e8e54346e3ef19e60e4ee
>>> your file's digest: f10392b7c0b2bbc463ad09642606a7d6
#
ebuild /
ścieżka/do/pliku/z/ebuildem digest
#
ebuild
ścieżka/do/pliku/z/ebuildem unpack
#
ebuild
ścieżka/do/pliku/z/ebuildem compile
#
touch .compiled
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
87 z 103
2005-10-23 14:23
Listing 7: Instalowanie plików
Emergowanie plików do bie
żącego systemu
Ostatni
ą czynnością wykonywaną w procesie instalacji jest wgrywanie plików do systemu i rejestrowanie ich w
Portage backend. W j
ęzyku aplikacji
ebuild
krok ten nazywa si
ę "qmerge" i składa się z następujących etapów:
Uruchomienie funkcji pkg_preinst() je
śli jest zdefiniowana.
Skopiowanie wszystkich plików do systemu.
Zarejestrowanie plików w Portage backend.
Uruchomienie funkcji pkg_postinst() je
śli jest zdefiniowana.
Żeby wykonać wszystkie te czynności użyjmy funkcji qmerge aplikacji
ebuild
.
Listing 8: Emergowanie plików do systemu
Czyszczenie katalogu tymczasowego
Na koniec mo
żna jeszcze wyczyścić tymczasowy katalog, za co odpowiedzialna jest funkcja clean aplikacji
ebuild
.
Listing 9: Czyszczenie katalogu tymczasowego
6.c.
Inne funkcje aplikacji ebuild
Uruchamianie wszystkich komend zwi
ązanych z emergowaniem
Przy pomocy funkcji merge aplikacji
ebuild
mo
żna wykonać naraz wszystkie prezentowane wcześniej
polecenia: fetch, unpack, compile, install i qmerge:
Listing 10: Instalacja oprogramowania
Konfigurowanie
Niektóre aplikacje zawieraj
ą instrukcje, które pomagają skonfigurować dany pakiet na potrzeby konkretnego
systemu. Te instrukcje zwykle s
ą interaktywne i nie mogą zostać wykonane automatycznie. Aby wykonać te
wymienione w sekcji config() ka
żdego ebuildu czynności konfiguracyjne użyj funkcji config aplikacji ebuild.
Listing 11: Konfigurowanie pakietu
Budowanie pakietów RPM
Mo
żliwe jest nakazanie Portage budowy binarnego pakietu, lub nawet pakietu RPM. Potrzebna do tego jest jedna
z dalszych funkcji aplikacji
ebuild
: funkcja package lub funkcja rpm. Istnieje mi
ędzy nimi kilka różnic:
Funkcja package bardzo przypomina funkcj
ę merge, gdyż wykonuje wszystkie niezbędne kroki (fetch,
unpack, compile, install) przed utworzeniem paczki.
Funkcja rpm tworzy pakiet RPM z plików utworzonych po wykonaniu funkcji install aplikacji
ebuild
.
#
ebuild
ścieżka/do/pliku/z/ebuildem install
#
ebuild
ścieżka/do/pliku/z/ebuildem qmerge
#
ebuild
ścieżka/do/pliku/z/ebuildem clean
#
ebuild
ścieżka/do/pliku/z/ebuildem merge
#
ebuild
ścieżka/do/pliku/z/ebuildem config
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
88 z 103
2005-10-23 14:23
Listing 12: Tworzenie paczek
Utworzony w ten sposób pakiet RPM nie zawiera informacji na temat zale
żności.
6.d.
Wi
ęcej informacji
Aby uzyska
ć więcej informacji na temat Portage, aplikacji, oraz plików ebuild warto zapoznać się z następującymi
stronami man:
Listing 13: Manuale
Inne informacje zwi
ązane z pracą dewelopera można znaleźć w
Podr
ęczniku dewelopera
D. Konfiguracja sieci w Gentoo
1. Wprowadzenie
1.a.
Pocz
ątek
Uwaga: Ten dokument zak
łada, że jądro zostało poprawnie skonfigurowane, że prawidłowo zainstalowano również jego
modu
ły dla sprzętu oraz, że znana jest nazwa interfejsu sprzętowego. Zakłada się również, że konfigurowane jest eth0, ale
mo
że to być również eth1, wlan0, etc.
Uwaga: Przy pisaniu dokumentu zak
ładamy, że jest zainstalowany baselayout-1.11.11 lub nowszy.
Przed rozpocz
ęciem konfiguracji karty sieciowej, należy wspomnieć o systemowym RC w Gentoo. Jest to
realizowane poprzez stworzenie linku symbolicznego z
net.lo
do
net.eth0
w /etc/init.d.
Listing 1: Tworzenie po
łączenia symbolicznego między net.eth0 i net.lo
System RC w Gentoo ju
ż wie o tym interfejsie. Musi również wiedzieć jak skonfigurować nowy interfejs.
Wszystkie interfejsy sieciowe s
ą konfigurowane w /etc/conf.d/net. Poniżej znajduje się przykładowa
konfiguracja dla DHCP oraz statycznych adresów.
Listing 2: Przyk
łady dla /etc/conf.d/net
(format kompatybilny z Portage)
#
ebuild
ścieżka/do/pliku/z/ebuildem package
(dla pakietów RPM)
#
ebuild
ścieżka/do/pliku/z/ebuildem rpm
$
man portage
(Portage)
$
man emerge
(Polecenie emerge)
$
man ebuild
(Polecenie ebuild)
$
man 5 ebuild
(Sk
ładnia pliku ebuild)
#
cd /etc/init.d
#
ln -s net.lo net.eth0
# Dla DHCP
config_eth0=( "dhcp" )
# Dla statycznego IP u
żywając notacji CIDR
config_eth0=( "192.168.0.7/24" )
routes_eth0=( "default via 192.168.0.1" )
# Dla statycznego IP u
żywając notacji netmaski
config_eth0=( "192.168.0.7 netmask 255.255.255.0" )
routes_eth0=( "default gw 192.168.0.1" )
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
89 z 103
2005-10-23 14:23
Uwaga: Je
żeli nie zostanie określona konfiguracja dla interfejsu, zakłada się że użyte zostanie DHCP.
Uwaga: CIDR oznacza Classless InterDomain Routing. Pocz
ątkowo adresy IPv4 były podzielone na klasy A, B lub C.
Klasyfikacja ta nie przewidywa
ła takiego wzrostu popularności Internetu i teraz stoi przed obliczem utraty unikalnych
adresów IP. CIDR pozwala u
żyć jednego schematu adresowania w celu użyciajednego adresu IP do reprezentowania wielu
adresów. Adres IP w notacji CIDR wygl
ąda jak zwykły adres IP, z tą różnicą, że kończy się ukośnikiem za którym znajduje
si
ę liczba. Dla przykładu, 192.168.0.0/16. CIDR jest dokładnie opisany w
RFC 1519
.
Teraz, gdy interfejs zosta
ł już skonfigurowany, można go uruchomić i zatrzymać używając poleceń znajdujących
si
ę poniżej.
Listing 3: Uruchamianie i zatrzymywanie sieci przy pomocy skryptów startowych
Wa
żne: W przypadku problemów z siecią, zaleca się ustawienie zmiennej
RC_VERBOSE="yes"
w /etc/conf.d/rc,
aby uzyska
ć więcej informacji na temat tego, co się dzieje.
Teraz, gdy ju
ż udało się uruchomić oraz zatrzymać urządzenie sieciowe, należałoby dodać je do domyślnych
skryptów startowych Gentoo. Poni
żej opisane jest jak tego dokonać. Ostatnie polecenie "rc" powoduje
uruchomienie tych skryptów w danym poziomie uruchomieniowym, które jeszcze nie zosta
ły jeszcze
uruchomione.
Listing 4: Konfiguracja interfejsu sieciowego, aby uruchamia
ł się przy starcie systemu
2. Zaawansowana konfiguracja
2.a.
Zaawansowana konfiguracja
Zmienna config_eth0 jest sercem konfiguracji interfejsu sieciowego. Jest to lista polece
ń konfiguracyjnych
wysokiego poziomu (w tym przypadku urz
ądzenia eth0). Każde polecenie z listy poleceń jest uruchamiane w
sposób sekwencyjny. Urz
ądzenie uruchomi się jeżeli co najmniej jedno polecenie zostanie poprawnie
uruchomione.
Poni
żej znajduje się lista wbudowanych poleceń.
Polecenie
Opis
null
Nie robi nic
noop
Je
żeli urządzenie działa i jest przypisany adres, zakończy pomyślnie konfigurację.
adres IPv4 lub IPv6
Dodaje wskazany adres do interfejsu
dhcp, adsl lub apipa (lub dowolne
polecenie pochodz
ące z modułu
producenta)
Uruchamia modu
ł, który posiada dane polecenie. Dla przykładu, "dhcp" uruchomi
modu
ł, który zapewnia dhcp i który może być którymś z grupy dhcpcd, udhcpc, dhclient
lub pump.
Je
żeli jakieś polecenie się nie wykona, można zdefiniować takie które będzie wykonywane zamiennie. Polecenie
to musi pasowa
ć dokładnie do struktury konfiguracji głównej.
Mo
żna połączyć te polecenia razem. Poniżej znajduje się kilka przykładów.
Listing 1: Przyk
łady konfiguracji
#
/etc/init.d/net.eth0 start
#
/etc/init.d/net.eth0 stop
#
rc-update add net.eth0 default
#
rc
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
90 z 103
2005-10-23 14:23
Uwaga: Przy u
żywaniu modułu ifconfig oraz dodawaniu więcej niż jednego adresu zostają utworzone aliasy dla każdego
dodatkowego adresu. Wobec tego, powy
ższe dwa przykłady utworzą interfejsy eth0, eth0:1 oraz eth0:2. Nie można nic
specjalnego z tymi interfejsami zrobi
ć, gdyż jądro oraz programy będą traktować interfejsy eth0:1 oraz eth0:2 jako eth0.
Wa
żne: Kolejność zapasowej konfiguracji jest bardzo ważna! Gdyby polecenie "null" nie zostało zdefiniowane, to polecenie
"apipa" zosta
łoby wykonane tylko w przypadku gdyby polecenie "noop" nie powiodło się.
Uwaga:
APIPA
oraz
DHCP
b
ędą omawiane później.
2.b.
Zale
żności sieciowe
Skrypty startowe znajduj
ące się w /etc/init.d mogą być zależne od konkretnego urządzenie sieciowego lub
po prostu od us
ługi 'net'. Usługa 'net' może być zdefiniowana w /etc/conf.d/rc za pomocą zmiennej
RC_NET_STRICT_CHECKING
i mo
że oznaczać różne rzeczy.
Warto
ść
Opis
none
Zak
łada, że sieć jest zawsze włączona
no
Oznacza,
że co najmniej jedna usługa sieciowa oprócz net.lo musi być włączona. Opcja ta może być używana przez
w
łaścicieli komputerów przenośnych z kartami wifi oraz zwykłymi kartami sieciowymi, w których powinno być
uruchomione jednocze
śnie tylko jedno urządzenie.
lo
Dzia
ła podobnie jak opcja 'no', z tą różnicą, że net.lo również jest wliczane. Jest to szczególnie przydatne dla osób,
którym nie robi ró
żnicy czy uruchamia się jakiekolwiek urządzenie sieciowe.
yes
Ta opcja oznacza,
że WSZYSTKIE urządzenia sieciowe MUSZĄ być uruchomione, aby można było uznać usługę 'net' za
dzia
łającą.
Ale co z net.br0 zale
żnym od net.eth0 oraz net.eth1? net.eth1 może być urządzeniem bezprzewodowym lub ppp,
które potrzebuje skonfigurowania zanim zostanie uruchomione. Czynno
ść ta nie może być dokonana w
/etc/init.d/net.br0
, gdy
ż jest to link symboliczny do net.lo.
Rozwi
ązaniem tego problemu jest samodzielne stworzenie funkcji depend() w /etc/conf.d/net
Listing 2: Zale
żność net.br0 w /etc/conf.d/net
# Dodawanie trzech adresów IPv4
config_eth0=(
"192.168.0.2/24"
"192.168.0.3/24"
"192.168.0.4/24"
)
# Dodawanie adresu IPv4 oraz dwóch adresów IPv6
config_eth0=(
"192.168.0.2/24"
"4321:0:1:2:3:4:567:89ab"
"4321:0:1:2:3:4:567:89ac"
)
# Zachowuje przypisany adres, chyba
że urządzenie zostanie wyłączone
# - w takim wypadku nale
ży przypisać kolejny adres poprzez DHCP.
# Je
żeli pobranie adresu przez DHCP nie powiedzie się - zostanie
# przypisany sta
ły adres IP poprzez APIPA
config_eth0=(
"noop"
"dhcp"
)
fallback_eth0=(
"null"
"apipa"
)
# Mo
żna użyć dowolnej zależności (use, after, before) według przykładów znalezionych w skryptach startowych
depend_br0() {
need net.eth0 net.eth1
}
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
91 z 103
2005-10-23 14:23
Wi
ęcej informacji o zależnościach można znaleźć w sekcji dotyczącej
tworzenia skryptów inicjacyjnych
w
Podr
ęczniku Gentoo.
2.c.
Nazwy zmiennych i ich warto
ści
Nazwy zmiennych s
ą dynamiczne. Najczęściej posiadają one strukturę
zmienna_${interfejs|mac|essid|apmac}
. Przyk
ładowo, zmienna
dhcpcd_eth0
przechowuje warto
ść
dla opcji dhcpcd dla interfejsu eth0, za
ś
dhcpcd_essid
przechowuje warto
ści dla opcji dhcpcd gdy interfejs
pod
łączy się do essida o nazwie "essid".
Jednak
że, nie ma zasady mówiącej o tym, iż nazwy interfejsów muszą mieć format ethx. Wiele urządzeń
bezprzewodowych posiadaj
ą nazwy takie jak wlanx, rax, jak również eth.x Dodatkowo, niektóre interfejsy
sieciowe zdefiniowane przez u
żytkowników, takie jak mostki, mogą posiadać dowolną nazwą, np. foo. Aby
urozmaici
ć życie, bezprzewodowe punkty dostępu mogą mieć nazwy ze znakami nie alfanumerycznymi - jest to
wa
żne, gdyż część opcji można konfigurować dla konkretnego ESSIDa.
Na domiar z
łego, Gentoo używa zmiennych bashowych do kontrolowania sieci - a bash nie potrafi korzystać z
niczego co pochodzi spoza angielskich znaków alfanumerycznych. Aby omin
ąć te ograniczenie, każdy znak
pochodz
ący spoza znaków dopuszczalnych zamieniany jest na znak _.
Kolejnym ograniczeniem pow
łoki bash jest to, że niektóre ze znaków muszą być specjalnie cytowane, czyli musi
pojawi
ć się przed nimi symbol "\". Znaki, których to dotyczy to
"
,
'
oraz
\
. Kolejnym ograniczeniem basha jest
zawarto
ść zmiennych - niektóre znaki muszą być eskejpowane. Można to osiągnąć poprzez zastosowanie znaku \
przed znakiem który musi by
ć tak potraktowany. Znaki które potrzebują stosowania uciekania to:
"
,
'
oraz
\
.
W poni
ższym przykładzie, zostaje użyty bezprzewodowy ESSID z najszerszym możliwym zestawem znaków.
Zostanie u
żyty ESSID
My "\ NET
:
Listing 3: przyk
ład nazewnictwa zmiennej
3. Modularna praca w sieci
3.a.
Modu
ły sieciowe
Obecnie wspierane s
ą modułowe skrypty sieciowe, co oznacza, że w prosty sposób można dodawać kolejne
urz
ądzenia sieciowe i moduły konfiguracyjne, zachowując zgodność z obecnie działającymi.
Modu
ły są domyślnie wczytywane w momencie gdy są potrzebne przez jakiś pakiet. Jeżeli zostanie zdefiniowany
modu
ł, który nie posiada zainstalowanego pakietu, wyświetlony zostanie błąd z komunikatem mówiącym jaki
pakiet nale
ży doinstalować. Najczęściej ustawień modułów używa się jedynie wtedy, gdy zostały zainstalowane
dwa lub wi
ęcej pakiety, które udostępniają tę samą usługę i należy wyznaczyć która usługa ma pierwszeństwo.
Listing 1: Ustawienia modu
łów
# Poni
ższe działa, ale domena jest nieprawidłowa
dns_domain_My____NET="My \"\\ NET"
# Powy
ższe ustawienia ustawiają domenę dns jako My "\ NET gdy karta
#bezprzewodowa po
łączy się z punktem dostępu którego ESSID to My "\
#NET
# iproute2 wa
żniejsze niż ifconfig
modules=( "iproute2" )
# Mo
żna również określić inne moduły dla interfejsu.
# W tym przypadku, udhcpc jest wa
żniejsze niż dhcpcd
modules_eth0=( "udhcpc" )
# Mo
żliwe jest również określenie których modułów nie używać wcale -
# przyk
ładowo może być używana kliencka lub kontrolowana przez linux-wlan-ng
# konfiguracja wifi, jednak
że zachodzi potrzeba skonfigurowania własnych
# ustawie
ń sieciowych dla każdego ESSID-a z którym sieć jest powiązana osobno.
modules=( "!iwconfig" )
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
92 z 103
2005-10-23 14:23
3.b.
Kontrolery sieciowe
Dost
ępne są dwa pakiety służące do kontrolowania interfejsów sieciowych: ifconfig oraz iproute2. Potrzebne jest
jedno z tych dwóch, aby cokolwiek skonfigurowa
ć na urządzeniu sieciowym.
Domy
ślnie w Gentoo używane jest ifconfig i jest dostępny w profilu systemowym. iproute2 jest potężniejszy i
elastyczniejszy, ale nie jest za
łączany domyślnie.
Listing 2: Aby zainstalowa
ć iproute2
Jako
że ifconfig oraz iproute2 są podobne w działaniu, można pozwolić, aby ich podstawowa konfiguracja
wspó
łpracowała ze sobą. Dla przykładu, poniższe linijki współpracują z obydwoma programami.
Listing 3: Przyk
łady dla ifconfig oraz iproute2
3.c.
DHCP
DHCP to pobieranie informacji o sieci (adres IP, serwery DNS, bramka, etc.). Oznacza to,
że jeżeli jest serwer
DHCP w sieci, nale
ży wskazać komputerom klienckim, aby używały serwera DHCP, dzięki czemu sieć zostanie
skonfigurowana automatycznie. Oczywi
ście, samodzielnie trzeba będzie skonfigurować takie rzeczy jak sieć
bezprzewodowa, ppp czy inne, które s
ą wymagane, zanim będzie można skorzystać z DHCP.
Z DHCP mo
żna skorzystać za pomocą dhcpcd, dhclient, pump lub udhcpc. Każdy z nich posiada swoje zalety i
wady. Oto krótkie wprowadzenie.
Modu
ł
DHCP
Paczka
Zaleta
Wada
dhclient
net-misc/dhcp
Stworzone przez ISC, te same osoby
które stworzy
ły BIND DNS Bardzo
konfigurowalne.
Konfiguracja jest bardzo skomplikowana,
oprogramowanie jest do
ść duże, nie można otrzymać
serwerów NTP z DHCP i domy
ślnie nie jest wysyłana
nazwa hosta.
dhcpcd
net-misc/dhcpcd
Przez d
ługi czas jako domyślny w
Gentoo, nie zwi
ązany z zewnętrznymi
narz
ędziami
Brak wsparcia ze strony twórców, bywa
że jest
powolne, nie zawsze potrafi przechodzi
ć w tryb
demona.
pump
net-misc/pump
Niewielkie rozmiary, nie zwi
ązany z
zewn
ętrznymi narzędziami
Brak wsparcia ze strony twórców,
źle działa przy
po
łączeniach modemowych, nie można otrzymać
serwerów NIS z DHCP
udhcpc
net-misc/udhcp
Niewielkie rozmiary - najmniejszy
dost
ępny klient dhcpd, stworzony dla
systemów wbudowanych
Żadna dystrybucja nie używa go jako domyślnego, nie
mo
żna ustawić czasu wygaśnięcia dłuższego niż 3
sekundy
Je
żeli jest zainstalowanych więcej niż jeden klient DHCP, należy określić który ma być używany. W innym
przypadku zostanie u
żyty dhcpcd, jeżeli jest dostępny.
W celu wys
łania określonych opcji do modułu dhcp, należy użyć module_eth0="..." (należy zmienić module na
nazw
ę modułu dhcp który jest używany, np. dhcpcd_eth0)
Dok
ładamy starań, aby DHCP było możliwie agnostyczne - wspieramy wobec tego następujące polecenia
u
żywając zmiennej dhcp_eth0. Domyślnie żadna z tych zmiennych nie jest ustawiona.
release - uwalnia adres IP do ponownego u
żytku
nodns - nie nadpisuje /etc/resolv.conf
#
emerge sys-apps/iproute2
# Aby iproute2 mia
ło wyższy priorytet niż ifconfig, w przypadku gdy
obydwa s
ą zainstalowane
modules=( "iproute2" )
config_eth0=( "192.168.0.2/24" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0" )
# Mo
żna również zdefiniować adres broadcast
config_eth0=( "192.168.0.2/24 brd 192.168.0.255" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" )
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
93 z 103
2005-10-23 14:23
nontp - nie nadpisuje /etc/ntp.conf
nonis - nie nadpisuje /etc/yp.conf
Listing 4: Przyk
ładowa konfiguracja DHCP w /etc/conf.d/net
Uwaga: dhcpcd, udhcpc oraz pump domy
ślnie wysyłają aktualną nazwę hosta do serwera DHCP wobec czego nie trzeba
tego definiowa
ć.
3.d.
Modem ADSL
Na pocz
ątek należy zainstalować oprogramowanie do ADSL-a.
Listing 5: Instalacja paczki rp-pppoe
Ostrze
żenie: baselayout-1.11.x wspiera jedynie PPPOE Być może w przyszłości będzie również wsparcie dla PPPOA.
Teraz nale
ży skonfigurować eth0, aby było interfejsem ADSL oraz wstawić nazwę użytkownika.
Listing 6: Konfiguracja eth0 dla ADSL
Na ko
ńcu należy ustawić nazwę użytkownika oraz hasło w /etc/ppp/pap-secrets
Listing 7: sample /etc/ppp/pap-secrets
3.e.
APIPA {Automatyczne prywatne adresowanie IP (ang. Automatic Private IP
Addressing)}
APIPA stara sie znale
źć wolny adres w zakresie 169.254.0.0-169.254.255.255 poprzez losowe odpytywanie sieci
za pomoc
ą danego interfejsu. Jeżeli nie ma żadnej odpowiedzi, taki adres jest przypisywany do interfejsu.
Aby by
ło wsparcie dla APIPA, należy zainstalować net-misc/iputils lub net-analyzer/arping
Listing 8: Konfiguracja APIPA w /etc/conf.d/net
3.f.
Wi
ązanie urządzeń sieciowych
Aby mie
ć możliwość łączenia urządzeń sieciowych, należy zainstalować net-misc/ifenslave.
# Potrzebne tylko wtedy, gdy jest wi
ęcej niż jeden moduł DHCP
modules=( "dhcpcd" )
config_eth0=( "dhcp" )
dhcpcd_eth0="-t 10"
# Wyga
śnięcie po 10 sekundach
dhcp_eth0="release nodns nontp nonis"
# Zdobywa jedynie adres
#
emerge net-dialup/rp-pppoe
config_eth0=( "adsl" )
adsl_user_eth0="u
żytkownik"
# Znak * jest wa
żny
"u
żytkownik" * "hasło"
# Najpierw próbuj skonfigurowa
ć poprzez DHCP - jeżeli to się nie
# powiedzie, próbuj APIPA
config_eth0=( "dhcp" )
fallback_eth0=( "apipa" )
# Nale
ży użyć jedynie APIPA
config_eth0=( "apipa" )
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
94 z 103
2005-10-23 14:23
Łączenie urządzeń sieciowych stosuje się w celu zwiększenia przepustowości sieci. Jeżeli w komputerze są do
dyspozycji dwie karty sieciowe znajduj
ące się w tej samej sieci, można je połączyć tak, żeby aplikacje w
rzeczywisto
ści używały obu urządzeń jednocześnie.
Listing 9: Konfiguracja
łączenia w /etc/conf.d/net
3.g.
Mostkowanie (wsparcie dla 802.1d)
Aby mie
ć możliwość mostkowania, należy zainstalować net-misc/bridge-utils.
Mostkowanie jest u
żywane do łączenia w całość dużych sieci. Dla przykładu można mieć serwer, który łączy się z
internetem przy pomocy ADSL oraz ma po
łączenie z bezprzewodową kartą sieciową by umożliwić innym
komputerom
łączenie się z internetem przy pomocy modemu ADSL. Można stworzyć mostek do połączenia
obydwu interfejsów.
Listing 10: Konfiguracja mostka w /etc/conf.d/net
Wa
żne: Aby korzystać z niektórych ustawień mostków, warto zajrzeć do dokumentacji opisującej
nazwy zmiennych
.
3.h.
Adresy MAC
Nie trzeba niczego instalowa
ć aby zmieniać adresy MAC interfejsów sieciowych, jeżeli nastąpi zmiana do
konkretnego adresu. Jednak
że, jeżeli zachodzi potrzebazamiany adresu na losowy, lub losowy adres konkretnego
rodzaju, nale
ży zainstalować net-analyzer/macchanger.
Listing 11: Przyk
ład zmiany adresu MAC
Aby po
łączyć urządzenia razem
slaves_bond0="eth0 eth1 eth2"
# Je
żeli nie trzeba przypisywać adresu IP do interfejsu
config_bond0=( "null" )
# Zale
żne od eth0, eth1 oraz eth2 jako, że mogą wymagać dodatkowej konfiguracji
depend_bond0() {
need net.eth0 net.eth1 net.eth2
}
# Konfiguracja mostka - "man btctl", aby uzyska
ć szczegółowe informacje
brctl_br0=( "setfd 0" "sethello 0" "stp off" )
# Aby doda
ć porty do mostka br0
bridge_br0="eth0 eth1"
# Nale
ży skonfigurować porty jako wartość null tak aby dhcp nie
uruchomi
ło się
config_eth0=( "null" )
config_eth1=( "null" )
# Na koniec nale
ży nadać mostkowi adres - można również użyć DHCP
config_br0=( "192.168.0.1/24" )
# Nale
ży zależeć od eth0 oraz eth1 jako że mogą wymagać dodatkowej
# konfiguracji
depend_br0() {
need net.eth0 net.eth1
}
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
95 z 103
2005-10-23 14:23
3.i.
Tunelowanie
Nie trzeba niczego instalowa
ć, aby korzystać z tunelowania, gdyż kontroler sieciowy posiada już tę możliwość.
Listing 12: Konfiguracja tunelowania w /etc/conf.d/net
3.j.
VLAN (wsparcie dla 802.1q)
Aby posiada
ć wsparcie dla VLAN'ów, należy zainstalować net-misc/vconfig
VLAN to grupa urz
ądzeń sieciowych które zachowują się tak, jakby były podłączone do jednego segmentu
sieciowego - nawet je
śli tak nie jest. Członkowie VLAN-u mogą jedynie widzieć innych członków VLAN-u, nawet
je
śli współdzielą sieć z innymi urządzeniami.
Listing 13: Konfiguracja VLAN w /etc/conf.d/net
Wa
żne: Aby używać niektórych ustawień VLAN, może zajść potrzeba zajrzenia do dokumentacji opisującej
nazwy
zmiennych
.
4. Po
łączenia bezprzewodowe
4.a.
Wst
ęp
Obecnie wspierane s
ą ustawienia dla sieci bezprzewodowych poprzez wireless-tools lub wpa_supplicant. Ważne
jest, aby pami
ętać że urządzenia bezprzewodowe są konfigurowane globalnie, a nie dla konkretnych urządzeń.
# Aby przypisa
ć adres MAC konkretnemu urządzeniu
mac_eth0="00:11:22:33:44:55"
# Aby tylko ostatnie trzy bajty by
ły losowe
mac_eth0="random-ending"
# Aby wybiera
ć losowo pomiędzy tym samym fizycznym połączeniem (np.
#
światłowód, miedź lub bezprzewodowo), wszyscy producenci
mac_eth0="random-samekind"
# Aby wybiera
ć losowo pomiędzy różnymi fizycznymi połączeniami (np.
światłowód, miedź lub bezprzewodowo), wszyscy producenci
mac_eth0="random-anykind"
# Pe
łna losowość - UWAGA: niektóre adresy MAC wygenerowane w ten sposób
mog
ą zachowywać się inaczej niż powinny
mac_eth0="random-full"
# Dla tuneli GRE
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"
# Dla tuneli IPIP
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"
# Aby skonfigurowa
ć interfejs
config_vpn0=( "192.168.0.2 peer 192.168.1.1" )
# Wyznaczanie numerów VLAN dla urz
ądzeń
# Nale
ży być pewnym, że ID VLAN-u NIE składają się z zera
vlans_eth0="1 2"
# Mo
żna również skonfigurować sam VLAN
# wystarczy zajrze
ć do manuala vconfig, aby uzyskać szczegółowe
#informacje
vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )
# Konfiguracja interfejsu w tradycyjny sposób
config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )
config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
96 z 103
2005-10-23 14:23
wpa_suppliant jest najlepszym wyborem, jednak
że nie wspiera wszystkich sterowników. Pod adresem
projektu
wpa_supplianet
mo
żna uzyskać listę zgodnych urządzeń. Dodatkowo, wpa_supplicant może łączyć się jedynie z
ESSIDami dla których zosta
ł skonfigurowany.
wireless-tools wspiera niemal
że wszystkie karty oraz sterowniki, ale nie potrafi połączyć się z access pointami,
które korzystaj
ą tylko z WPA.
Ostrze
żenie: Sterownik linux-wlan-ng nie jest w chwili obecnej wspierany przez baselayout. Spowodowane to jest tym, że
linux-wlan-ng posiada zestaw w
łasnych ustawień i konfigurację która jest zupełnie inna od pozostałych. Developerzy
linux-wlan-ng s
ą namawiani do przejścia na ustawienia zgodne z wireless-tools - gdy to zostanie dokonane, baselayout
pozwoli na u
życie linux-wlan-ng.
4.b.
WPA Supplicant
WPA Supplicant
to pakiet, który pozwala po
łączyć się do access pointów z włączonym WPA. Jego ustawienia są
do
ść płynne, ponieważ jest jeszcze w fazie beta - mimo to, działa całkiem dobrze.
Listing 1: Instalacja wpa_supplicant
Wa
żne: Należy mieć włączoną opcję CONFIG_PACKET w jądrze, aby wpa_supplicant działało.
Teraz nale
ży skonfigurować /etc/conf.d/net i wskazać, że wpa_supplicant ma być używany w pierwszej
kolejno
ści, przed wireless-tools (jeśli obydwa są zainstalowane, w pierwszej kolejności używany jest
wireless-tools).
Listing 2: Konfiguracja /etc/conf.d/net dla wpa_supplicant
Uwaga: Je
żeli używany jest sterownik host-ap, należy ustawić tryb zarządzania w karcie, zanim zacznie poprawnie
wspó
łpracować z wpa_supplicant. Aby to osiągnąć, można użyć iwconfig_eth0="mode managed" w /etc/conf.d/net.
Nie by
ło to trudne, prawda? Nadal jednak trzeba skonfigurować wpa_supplicant samo w sobie, co jest dość
trudne w zale
żności od tego jak bezpieczne są access pointy, z którymi następuje połączenie. Poniższy przykład
jest uproszczon
ą wersją z pliku /etc/wpa_supplicant.conf.example, który pochodzi z wpa_supplicant.
Listing 3: Przyk
ładowy /etc/wpa_supplicant.conf
#
emerge net-wireless/wpa_supplicant
# wpa_supplicant b
ędzie użyty przed wireless-tools
modules=( "wpa_supplicant" )
# Bardzo istotne jest, aby wskaza
ć wpa_supplicant który sterownik
# powinien zosta
ć użyty, gdyż na obecnym etapie rozwoju nie jest jeszcze
# najlepszy w samodzielnym zgadywaniu
wpa_supplicant_eth0="-Dmadwifi"
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
97 z 103
2005-10-23 14:23
# Zmiana poni
ższej linijki może spowodować, że wpa_supplicant nie będzie działać
ctrl_interface=/var/run/wpa_supplicant
# Nale
ży być pewnym, że tylko root ma dostęp do konfiguracji WPA
ctrl_interface_group=0
# Niech wpa_supplicant zajmie sie wyszukiwaniem i ustawianiem AP
ap_scan=1
# Prosty przyk
ład: WPA-PSK, PSK oraz hasło w ASCII umożliwiają poprawną autoryzację
network={
ssid="proste"
psk="bardzo tajne has
ło"
# Im wy
ższy priorytet, tym wcześniej zostanie dopasowane
priority=5
}
# Podobne jak poprzednie, ale b
ędzie dokonane skanowanie SSID-ów (dla
# AP, które nie wysy
łają swojego SSID-a)
network={
ssid="drugi ssid"
scan_ssid=1
psk="bardzo tajne has
ło"
priority=2
}
# Jedynie WPA-PSK jest u
żywane. Dowolna kombinacja hasła jest
# akceptowana
network={
ssid="przyk
ład"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
priority=2
}
# Po
łączenie bez szyfrowania (brak WPA, brak IEEE 802.1X)
network={
ssid="test-bez-szyfrowania"
key_mgmt=NONE
}
# Po
łączenie ze współdzielonym WEP (brak WPA, brak IEEE 802.1X)
network={
ssid="test-statycznego-wep"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
}
# Po
łączenie ze współdzielonym WEP z kluczem (brak WPA, brak IEEE
# 802.1X) u
żywając autoryzację ze współdzielonym kluczem IEEE 802.11
network={
ssid="test2-statycznego-wep"
key_mgmt=NONE
wep_key0="abcde"
wep_key1=0102030405
wep_key2="1234567890123"
wep_tx_keyidx=0
priority=5
auth_alg=SHARED
}
# Sie
ć IBSS/ad-hoc z WPA-None/TKIP
network={
ssid="test adhoc"
mode=1
proto=WPA
key_mgmt=WPA-NONE
pairwise=NONE
group=TKIP
psk="tajne has
ło"
}
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
98 z 103
2005-10-23 14:23
4.c.
Narz
ędzia do sieci bezprzewodowych
Wst
ępna konfiguracja i tryb zarządzany
Wireless Tools
posiadaj
ą podstawowe metody na konfigurację podstawowych interfejsów sieci bezprzewodowych
a
ż do ustawień poziomu zabezpieczeń WEP. Mimo, że WEP to dość słaba metoda zabezpieczeń, jest
najcz
ęściej stosowana.
Konfiguracje Wireless Tools s
ą kontrolowane przy pomocy kilku głównych zmiennych. Przykładowa konfiguracja
poni
żej powinna opisać wszystko co jest potrzebne. Jedyne o czym należy pamiętać, to fakt, że dana
konfiguracja nie oznacza "po
łącz się z najlepszym nieszyfrowanym access pointem" - zawsze nastąpi próba
po
łączenia z czymkolwiek.
Listing 4: Instalacja wireless-tools
Uwaga: Mimo,
że ustawienia sieci bezprzewodowych można trzymać w /etc/conf.d/wireless, my radzimy
przetrzyma
ć je w /etc/conf.d/net
Wa
żne: Koniecznie należy zajrzeć do dokumentacji opisującej
nazwy zmiennych
.
Listing 5: Przyk
ładowe ustawienia iwconfig w /etc/conf.d/net
Konfiguracja wyboru punktów dost
ępu
Mo
żna dodać kilka opcji, aby lepiej skonfigurować wybór Access Pointów, jednakże na ogół nie są one
wymagane.
Mo
żna zdecydować czy łączymy się tylko z preferowanymi Access Pointami czy nie. Domyślnie, jeśli żadne z
ustawie
ń nie zadziałają i można połączyć się do nieszyfrowanego Access Pointa, to nastąpi połączenie. Można to
kontrolowa
ć przy pomocy zmiennej
associate_order
. Poni
żej znajduje się tabela z wartościami oraz jak
wp
ływają na kontrolę.
Warto
ść
Opis
any
Domy
ślne zachowanie
preferredonly
B
ędzie można połączyć się jedynie z AP z listy preferowanych
forcepreferred
B
ędą dokonywane połączenia z AP w preferowanej kolejności jeśli nie zostały one odnalezione w skanowaniu
forcepreferredonly
Nie b
ędzie skanowania w poszukiwaniu AP - w zamian nastąpi próba połączenia się z każdym w kolejności
forceany
Podobnie jak forcepreferred + po
łącz się z dowolnym dostępnym AP
Ostatecznie, istnieje mo
żliwość wyboru blacklist_aps oraz unique_ap. blacklist_aps działa podobnie jak
preferred_aps. unique_ap to warto
ść tak lub nie które wskazuje czy drugi interfejs bezprzewodowy może
#
emerge net-wireless/wireless-tools
# W pierwszej kolejno
ści zostanie użyte iwconfig przed
# wpa_supplicant
modules=( "iwconfig" )
# Konfiguracja dla Access Pointów nazwanych ESSID1 oraz ESSID2
# Mo
żna skonfigurować do 4 kluczy WEP, ale tylko jeden może być aktywny
# w danym momencie, tak aby domy
ślny indeks [1] był ustawiony na klucz [1] i z
# powrotem aby ustawi
ć klucz na [1]. Dokonuje się tego w przypadku gdy
# ESSID zosta
ł skonfigurowany dla kluczy WEP innych niż 1.
# Poprzedzaj
ąc klucz przy pomocy s: oznacza że jest to klucz w ASCII, w innym
# przypadku jest to klucz w HEX
# enc open oznacza otwarte bezpiecze
ństwo (najbezpieczniejsze)
# enc restricted oznacza zastrze
żone bezpieczeństwo (mniej bezpieczne)
key_ESSID1="[1] s:twojklucz key [1] enc open"
key_ESSID2="[1] aaaa-bbbb-cccc-dd key [1] enc restricted"
# Poni
ższe zadziała tylko gdy będą poszukiwane dostępne Access Pointy
# Niekiedy widocznych jest wi
ęcej Access Pointów, więc należy
# zdefiniowa
ć który jest preferowany i w jakiej kolejności należy się łączyć
preferred_aps=( "ESSID1" "ESSID2" )
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
99 z 103
2005-10-23 14:23
po
łączyć się do tego samego Access Pointa co pierwszy interfejs.
Listing 6: przyk
ład z blacklist_aps oraz unique_ap
Tryb Ad-Hoc oraz Zarz
ądzany
Je
żeli zachodzi potrzeba ustawienia własnego węzła Ad-Hoc w przypadku braku możliwości połączenia się z
jakimkolwiek Access Pointem, to równie
ż jest to możliwe.
Listing 7: Przenie
ś się na tryb ad-hoc
A co z po
łączeniami do sieci Ad-Hoc lub działaniem w trybie zarządcy, aby stać się Access Pointem? Poniżej
znajduje si
ę konfiguracja do tego! Może zajść potrzeba, aby ustawić klucze WEP pokazane powyżej.
Listing 8: Przyk
ładowa konfiguracja ad-hoc/master
Wa
żne: Poniżej znajduje się dosłowny wycinek z BSD wavelan documentation, który znajduje się w zasobach
dokumentacji NetBSD
Jest 14 kana
łów do wyboru. Kanały od 1 do 11 są legalne w Północnej Ameryce, kanały od 1 do 13
w wi
ększości Europy, kanały od 10 do 13 we Francji, a kanał 14 jest przeznaczony dla Japonii. W przypadku wątpliwości,
nale
ży odnieść się do dokumentacji znajdującej się przy karcie bezprzewodowej lub access poincie. Należy upewnić się, że
wybrany kana
ł jest ten sam który jest obsługiwany przez access point (lub inna karta znajdująca się w sieci typu ad-hoc).
Domy
ślnym kanałem dla kart w Północnej Ameryce oraz Europie jest kanał 3; domyślny dla kart francuskich jest 11, zaś
dla tych sprzedawanych w Japonii to 14.
Rozwi
ązywanie problemów z Wireless Tools
Jest kilka zmiennych, których mo
żna użyć do ustawienia i uruchomienia sieci bezprzewodowej, pomimo
napotkanych problemów. Poni
żej znajduje się tabela, która przedstawia zmienne do wypróbowania.
# Niekiedy nie powinno nast
ąpić połączenie do poszczególnych access
# pointów
blacklist_aps=( "ESSID3" "ESSID4" )
# Je
żeli jest więcej niż jedna karta bezprzewodowa, można określić czy
# powinno nast
ąpić połączenie każdej karty z tym samym punktem dostępu czy nie
# Warto
ści to "yes" (tak) lub "no" (nie)
# Domy
ślnie jest "yes"
unique_ap="yes"
adhoc_essid_eth0="Ten W
ęzeł Adhoc"
# Ustawienie trybu - mo
że być zarządzany (domyślnie), ad-hoc lub
# zarz
ądcy. Nie wszystkie sterowniki umozumożliwiajązystanie z tych
# trybów
mode_eth0="ad-hoc"
# Ustawienie ESSID interfejsu
# W trybie zarz
ądzanym, zmusza to interfejs do połączenia się z wyznaczonym
# ESSIESSID-em niczym innym
essid_eth0="Ten w
ęzeł Adhoc"
# Je
śli nie zostanie wyznaczony żaden inny, zostanie użyty 3.
channel_eth0="9"
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
100 z 103
2005-10-23 14:23
Zmienna
Domy
ślna
warto
ść
Opis
iwconfig_eth0
Szczegó
ły dotyczące iwconfig znajdują się w manualu iwconfig
iwpriv_eth0
Szczegó
ły dotyczące iwpriv znajdują się w manualu iwpriv
sleep_scan_eth0
0
Liczba sekund u
śpienia przed rozpoczęciem skanowania. Jest to potrzebne dla tych
sterowników, które potrzebuj
ą więcej czasu na uruchomienie zanim mogą zostać
u
żyte.
sleep_associate_eth0
5
Liczba sekund oczekiwania na po
łączenie się interfejsu z Access Pointem przed
przeniesieniem si
ę na kolejny
associate_test_eth0
MAC
Niektóre sterowniki nie zeruj
ą adresów MAC przypisanych gdy zgubią adres lub
nast
ępuje próba połączenia.
Niektóre sterowniki nie zeruj
ą poziomu jakości gdy zgubią adres lub następuje próba
po
łączenia.
Prawid
łowe wartości to MAC, quality lub all.
scan_mode_eth0
Niektóre sterowniki musz
ą dokonać skanowania w trybie ad-hoc, więc jeśli
skanowanie nie dzia
ła, należy ustawić tutaj ad-hoc
iwpriv_scan_pre_eth0
Wysy
ła polecenia iwpriv do interfejsu przed skanowaniem. Więcej informacji znajduje
si
ę w manualu iwpriv.
iwpriv_scan_post_eth0
Wysy
ła polecenia iwpriv do interfejsu po skanowaniu
Wi
ęcej informacji znajduje się w manualu iwpriv
4.d.
Definiowanie konfiguracji sieci w zale
żności od ESSID
Niekiedy po po
łączeniu do ESSID1, zachodzi potrzeba otrzymania statycznego adresu IP, zaś w przypadku
ESSID2 - dynamicznego przez DHCP. Wi
ększość zmiennych może być ustawianych w zależności od ESSIDa.
Poni
żej jest opisane jak tego dokonać.
Uwaga: Poni
ższe działają jeśli używa się WPA Supplicant lub Wireless Tools.
Wa
żne: Koniecznie należy zajrzeć do dokumentacji opisującej
nazwy zmiennych
.
Listing 9: nadpisywanie ustawie
ń sieciowych w zależności od ESSIDa
5. Dodawanie mo
żliwości
5.a.
Standardowe zaczepy funkcji
Mo
żna zdefiniować cztery funkcje, które będą uruchamiane przy okazji operacji start/stop. Początkowo funkcje są
uruchamiane razem z nazw
ą interfejsu tak, aby jedna funkcja mogła kontrolować wiele urządzeń.
Warto
ści jakie są zwracane po wykonaniu funkcji preup oraz predown powinny być równe 0 (sukces), aby
powiadomi
ć, że konfiguracja urządzenia mogła być kontynuowana. Jeżeli funkcja preup zwróci wartość różną od
0, konfiguracja zostanie przerwana. Je
żeli funkcja predown zwróci wartość różną od zera, to niemożliwa będzie
dalsza dekonfiguracja urz
ądzenia.
config_ESSID1=( "192.168.0.3/24 brd 192.168.0.255" )
routes_ESSID1=( "default via 192.168.0.1" )
config_ESSID2=( "dhcp" )
fallback_ESSID2=( "192.168.3.4/24" )
fallback_route_ESSID2=( "default via 192.168.3.1" )
# Mo
żna skonfigurować serwery nazw i inne rzeczy
# NOTATKA: DHCP to przepisze, chyba
że zostanie ustawione inaczej
dns_servers_ESSID1=( "192.168.0.1" "192.168.0.2" )
dns_domain_ESSID1="some.domain"
dns_search_domains_ESSID1="szukaj.tej.domeny szukaj.tamtej.domeny"
# Nadpisuje si
ę adres MAC adresem Access Pointa. Jest to przydatne gdy
# zachodzi potrzeba przemieszczania si
ę między różnymi lokalizacjami, które
# posiadaj
ą ten sam ESSID
config_001122334455=( "dhcp" )
dhcpcd_001122334455="-t 10"
dns_servers_001122334455=( "192.168.0.1" "192.168.0.2" )
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
101 z 103
2005-10-23 14:23
Warto
ści jakie są zwracane po wykonaniu funkcji postup oraz postdown są ignorowane, gdyż nic nie jest
wykonywane w przypadku niepowodzenia.
${IFACE}
jest ustawione jako nazwa urz
ądzenia, które jest włączane/wyłączane.
${IFVAR}
to
${IFACE}
przekonwertowane do zmiennej akceptowanej przez bash
Listing 1: Przyk
łady funkcji pre/post up/down
5.b.
Funkcje dla sieci bezprzewodowych
Uwaga: Poni
ższe funkcje nie zadziałają z WPA Supplicant, ale zmienne
${ESSID}
oraz
${ESSIDVAR}
s
ą dostępne w
funkcji postup().
Mo
żna zdefiniować dwie funkcje, które zostaną uruchomione razem z powiązaną funkcją. Funkcje te są
uruchamiane najpierw z nazw
ą interfejsu, aby jedna z nich mogła obsługiwać wiele urządzeń.
Zwracane warto
ści dla funkcji uruchamianych przed uruchomieniem urządzenia powinny być równe 0 (sukces),
aby wskaza
ć, że konfiguracja może być kontynuowana. Jeżeli zostanie zwrócona wartość różna od zera,
konfiguracja zostanie przerwana.
Zwracane warto
ści dla funkcji uruchamianych po starcie urządzenia są ignorowane gdyż i tak nie mają wpływu na
dalsz
ą konfigurację.
preup() {
# Sprawdza czy istnieje link na interfejsie, który jest
# uruchamiany. Ta opcja dzia
ła jedynie na kilku urządzeniach
# sieciowych i wymaga, aby pakiet mii-diag by
ł zainstalowany
if mii-tool ${IFACE} 2> /dev/null | grep -q 'no link'; then
ewarn "Nie ma linku na ${IFACE}, przerywam konfiguracj
ę"
return 1
fi
# Sprawdza czy istnieje link na interfejsie przed jego
# uruchomieniem. Ta opcja dzia
ła tylko na niektórych urządzeniach
# sieciowych i wymaga, aby pakiet ethtool by
ł zainstalowany
if ethtool ${IFACE} | grep -q 'Link detected: no'; then
ewarn "Brakuje linku na ${IFACE}, przerywam konfiguracj
ę"
return 1
fi
# Nale
ży pamiętać o zwróceniu wartości 0 w przypadku powodzenia
return 0
}
predown() {
# Domy
ślny skrypt sprawdza czy istnieje katalog główny NFS i
# nie zezwala na wy
łączenie interfejsów w takim przypadku. Należy
# zauwa
żyć, że jeśli określi się własną funkcję predown(), to właściwość
# ta zostanie usuni
ęta. Poniżej znajduje się ten skrypt, jeśli okazałoby
# si
ę, że jest nadal potrzebny...
if is_net_fs /; then
eerror "katalog g
łówny jest zamontowany przez sieć -- nie można zatrzymać ${IFACE}"
return 1
fi
# Nale
ży pamiętać o zwróceniu wartości 0 w przypadku powodzenia
return 0
}
postup() {
# Ta funkcja zostanie u
żyta dla przykładu, aby zarejestrować
# interfejs z us
ługą DNS. Inną możliwością jest np. wysłanie wiadomości
# mailowej z informacj
ą o uruchomieniu interfejsu
return 0
}
postdown() {
# Ta funkcja jest tu tylko dla zasady... Jeszcze nie
# wiadomo co fajnego mo
żna z nią zrobić ;-)
return 0
}
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
102 z 103
2005-10-23 14:23
${ESSID}
jest równe warto
ści ESSID punktu dostępu z którym dokonywane jest połączenie.
${ESSIDVAR}
jest
równe
${ESSID}
przekonwertowane do zmiennej akceptowanej przez pow
łokę bash
Listing 2: Funkcje pre/post association
Uwaga:
${ESSID}
oraz
${ESSIDVAR}
s
ą niedostępne dla funkcji predown() oraz postdown()
6. Zarz
ądzanie siecią
6.a.
Zarz
ądzanie siecią
Je
żeli komputer jest ciągle "w drodze", nie zawsze może być podłączony do sieci, czy też posiadać dostępu do
access pointa. W takich przypadkach mo
że okazać się, że pożądane by było, aby sieć włączała się
automatycznie w momencie gdy mo
żliwy jest do niej dostęp.
Poni
żej można znaleźć opis kilku narzędzi, które mogą być w tym pomocne.
Uwaga: Ten dokument opisuje jedynie ifplugd, jednak
że istnieją alternatywy, jak na przykład quickswitch.
6.b.
ifplugd
ifplugd
to demon, który uruchamia i zatrzymuje urz
ądzenia sieciowe gdy kabel sieciowy jest wkładany lub
wyjmowany z gniazda. Mo
że również zarządzać przypisaniami do access pointów, gdy jakiś nowy pojawi się w
zasi
ęgu.
Listing 1: Instalacja ifplugd
Konfiguracja ifplugd jest bardzo prosta. Plik konfiguracyjny znajduje si
ę w /etc/conf.d/ifplugd.
man
ifplugd
poka
że co poszczególne opcje oznaczają.
Listing 2: Przyk
ładowa konfiguracja ifplugd
preassociate() {
# Poni
ższe linijki dodają dwie zmienne leap_user_ESSID oraz
# leap_pass_ESSID. Je
żeli obie są skonfigurowane dla ESSIDa z którym są
# po
łączone, uruchamiany jest skrypt CISCO LEAP
local user pass
eval user=\"\$\{leap_user_${ESSIDVAR}\}\"
eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\"
if [[ -n ${user} && -n ${pass} ]]; then
if [[ ! -x /opt/cisco/bin/leapscript ]]; then
eend "For LEAP support, please emerge net-misc/cisco-aironet-client-utils"
return 1
fi
einfo "Waiting for LEAP Authentication on \"${ESSID//\\\\//}\""
if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then
ewarn "Login Failed for ${user}"
return 1
fi
fi
return 0
}
postassociate() {
# Ta funkcja jest tu tylko dla zasady... Jeszcze nie
# wiadomo co fajnego mo
żna z nią zrobić ;-)
return 0
}
#
emerge sys-apps/ifplugd
PDF created with pdfFactory Pro trial version
Dokumentacja Gentoo Linux -- Podręcznik Gentoo Linux
http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?style...
103 z 103
2005-10-23 14:23
Zawarto
ść tego dokumentu jest rozpowszechniana na podstawie licencji Creative Commons - Attribution / Share Alike.
# Definicja urz
ądzeń do monitorowania
INTERFACES="eth0"
AUTO="no"
BEEP="yes"
IGNORE_FAIL="yes"
IGNORE_FAIL_POSITIVE="no"
IGNORE_RETVAL="yes"
POLL_TIME="1"
DELAY_UP="0"
DELAY_DOWN="0"
API_MODE="auto"
SHUTDOWN="no"
WAIT_ON_FORK="no"
MONITOR="no"
ARGS=""
# Dodatkowe parametry dla ifplugs dla wskazanego urz
ądzenia. Należy
# zwróci
ć uwagę, że globalna zmienna jest ignorowana, jeśli zmienna szczegółowa
# jest ustawiona dla danego urz
ądzenia.
MONITOR_wlan0="yes"
DELAY_UP_wlan0="5"
DELAY_DOWN_wlan0="5"
PDF created with pdfFactory Pro trial version