dokumentacja gentoo linux podręcznik gentoo linux M57EBYYUOP66AXNLPFQ2HEZPW72JOO2Z24YBSFI

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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ę

ż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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

ż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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

@proxy.gentoo.org:8080

#

ping -c 3 www.yahoo.com

PDF created with pdfFactory Pro trial version

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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.

Google

), 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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

Google

). 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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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.

ż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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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ę

http://bugs.gentoo.org

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com

background image

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

www.pdffactory.com


Wyszukiwarka

Podobne podstrony:
Podrecznik Gentoo Linux
Linux] – Odwracanie obrazu z kamery w Skype dla Debian, Ubuntu, Gentoo
Linux] – Odwracanie obrazu z kamery w Skype dla Debian, Ubuntu, Gentoo
Administracja, Informatyka, Linux, Linux - Podręcznik
RPM, Informatyka, Linux, Linux - Podręcznik
Podręcznik linux
Prawa dostępu, Informatyka, Linux, Linux - Podręcznik
Strumienie, Informatyka, Linux, Linux - Podręcznik
linux knoppix pl mini podrecznik Z3ANOX5ZZW3OHAVSELSWE47XLBJV37F6EROUREA
Czas, Informatyka, Linux, Linux - Podręcznik
Jądro i system plików, Informatyka, Linux, Linux - Podręcznik
zaproszenie 2009, Linux, płyty dvd, inne dvd, Dokumenty
praca kontrolna oprogramowanie biuirowe, Linux, płyty dvd, inne dvd, Dokumenty
Archiwa i łaty, Informatyka, Linux, Linux - Podręcznik
program Euroszansa, Linux, płyty dvd, inne dvd, Dokumenty

więcej podobnych podstron