Chief Architect: Daniel Robbins
Author: Sven Vermeulen, Chris Houser, Jerry Alexandratos
Gentoo x86 Developer: Seemant Kulleen
Gentoo Alpha Developer: Tavis Ormandy, Aron Griffis
Gentoo AMD64 Developer: Brad House
Gentoo HPPA developer: Guy Martin
Gentoo PPC developer: Pieter Van den Abeele
Gentoo SPARC developer: Joe Kallar
Editor: John P. Davis, Pierre-Henri Jondot, Eric Stockbridge, Rajiv Manglani, Jungmin Seo, Stoyan Zhekov, Jared Hudson, Colin Morey, Jorge Paulo, Carl Anderson, Jon Portnoy, Zack Gilburd, Jack Morgan, Benny Chuang, Erwin, Joshua Kinard
Reviewer: Grant Goodyear, Gerald J. Normandin Jr., Donnie Berkholz, Ken Nowack
Contributor: Lars Weiler
Obsah tohoto dokumentu podléhá licenci Creative Commons - Attribution / Share Alike.
Obsah
Seznam obrázků
V této části se naučíte instalovat Gentoo na svůj počítač.
Obsah
Obsah
Abstrakt
Uživatelé, kteří Gentoo neznají často neví že Gentoo je především o možnosti volby.
Nejdříve ze všeho Vás vítáme v Gentoo. Chystáte se vstoupit do světa voleb a výkonu. Podstatou Gentoo je možnost volby. Při instalaci Gentoo, a na to budete několikrát jasně upozorněni - si můžete vybrat jak velkou část systému si chcete kompilovat sami, jak chcete Gentoo instalovat, který systémový logger chcete, atd.
Gentoo je rychlá a moderní metadistribuce s čistým a flexibilním designem. Gentoo je postaveno na svobodném softwaru a neskrývá před svými uživateli co se skrývá pod povrchem. Portage, systém správy balíčků používaný Gentoo, je napsán v Pythonu, což znamená že se můžete jednoduše podívat do zdrojového kódu a upravovat ho. Balíčkovací systém Gentoo používá zdrojový kód (ačkoliv obsahuje i podporu pro předkompilované balíčky) a konfigurace Gentoo je prováděna přes obyčejné textové soubory. Jinými slovy, otevřenost je všude.
Je velice důležité abyste pochopili že možnost volby je to co dělá systém Gentoo funkčním. Snažíme se vás nenutit do ničeho co se vám nelíbí. Pokud máte dojem že vás do něčeho nutíme, pošlete nám prosím bugreport (http://bugs.gentoo.org).
Na instalaci systému Gentoo se můžete dívat jako na proceduru o 10 krocích, které odpovídají kapitolám 2 - 11 této části. Každý krok končí v určitém stavu:
Po kroku 1 jste v prostředí připraveném k instalaci systému Gentoo
Po kroku 2 je vaše internetové připojení připraveno k instalaci Gentoo (tento krok je v některých případech nepovinný)
Po kroku 3 jsou vaše pevné disky připraveny k nainstalování Gentoo
Po kroku 4 je vaše instalační prostředí připraveno a chroot je nastaven do tohoto nového prostředí
Po kroku 5 jsou nainstalovány hlavní balíčky společné pro všechny instalace Gentoo
Po kroku 6 máte zkompilováno své Linuxové jádro
Po kroku 7 máte napsánu většinu konfiguračních souborů Gentoo
Po kroku 8 byl nainstalován a nakonfigurován zvolený zavaděč
Po kroku 9 jsou nainstalovány potřebné systémové nástroje (které si můžete vybrat z pěkně dlouhého seznamu)
Po kroku 10 jste přihlášeni do své nové instalace Gentoo
Pokud budete stát před nějakou volbou, budeme se vám snažit vysvětlit jaká jsou pro a proti. Poté budeme pokračovat s výchozí volbou, označenou slovem "Default: " v názvu. Další možné volby jsou označeny slovem "Náhradní:". Nevykládejte si to tak že vám tuto volbu jakkoliv vnucujeme. Pouze předpokládáme že většina uživatelů zvolí právě ji.
Někdy můžete provést nepovinný krok. Takové kroky jsou označeny jako "Optional: " a nejsou potřeba pro nainstalování systému Gentoo. Nicméně některé nepovinné kroky závisí na vašich předchozích rozhodnutích. Až k takovému kroku dojdete upozorníme vás na něj, a to již ve chvíli kdy činíte toto rozhodnutí a stejně tak na místě kde je tento krok popisován.
Gentoo můžete instalovat mnoha různými způsoby. Můžete si stáhnout naše LiveCD a instalovat z něj (instalační CD), instalovat z již existující distribuce, z bootovatelného CD (jako je například Knoppix), přes síťové spojení, atd.
Máte několik možností - můžete si celý systém zkompilovat od samého začátku (from scratch) nebo instalovat předkompilované balíčky abyste ušetřili čas a měli plně funkční systém co nejdříve. A samozřejmě máte možnosti "mezi tím" ve kterých neinstalujete vše ale začínáte s jakýmsi polopřipraveným systémem.
Pokud chcete Gentoo instalovat z předkompilovaných balíčků nemáte jinou možnost než použít LiveCD obsahující předkompilované balíčky. Novější vydání Gentoo budou tyto balíčky poskytovat i přes Internet.
Pokud při instalaci (nebo v instalační dokumentaci) narazíte na problém, navštivte prosím náš systém správy chyb a podívejte se zda je tato chyba již oznámena. Pokud není, vytvořte hlášení o chybě abychom ji mohli napravit. Nebojte se vývojářů kterým byla vaše chyba přiřazena - většinou lidi nežerou.
Pokud si nejste jisti zda jde o chybu uživatelskou (i když čtete dokumentaci pečlivě můžete udělat chybu) nebo softwarovou (i když instalaci/dokumentaci testujeme pečlivě může nám něco uniknout) můžete se připojit k #gentoo na irc.freenode.net. Samozřejmě, vítáni jste i kdykoliv jindy.
Pokud máte otázku vztahující se k systému Gentoo, podívejte se do seznamu Frequently Asked Questions (FAQ, Často Kladené Dotazy), dostupného v Gentoo Dokumentaci. Můžete se také podívat do seznamů FAQ v našich diskusních forech. Pokud zde nebudete moci najít odpověď na svou otázku, zeptejte se na #gentoo, našem IRC kanále na irc.freenode.net. Ano, několik z nás jsou blázni co vysedávají na IRC ;-)
Obsah
Abstrakt
Gentoo můžete instalovat mnoha způsoby. Můžete použít naše LiveCD, existující distribuci atd.
Ještě než začneme, uvedeme seznam hardwarových požadavků které musí váš počítač splňovat, abyste na něj mohli úspěšně nainstalovat Gentoo. Tyto požadavky samozřejmě závisí i na architektuře vašeho počítače.
Gentoo je oficielně dostupné pro sedm architektur a má experimentální podporu pro jednu další. Oficielně podporované architektury jsou x86 (včetně všech subarchitektur, jako jsou Pentium, Athlon, atd.), sparc (a to jak Sparc32 tak i Sparc64), ppc (PowerPC), hppa, alpha, mips a amd64. Experimentální podpora je dostupná pro architekturu ia64.
Za předpokladu že znáte svou architekturu, zkontrolujte následující požadavky před pokračováním v instalaci Gentoo:
Potřebujete alespoň 1 GB volného prostoru na disku
Pokud nebudete používat předkompilované balíčky, potřebujete alespoň 300 MB paměti (RAM + swap)
Pro architekturu x86 potřebujete alespoň procesor 486 a alespoň 64 MB paměti
Pro architekturu Alpha byste měli zkontrolovat Alpha/Linux FAQ
Pro architekturu hppa byste měli zkontrolovat PA Team Website
Pro architekturu PowerPC potřebujete alespoň PowerPC (alespon G3 nebo G4 jako je iMac, iBook, PowerBook, etc.)
Pro architekturu SPARC byste měli zkontrolovat UltraLinux FAQ
Pro architekturu MIPS byste měli zkontrolovat dokument MIPS Hardwarové Požadavky
Pro architekturu AMD64 byste měli zkontrolovat AMD Tech Notes
Pořád ještě chcete zkusit Gentoo? Dobrá, v tom případě je ta správná chvíle zvolit si způsob instalace který chcete použít. Ano, máte možnost volby, ne, možnosti nejsou rovnocenné, a ano, výsledek je vždy stejný - základní systém Gentoo.
Popisované způsoby instalace jsou:
Gentoo LiveCD
Knoppix
Jiná distribuce
Net Boot (instalace přes sít)
Každý způsob instalace má své výhody a nevýhody. Uvedeme pro a proti každého způsobu takže budete mít všechny informace potřebné k rozhodnutí. Ale než budeme pokračovat, vysvětlíme si co je to tříetapová instalace.
Gentoo Linux může být instalován za použití jednoho ze tří etapových archivů. To který si zvolíte závisí na tom jakou část systému si sami chcete zkompilovat. Archiv stage1 je používán pokud chcete pouze nabootovat a sestavit si celý systém sami (from scratch). Archiv stage2 je používán pro sestavení celého systému z "polozkompilovaného" stavu. Archiv stage3 již obsahuje základní Gentoo Linux systém který pro vás byl sestaven. Jak vysvětlíme později, můžete Gentoo nainstalovat bez toho abyste cokoliv kompilovali (kromě vlastního jádra). Pokud chcete právě toto, musíte použít archiv stage3 a Gentoo LiveCD obsahující předkompilované balíčky.
A teď kterou etapu byste si měli zvolit?
Pokud použijete archiv stage1, budete mít plnou kontrolu nad nastavením procesu optimalizace a voleb během sestavování systému. Díky tomu je archiv stage1 vhodný pro zkušené uživatele kteří vědí co dělají. Je to také skvělý způsob instalace pro ty kdo vědí jak Gentoo Linux vlastně funguje.
Stage1 | Pro a proti |
---|---|
+ | Poskytuje vám absolutní kontrolu nad nastavením optimalizace a základních voleb během sestavování systému. |
+ | Vhodné pro zkušené uživatele kteří vědí co dělají. |
+ | Umožnuje vám naučit se více o tom jak Gentoo funguje uvnitř. |
- | Dokončení instalace zabere mnoho času. |
- | Pokud nemáte v úmyslu měnit nastavení, je to pravděpodobně ztráta času. |
Archiv stage2 vám umožňuje přeskočit první kroky (bootstrap process) což je v pořádku pokud jste spokojeni s nastavením optimalizace které jsme zvolili pro tento náš balíček.
Stage2 | Pro a proti |
---|---|
+ | Nepotřebujete bootstrap. |
+ | Rychlejší než při použití stage1. |
+ | Stále ještě můžete měnit některá nastavení. |
- | Nastavení která můžete měnit není tolik jako při použití stage1. |
- | Není to nejrychlejší cesta jak nainstalovat Gentoo. |
- | Musíte souhlasit s nastaveními která jsme udělali při vytváření bootstrapu. |
Volba archivu stage3 umožňuje nejrychlejší instalaci Gentoo Linuxu, ale znamená také že základní systém bude obsahovat optimalizační volby které jsme pro vás zvolili (což jsou upřímně řečeno dobrá nastavení která byla pečlivě vybírána tak aby zlepšila výkon a přitom neohrozila stabilitu). Balíček stage3 je také vyžadován pro instalaci Gentoo Linuxu za použití předkompilovaných balíčků.
Stage3 | Pro a proti |
---|---|
+ | Nejrychlejší způsob instalace základního systému Gentoo. |
- | Nemůžete konfigurovat základní systém - ten je již zcela vytvořen. |
- | Nemůžete se chvástat tím že jste použili stage1 nebo stage2. |
Zapište si (nebo zapamatujte) který archiv chcete použít. Budete to potřebovat později až se budete rozhodovat které LiveCD (nebo jiný způsob instalace) použijete. Mohlo by vás zajímat že pokud se rozhodnete použít jiné optimalizační volby až po nainstalování Gentoo, budete moci překompilovat celý systém s novým nastavením.
Nyní se podívejme na seznam dostupných způsobů instalace:
Gentoo LiveCD
Gentoo basic LiveCD
Gentoo 2-CD LiveCD sada
Gentoo KDE/Gnome LiveCD
Knoppix
Existující distribuce
Net Boot (start ze sítě)
Gentoo LiveCD jsou bootovatelná CD obsahující plně samostatné prostředí Gentoo a díky tomu vám umožňují nastartovat Linux z CD. Během bootování je rozpoznáván váš hardware a jsou načítány příslušné ovladače. Tato CD jsou udržována vývojáři Gentoo a jsou dostupná pro všechny podporované platformy (x86, alpha, sparc, ppc, hppa). Pro některé platformy je dokonce dostupných několik různých LiveCD.
Všechna LiveCD vám umožňují nastartovat systém, nastavit sítové připojení a spustit instalaci Gentoo přes Internet. Avšak některá LiveCD obsahují také potřebné zdrojové kódy nebo dokonce předkompilované balíčky takže můžete Gentoo instalovat i bez sítového spojení.
Teď určitě vykřikujete "Cože? Předkompilované balíčky?" Ano, ovšem, předkompilované balíčky. Protože Gentoo je o možnosti volby, chceme uživatelům poskytnout i možnost rychle nainstalovat Gentoo. Sbírka předkompilovaných balíčků se nazývá Gentoo Reference Platform (GRP). O GRP se budeme hlouběji bavit dále během instalace.
Poskytujeme několik různých typů LiveCD. Následující tabulka uvádí která LiveCD jsou dostupná pro vaši architekturu.
Architektura | Basic LiveCD | 2-CD LiveCD sada | KDE/Gnome LiveCD |
---|---|---|---|
x86 | + | + | |
sparc | + | + | |
ppc | + | + | + |
hppa | + | ||
alpha | + | ||
amd64 | + |
Co tato LiveCD obsahují?
Toto je jednoduché bootovatelné CD, jehož jediným účelem je nastartovat systém, připravit sítové spojení a posléze pokračovat v instalaci Gentoo Linuxu. Neobsahuje žádné etapové balíky (i když v některých případech může obsahovat stage1 balík), zdrojový kód nebo předkompilované balíčky.
Basic LiveCD | Pro a proti |
---|---|
+ | Nejmenší download |
+ | Vhodné pro celou architekturu |
+ | Můžete použít stage1, stage2 nebo stage3 po stažení balíku přes síť. |
- | Neobsahuje žádné etapové balíky, žádný obraz portage, žádné GRP balíčky a není tedy vhodné pro instalaci bez sítě. |
První CD je bootovatelné a obsahuje všechny etapové balíčky pro specifickou architekturu (jako jsou Athlon XP, G4, atd.) současně se zdrojovými kódy a předkompilovanými balíčky. Druhé CD obsahuje pouze předkompilované balíčky a může být použito pro instalaci dalších balíčků po ukončení instalace Gentoo. Pro instalaci systému potřebujete pouze CD-1, ale pokud chcete OpenOffice, Mozillu, KDE, GNOME atd. a nechcete si to všechno kompilovat sami, potřebujete také CD-2.
Poskytujeme jak "implicitní" LiveCD sadu, bootovatelnou na všech subarchitekturách specifické architektury, tak i optimalizované LiveCD sady pro jednotlivé subarchitektury (jako je například Athlon XP, G4, atd.)
2-CD LiveCD sada | Pro a proti |
---|---|
+ | Optimalizováno pro vaši architekturu a subarchitekturu |
+ | K dispozici jsou předkompilované balíčky pro rychlou instalaci Gentoo |
+ | Obsahují všechno co potřebujete, takže můžete instalovat bez sítového připojení. |
- | Velký objem dat ke stažení. |
Toto CD obsahuje kompletní funkční prostředí Gentoo obsahující desktopové prostředí KDE a Gnome, Apache webserver, několik webových prohlížečů, irc klienty, prostředky pro firewall/router, nástroje pro audit sítě, mnoho CLI[1] nástrojů ... Toto CD může být použito například k opravě poškozeného filesystému. KDE/Gnome LiveCD obsahuje kompletní sadu nástrojů gcc (se zapnutými distcc, ccache), stačí jenom nastartovat všechny systémy v síti z tohoto CD a zažijete sílu distribuované kompilace. Toto CD může být použito pro instalaci Gentoo, ale neobsahuje GRP, zdrojové kódy ani portage snapshot nebo etapové balíčky.
KDE/Gnome LiveCD | Pro a proti |
---|---|
+ | Můžete pracovat s Gentoo aniž byste ho instalovali na svůj pevný disk |
+ | Můžete z něj nainstalovat Gentoo :) |
- | Velký download, ale neobsahuje portage snapshot, etapové balíčky, předkompilované balíčky ani zdrojové kódy. |
Knoppix je dobře známé bootovatelné CD s plně funkčním desktopovým prostředím. Umožňuje vám nabootovat z CD a, bez přístupu k vašemu pevnému disku, spouštět kancelářské aplikace nebo systémové nástroje. V našem případě budeme používat systém a síťové nástroje pro nainstalování Gentoo.
Pokud plánujete použít Knoppix, můžete ho stáhnout z domovské stránky Knoppixu.
Pokud začnete instalovat z jiné již nainstalované Linuxové distribuce, můžete využívat všechny nástroje již dostupné ve vaší Linuxové distribuci. Pokud chcete instalovat Gentoo z existující distribuce, můžete přeskočit zbytek této kapitoly a pokračovat s kapitolou Konfigurace vaší sítě.
V některých případech nemusí být možné nastartovat systém z CD nebo použít k instalaci Gentoo nějakou již existující distribuci. V případě že má váš systém síťovou kartu a BIOS/ROM schopný netbootu (PXE), potom můžete při startu systému natáhnout malý systém přes síť a posléze instalovat z tohoto systému.
Pokud chcete použít tuto metodu (uživatelé MIPS nemají jinou možnost) měli byste mít funkční DHCP a TFTP server. Informace jak nastavit DHCP server a TFTP server jsou dostupné v Diskless-HOWTO.
V závislosti na vašem nastavení budete možná muset vytvořit nebo stáhnout kernel image pro svůj systém.
Nyní se rozhodněte pro jeden ze způsobů instalace Gentoo a pokračujte v příslušném oddíle. Protože toto je Gentoo Handbook, budeme za výchozí volbu považovat Gentoo LiveCD, ale v příslušných oddílech najdete potřebné informace i o ostatních způsobech instalace.
Vybrali jste si použití Gentoo LiveCD (pokud ne, čtete špatnou část). Nejdříve musíme stáhnout a vypálit zvolené LiveCD. O možných druzích LiveCD už jsme se bavili, ale kde je můžete stáhnout?
Následující tabulka obsahuje seznam relativních cest na kterých můžete najít LiveCD ISO obrazy (obrazy CD). Cesta je relativní vzhledem k hlavnímu adresáři Gentoo na našich mirrorech.
Architektura | Cesta |
---|---|
x86 | releases/x86/1.4/livecd |
sparc | experimental/sparc/1.4/livecd |
ppc | releases/ppc/1.4/livecd |
hppa | experimental/hppa/1.4/livecd |
alpha | experimental/alpha/1.4/livecd |
amd64 | experimental/amd64/1.4/livecd |
Navštivte jeden z našich mirrorů a přesuňte se do adresáře kde jsou umístěna vaše LiveCD. V tomto adresáři se nachází tzv. ISO-soubory. To jsou úplné obrazy CD, které můžete vypálit na CD-R. Pokud narazíte na několik ISO-souborů s různými date tagy (jako je například livecd-x86-cd1-20031029.iso) vyberte to nejnovější.
V případě že máte podezření že vámi stažený soubor je poškozený a chcete to ověřit, můžete zkontrolovat jeho kontrolní součet algoritmem MD5 a srovnat ho se součtem který poskytujeme (jako je například livecd-x86-cd1-20031029.iso.md5). Kontrolní součet můžete zkontrolovat nástrojem md5sum pod Linuxem/Unixem nebo md5summer pod Windows.
Přečtěte si prosím popisy v Gentoo Store, abyste zjistili které LiveCD (nebo etapový balíček) byste měli použít pro váš procesor. Obvyklou chybou je volba LiveCD nebo etapového balíčku pro novější procesor než ve skutečnosti máte (například volba "athlon-xp" pro běžný AMD Athlon).
Pro vypálení staženého ISO souboru musíte zvolit raw-burning mód. Jak to udělat závisí na programu který používáte k pálení CD. Podíváme se jak to provést pro několik populárních nástrojů.
Pokud používáte program EasyCD Creator™, zvolte položku , . Poté změňte položku Files of type na ISO image file. Najděte stažený ISO soubor a klikněte na . Až kliknete na tlačítko bude ISO obraz vypálen přímo na vložený CD-R disk.
S programem Nero Burning ROM™ zvolte položku , . Nastavte typ souborů na *.* a vyberte ISO soubor. Starší verze programu Nero™ vám oznámí že nerozpoznali formát - tento dialog potvrďte, protože ho sice zná ale ještě o tom neví :) V dalším dialogu zadejte následující parametry:
Type of image: Data Mode 1
Block size: 2048 bytes
File precursor and length of the image trailer: 0 bytes
Scrambled: no
Swapped: no
Nyní klikněte na
a poté na (CD-R disk).S programem cdrecord™ jednoduše zadejte cdrecord dev=/dev/hdc (cestu /dev/hdc zaměňte za cestu ke své CD-RW mechanice) a doplňte cestu k ISO souboru :)
S Mac OS X Panther ™spusťte z / , zvolte položku z menu , zvolte připojený obraz disku v hlavním okně a poté zvolte v menu .
S Mac OS X Jaguar ™spusťte z / , zvolte položku z menu , zvolte ISO soubor a klikněte na tlačítko .
Následující podkapitoly vysvětlují jak nabootovat LiveCD specifická pro jednotlivé kapitoly. Ujistěte se že jste si vybrali subverzi určenou pro vaši architekturu!
Bootování LiveCD na x86 nebo AMD64
Bootování LiveCD na Alpha
Bootování LiveCD na HPPA
Bootování LiveCD na SPARC
Bootování LiveCD na PPC
Tato část je určena pouze pro architektury x86 a amd64. Přečtěte si ji celou než budete pokračovat dále, protože ne vždy budete mít dostatek času podívat se do manuálu.
Pokud už máte vypálena instalační CD, přišel čas nastartovat z nich systém. Restartujte počítač a vstupte do BIOSu. Toho obvykle docílíte stiskem kláves DEL, F1 nebo ESC (která klávesa to je závisí na BIOSu který je ve vašem počítači použit). V BIOSu změňte pořadí zařízení ze kterých se má bootovat tak aby byla CD-ROM mechanika před pevným diskem. Toto nastavení se často nachází v submenu "CMOS Setup". Až toto neuděláte, nastartuje váš systém přímo z pevného disku a mechaniku CD-ROM bude ignorovat.
Nyní vložte instalační CD do CD-ROM mechaniky (duh) a restartujte počítač. Po chvíli byste měli vidět povedenou bootovací obrazovku s logem Gentoo Linuxu. Nyní můžete stisknout Enter čímž spustíte bootovací proces s přednastavenými hodnotami, nebo můžete nabootovat LiveCD s libovolnými volbami pokud uvedete volbu kernelu následovanou volbami a Enter stisknete až poté.
Uvedení volby kernelu? Ano, na našich LiveCD k dispozici vám dáváme několik kernelů. Výchozí volba je gentoo. Další volby jsou smp, což je jádro s podporou víceprocesorových systémů a memtest, který otestuje vaši RAM paměť (ale z tohoto jádra nelze Gentoo nainstalovat).
V následující tabulce najdete krátký přehled dostupných jader.
Kernel | Popis |
---|---|
gentoo | Výchozé jádro s podporou pro framebuffer |
smp | Jádro s podporou víceprocesorových systémů |
memtest | Utilita pro testování paměti |
Některá LiveCD poskytují další jádra, nebo neposkytují jádra uvedená v tomto dokumentu. Pokud chcete vypsat seznam podporovaných jader, zvolte po zobrazení bootovací obrazovky klávesu F1.
Jak už bylo uvedeno, můžete také používat různá nastavení kernelu. Jedná se o nepovinné volby které můžete zapnout či vypnout dle vlastního úsudku. Následující tabulka vysvětluje dostupné volby.
Volba | Popis |
---|---|
acpi | zapnutí podpory ACPI |
doataraid | zapnutí podpory pro ATA RAID zařízení |
dofirewire | zapnutí podpory pro FireWire zařízení |
dokeymap | uživatel bude dotázán na nastavení klávesnice (výzhozí: us) |
dopcmcia | zapnutí podpory pro PCMCIA |
doscsi | zapnutí podpory pro SCSI |
noapm | vypnutí podpory pro APM |
nodetect | vypnutí automatické detekce hardware (kudzu/hotplug) |
nodhcp | nepoužívat DHCP pro získání IP adresy |
noevms | vypnutí podpory pro EVMS |
nofb | vypnutí podpory pro framebuffer |
nohotplug | vypnutí hotplug (kernel loading program) |
nousb | vypnutí podpory USB |
ide=nodma | vypnutí podpory DMA |
cdcache | načtení potřebné části CD do paměti, což umožnuje odpojit CD a použít během instalace i další CD |
Některá LiveCD poskytují další bootovací volby nebo neposkytují některé z těch právě uvedených. Seznam dostupných voleb získáte stisknutím klávesy F2 na bootovací obrazovce.
Nyní nastartujte z CD, vyberte jádro (pokud vám nevyhovuje výchozí jádro gentoo) a bootovací volby. Jako příklad vám ukážeme jak nastartovat jádro gentoo s volbami dopcmcia cdcache:
Poté se objeví další obrazovka s progressbarem (znázorněním postupu instalace). Jakmile startovací proces skončí, budete automaticky přihlášení do "Live" Gentoo Linuxu jako "root", čili super user. Na aktuální konzoli by se měla zobrazit rootovská příkazová řádka ("#") a měli byste mít možnost přepnout se i do jiných konzol stiskem Alt-F2, Alt-F3 a Alt-F4. Vraťte se do první konzole stiskem Alt-F1.
Nyní pokračujte v části Konfigurace dalšího hardware.
Tato část je určena pouze pro architekturu hppa. Přečtěte si ji celou než budete pokračovat dále, protože ne vždy budete mít dostatek času podívat se do manuálu.
Nastartuje svůj HPPA systém, a během bootovacího procesu uvidíte na obrazovce zprávu podobnou té následující:
Obrázek 2.2. Zpráva při startu HPPA systému
Searching for Potential Boot Devices. To terminate search, press and hold the ESCAPE key.
Až se tato zpráva objeví, stiskněte klávesu Esc a držte ji dokud se neobjeví menu s volbami. Chvilku to trvá, tak buďte trpěliví. V nejčastějším případě byste měli vstoupit do BOOT_ADMIN konzole. Pokud se objevíte v menu s volbami, zvolte položku Enter Boot Administration mode pro vstup do BOOT_ADMIN konzole. Měl by se objevit příkazová řádka '>'.
Vložte Gentoo LiveCD do CD-ROM mechaniky. Pokud neznáte SCSI ID vaší CD-ROM mechaniky, vaše PA-RISC stanice ji začne hledat po zadání následujícího příkazu.
Obrázek 2.3. Hledání SCSI ID
> search
Searching for Devices with Bootable Media.
To terminate search, please press and hold the ESCAPE key.
Poté vaše PA-RICS stanice zobrazí seznam dostupných startovacích médií. Zde je příklad výsledku předchozího příkazu:
Obrázek 2.4. Dostupná startovací média
Device Selection Device Path Device Type and Utilities --------------------------------------------------------------------------- P0 scsi.5.0 TOSHIBA CD-ROM XM-3301TA IPL P1 scsi.2.0 COMPAQ ST32550N IPL P2 lan.0010a7-06d1b6.3.6 server IPL
Pro start z CD-ROM mechaniky potřebujete znát zobrazenou hodnotu Device Path. Například, pokud budeme chtít nastartovat z CD-ROM mechaniky Toshiba, zadáme následující příkaz:
Klíčové slovo ipl (Initial Program Loader) znamená pro palo (PA-RISC boot LOader) že má vstoupit do interaktivního módu. To vám umožňuje například změnit startovací parametry.
Po úspěšném bootu bude palo spuštěn v interaktivním módu:
Obrázek 2.6. Interaktivní mód PALO
Boot path initialized. Attempting to load IPL. Hard booted. palo ipl 1.2 root@b180l.da-kot Tue Apr 8 12:43:07 CEST 2003 Boot image contains: 0/vmlinux32 4028015 bytes @ 0x1520000 0/ramdisk 834748 bytes @ 0xf800 Current command line: 0/vmlinux initrd=initrd.gz TERM=linux console=tty root=/dev/ram0 init=/linuxrc 0: 0/vmlinux 1: initrd=initrd.gz 2: TERM=linux 3: console=tty 4: root=/dev/ram0 5: init=/linuxrc Edit which field? (or 'b' to boot with this command line)?
Tyto parametry ve většině případů postačují.
Pokud potřebujete další vlastnosti, musíte doplnit potřebná slova na konec příkazové řádky. Pro přidání slova stačí upravit poslední položku, doplnit mezeru a zadat nové klíčové slovo. Jediné další aktuálně implementované klíčové slovo je cdcache které LiveCD říká že se jeho obsah má načíst do paměti, což vám umožní CD odpojit.
Obrázek 2.7. Doplnění startovací volby cdcache
(or 'b' to boot with this command line)? 5 init=/linuxrc cdcache
Nyní když už jste upravili startovací parametry, nastartujte.
Na aktuální konzoli by se měla zobrazit rootovská příkazová řádka ("#") a měli byste mít možnost přepnout se i do jiných konzol stiskem Alt-F2, Alt-F3 a Alt-F4. Vraťte se do první konzole stiskem Alt-F1.
Nyní pokračujte v části Konfigurace dalšího hardware.
Tato část je určena pouze pro architekturu sparc. Přečtěte si ji celou než budete pokračovat dále, protože ne vždy budete mít dostatek času podívat se do manuálu.
Vložte Gentoo LiveCD do mechaniky a spusťte systém. Během startu stiskněte Stop-A pro vstup do OpenBootPROM (OBP). Jakmile jste v OBP, nastartujte z CD-ROM mechaniky.
Přivítá vás SILO boot manager (na LiveCD). Zadejte gentoo (pro jednoprocesorový stroj) nebo smp (pro víceprocesorový stroj) a stiskněte Enter pro pokračování startu. V následujícím příkladu nastartujeme gentoo jádro.
Jakmile LiveCD nastartuje, přivítá vás přihlašovací řádek. Přihlašte se jako root. Není potřeba žádné heslo, takže až o něj budete požádáni stiskněte Enter.
Na aktuální konzoli by se měla zobrazit rootovská příkazová řádka ("#") a měli byste mít možnost přepnout se i do jiných konzol stiskem Alt-F2, Alt-F3 a Alt-F4. Vraťte se do první konzole stiskem Alt-F1.
Nyní pokračujte v části Konfigurace dalšího hardware.
Tato část je určena pouze pro architekturu ppc. Přečtěte si ji celou než budete pokračovat dále, protože ne vždy budete mít dostatek času podívat se do manuálu.
Vložte LiveCD do mechaniky CD-ROM a restartujte systém. Během startu podržte klávesu C (nebo spusťte OldWorld zavaděč jako jsou například BootX nebo quik). Objeví se uvítání a ve spodní části obrazovky příkazová řádka boot:
V tuto chvíli stiskněte Enter, a z CD disku se načte kompletní prostředí Gentoo Linux. Pokud se během startu objeví problémy, zadejte při startu volbu -safe. Tato volba předá jádru následující parametry: append="video=ofonly nol3 init=/linuxrc".
Až LiveCD nastartuje, objeví se přivítání a přihlašovací řádek. Přihlašte se jako root a ponechte heslo prázdné (tj. stiskněte Enter).
Na aktuální konzoli by se měla zobrazit rootovská příkazová řádka ("#") a měli byste mít možnost přepnout se i do jiných konzol stiskem Alt-F2, Alt-F3 a Alt-F4. Vraťte se do první konzole stiskem Alt-F1.
Pokud instalujete Gentoo na systém s neamerickou (non-US) klávesnicí, použijte příkaz loadkeys pro načtení mapy vaší klávesnice. Pro zobrazení dostupných map použijte příkaz ls /usr/share/keymaps.
Pro načtení mapy použijte příkaz loadkeys.
Nyní pokračujte v části Konfigurace dalšího hardware.
Poté co LiveCD nastartuje, pokusí se rozpoznat hardwarová zařízení nainstalovaná ve vašem počítači a načíst příslušné moduly jádra. V naprosto drtivé většině případů odvede velice dobrou práci. Avšak v některých případech se nemusí povést automaticky načíst potřebné moduly. Pokud PCI auto-detekce něco nerozpozná, budete muset příslušné moduly do jádra načíst ručně.
V dalším příkladě se pokusíme načíst modul 8139too (podporující některé druhy síťových rozhraní).
Pokud jste zkušený uživatel, možná si chcete pohrát s nastavením pevného IDE disku za použití programu hdparm. Za použití volby -tT můžete otestovat výkon vašeho disku (spusťte jej několikrát po sobě pro přesnější výsledky):
Při ladění se můžete nechat inspirovat následujícími příklady (nebo experimentovat) které používají zařízení /dev/hda (nahraďte jej vaším zařízením).
Pokud plánujete že umožníte dalším lidem přístup k instalačnímu prostředí nebo pokud chcete používat irssi chat bez rootovských práv (z bezpečnostních důvodů), potřebujete vytvořit příslušné uživatelské účty a změnit heslo uživatele root.
Pro změnu hesla uživatele root spusťte příkaz passwd:
Obrázek 2.18. Změna hesla uživatele root
# passwd New password: (Enter your new password) Re-enter password: (Re-enter your password)
Pokud chcete vytvořit nový uživatelský účet, zadejte nejdříve osobní informace následované heslem. Pro tyto účely používáme příkazy useradd a passwd. V dalším příkladu vytvoříme uživatele s uživatelským jménem "john".
Obrázek 2.19. Vytváření uživatelského účtu
# useradd john # passwd john New password: (Enter john's password) Re-enter password: (Re-enter john's password)
Z rootovského účtu se do účtu nově vytvořeného uživatele přepnete pomocí příkazu su:
Pouze architektury x86, amd64, alpha, sparc a ppc poskytují možnost nastartovat ssh démona během instalace.
Pokud chcete dalším uživatelům umožnit přístup k vašemu počítači během instalace Gentoo Linuxu (například pokud vám tito uživatelé budou pomáhat s instalací nebo ji pro vás dokonce budou provádět samostatně), potřebujete pro ně vytvořit uživatelský účet, nebo jim poskytnout svoje rootovské heslo (to ale dělejte pouze pokud těmto osobám plně důvěřujete).
Pro nastartování SSH démona spusťte následující příkaz:
Nyní pokračujte v kapitole Konfigurace vaší sítě.
Knoppix lze používat pouze na systémech s architekturou x86.
Knoppix si můžete stáhnout z domácí stránky Knoppixu, kde je dostupný ve formě ISO souborů. Až ho stáhnete, vypalte ho na CD-R, přičemž musíte použít "raw" pálení. Nyní vám vysvětlíme jak to udělat s několika velmi populárními nástroji.
Pokud používáte program EasyCD Creator™, zvolte položku , . Poté změňte položku Files of type na ISO image file. Najděte stažený ISO soubor a klikněte na . Až kliknete na tlačítko bude ISO obraz vypálen přímo na vložený CD-R disk.
S programem Nero Burning ROM™ zvolte položku , . Nastavte typ souborů na *.* a vyberte ISO soubor. Starší verze programu Nero™ vám oznámí že nerozpoznali formát - tento dialog potvrďte, protože ho sice zná ale ještě o tom neví :) V dalším dialogu zadejte následující parametry:
Type of image: Data Mode 1
Block size: 2048 bytes
File precursor and length of the image trailer: 0 bytes
Scrambled: no
Swapped: no
Nyní klikněte na
a poté na (CD-R disk).S programem cdrecord™ jednoduše zadejte cdrecord dev=/dev/hdc (cestu /dev/hdc zaměňte za cestu ke své CD-RW mechanice) a doplňte cestu k ISO souboru :)
Knoppix implicitně startuje do desktopového prostředí KDE 3.0. První věc kterou budete muset udělat je nastavení rootovského hesla pro Knoppix. Otevřete konzoli a zadejte následující příkaz:
Obrázek 2.22. Změna rootovského hesla pro Knoppix
$ sudo passwd root Password: (Enter a password) Re-enter password: (Re-enter the password)
Dále se pomocí příkazu su přepněte na uživatele root a změnit domovský adresář na /root. Pokud toto neuděláte, budete posléze překvapeni varováními o tom že "/home/root/ not found".
Obrázek 2.23. Změna domovského adresáře pro uživatele root
$ su - Password: (Enter the root password created above) # usermod -d /root -m root
Nyní opusťte aktuální shell zadáním příkazu exit a znovu se pomocí příkazu su přepněte na roota. Tím načtete provedené změny.
Nyní pokračujte v kapitole Konfigurace vaší sítě.
Abyste mohli Gentoo nainstalovat, musí být v image staženém přes TFTP server dostupné potřebné nástroje pro vytváření souborových systémů, vytváření a připojování diskových oddílů, práci s balíčky vytvořenými programem tar a program chroot. Existující net boot image, obsahující vše potřebné, si můžete stáhnout ...
V tuto chvíli víme o jediné architektuře pro kterou jsou net boot image dostupné, a to je MIPS architektura.
Nejdříve si stáhněte dostupné net boot image z adresy http://dev.gentoo.org/~kumba/mips/netboot/
Nyní nakonfigurujte svůj DHCP server tak aby tento soubor zaslal startujícímu klientovi. SGI stroje nicméně potřebují nějaké malé úpravy na straně serveru aby TFTP pracovalo správně:
Obrázek 2.25. Několik drobných úprav pro SGI stroje, aby TFTP pracovalo správně
(Disable "Path Maximum Transfer Unit", otherwise SGI Prom won't find the kernel) # echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc (Set the port range usable by the SGI Prom) # echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range
Nyní zapněte svůj stroj, přejděte do PROM monitoru a zadejte příkaz pro nastartování jádra přes síť:
Obrázek 2.26. Start přes síť pro MIPS systém
Running power-on diagnostics System Maintenance Menu 1) Start System 2) Install System Software 3) Run Diagnostics 4) Recover System 5) Enter Command Monitor Option? 5 Command Monitor. Type "exit" to return to the menu. >> bootp(): root=/dev/ram0
Možná budete muset stisknout klávesu Esc abyste se dostali do menu uvedeného výše, jinak se systém pokusí nabootovat jako obvykle přímo.
Někdy je start přes síť trnitá cesta. Pokud narazíte na problémy mohly by vám následující PROM příkazy pomoci, ale zaručit to nelze. Pokud vaše stanice odmítne přes sít nastartovat, dvakrát zkontrolujte nastavení TFTP serveru abyste se ujistili že:
dhcpd přiděluje SGI stanici IP adresu
přístupová práva jsou ve vaší tftp složce (typicky /tftpboot) nastavena správně
zkontrolujte systémové logy abyste zjistili co tftp server hlásí (pravděpodobně nějaké chyby)
modlete se k plyšákovi Tux (toto může ale nemusí fungovat, a nejedná se o oficiálně podporovanou techniku lokalizace a odstranování závad)
Obrázek 2.27. Triky které se vám při startu přes sít možná budou hodit
>> resetenv >> unsetenv netaddr >> unsetenv dlserver >> init >> bootp(): root=/dev/ram0
Pokud se vše podařilo, jste teď v ash příkazové řádce. V tom případě můžete pokračovat v kapitole Konfigurace vaší sítě.
Obsah
Abstrakt
Pokud chcete Gentoo instalovat přes Internet, potřebujete správně nastavenou síť.
V závislosti na tom jaké instalační médium jste si pro instalaci Gentoo Linuxu vybrali můžete nebo nemůžete pokračovat bez funkčního připojení k síti (a Internetu).
Obecně vzato budete potřebovat nastavit připojení k síti (a Internetu). Ale Gentoo také poskytuje možnost instalace bez síťového připojení. To je však možné pouze s následujícími instalačními médii:
Gentoo 2-CD LiveCD sada pro architekturu x86 (včetně architektur x86, i686, pentium3, pentium4 a athlon-xp)
Gentoo 2-CD LiveCD sada pro architekturu PPC
Výsledkem instalace Gentoo Linuxu přes Internet je plně aktualizovaný Gentoo systém. Máte instalaci založenou na nejnovějším Portage stromě (což je kolekce balíčků které poskytujeme společně s nástroji na správu vašeho software). To je také důvod proč je síťová instalace preferována. Avšak někteří lidé nemohou nebo nechtějí instalovat Gentoo na systém s fungujícím připojením na Internet.
Pokud jste v takové situaci potom budete potřebovat sadu 2 CD. Na těchto sadách je dostupný zdrojový kód, Portage strom a nástroje potřebné k instalaci Gentoo základního systému, a tak dále. Cenou za tuto volbu je že nebudete mít nejnovější verze programů, ačkoliv rozdíly budou minimální.
Pokud tedy chcete využít možnost instalace bez sítě, musíte použít tuto 2-CD sadu, přeskočit zbytek této kapitoly a pokračovat v kapitole Příprava disků. V opačném případě pokračujte dále ve čtení této kapitoly.
Pokud k Internetu přistupujete přes proxy server, budete možná potřebovat zadat informace o něm během instalace. Je velice jednoduché nadefinovat proxy - potřebujete totiž pouze nastavit proměnnou obsahující tyto informace.
Ve většině případů stačí pouze nadefinovat proměnné za použití jména proxy serveru. Předpokládejme například, že proxy se jmenuje proxy.gentoo.org a číslo portu je 8080.
Obrázek 3.1. Definice proxy serveru
(If the proxy filters HTTP traffic) # export http_proxy="http://proxy.gentoo.org:8080" (If the proxy filters FTP traffic) # export ftp_proxy="ftp://proxy.gentoo.org:8080" (If the proxy filters RSYNC traffic) # export rsync_proxy="rsync://proxy.gentoo.org:8080"
Pokud váš proxy server vyžaduje uživatelské jméno a heslo, měli byste pro proměnné použít následující syntaxi:
Například pro nastavení našeho HTTP proxy serveru s uživatelským jménem "john" a heslem "f00b_r" bychom použili:
Většina informací uvedená dále v této kapitole je určena uživatelům kteří nastartovali z Gentoo LiveCD. Nicméně Gentoo Linux můžete instalovat několika dalšími způsoby. Pokud jste v takové situaci, ujistěte se použitý způsob má fungující Internetové připojení (informace dostupné v dokumentech Používáme DHCP nebo Rozumíme síťové terminologii se vám mohou hodit) a pokračujte v kapitole Příprava disků.
Pokud je váš systém připojen do Ethernetové sítě s DHCP serverem, je velice pravděpodobné že vaše sítová konfigurace již byla automaticky nastavena. Pokud je tomu tak, měli byste být schopni používat mnoho sítových nástrojů na LiveCD jako jsou mimo jiné ssh, scp, ping, irssi, wget a links.
Pokud pro vás byla síť nastavena, potom by příkaz /sbin/ifconfig měl kromě lo vypsat i některá další síťová rozhraní, jako je například eth0:
Obrázek 3.4. /sbin/ifconfig pro fungující síťovou kartu
# /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
Možná budete chtít pingnout na DNS server svého providera (který se nachází v /etc/resolv.conf) a libovolný web server, pouze abyste se ujistili že vaše pakety dorazí do sítě, DNS funguje správně, atd. ...
Můžete nyní používat svou síť? Pokud ano, přeskočte zbytek této kapitoly a pokračujte v kapitole Příprava disků. Pokud je síť nefunkční, potom máte smůlu a musíte pokračovat ještě dále.
Pokud sít nefunguje ihned po startu, umožňují některá instalační média použití programu net-setup (pro klasické sítě), adsl-setup (pro uživatele ADSL) nebo pptp (pro uživatele PPTP).
Pokud vaše instalační médium tyto nástroje neobsahuje, pokračujte v podkapitole Manuální konfigurace sítě.
uživatelé klasické Ethernetové sítě by měli pokračovat v odstavci Výchozí: Použití skriptu net-setup
uživatelé ADSL by měli pokračovat v odstavci Náhradní: Použití RP-PPPoE
uživatelé PPTP by měli pokračovat v odstavci Náhradní: Použití PPTP
Nejjednodušší způsob k nastavení sítě pokud není nastavena automaticky je spustit skript net-setup.
Skript net-setup vám položí několik otázek o vašem sítovém prostředí, a po jeho skončení byste měli mít k dispozici funkční připojení k síti. Otestujte připojení jak bylo předvedeno výše, a pokud je test úspěšný tak gratulujeme! Nyní jste konečně připraveni na instalaci Gentoo. Přeskočte zbytek této kapitoly a pokračujte v kapitole Příprava disků.
Pokud vaše síťové spojení stále nefunguje jak by mělo, pokračujte v podkapitole Manuální konfigurace sítě.
Za předpokladu že potřebujete PPPoE pro připojení k Internetu, LiveCD (libovolná verze) vám celý proces zprovoznění sítě usnadňuje protože obsahuje rp-pppoe. Použijte skript adsl-setup ke konfiguraci vašeho spojení. Budete dotázáni na ethernetové zařízení připojené k vašemu adsl modemu, vaše jméno a heslo, IP adresy vašich DNS serverů a na to zda potřebujete základní firewall nebo ne.
Pokud něco nefunguje, zkontrolujte dvakrát zda jste zadali správné jméno a heslo (podívejte se do /etc/ppp/pap-secrets nebo /etc/ppp/chap-secrets) a ujistěte se že jste zadali správné zařízení. Pokud vaše internetové zařízení neexistuje, budete do jádra muset zavést příslušné moduly. V tom případě byste měli pokračovat v podkapitole Manuální konfigurace sítě tam vysvětlujeme jak do jádra potřebné moduly zavést.
Pokud vše funguje, pokračujte v kapitole Příprava disků.
Pokud potřebujete podporu pro PPTP, můžete použít skript pptpclient, který je k dispozici na našich LiveCD. Ale nejdříve se ujistíme že vaše konfigurace je správná. Upravte soubor /etc/ppp/pap-secrets nebo /etc/ppp/chap-secrets tak aby obsahoval správnou kombinaci uživatelského jména a hesla:
Poté upravte /etc/ppp/options.pptp pokud je to nutné:
Až toto uděláte, spusťte jednoduše pptp (společně s volbami které jste nemohli nastavit v options.pptp) pro připojení k serveru:
Nyní pokračujte v kapitole Příprava disků.
Až LiveCD nastartuje, pokusí se určit veškeré vaše hardwarové vybavení a načíst potřebné moduly (ovladače) do jádra tak aby nalezený hardware fungoval. V naprosté většině případů systém odvede výbornou práci. Avšak v některých případech nemusí být všechny potřebné moduly automaticky načteny.
Pokud některý ze skriptů net-setup nebo adsl-setup selhal, je téměř jisté že vaše síťová karta nebyla automaticky rozpoznána. To znamená že budete muset požadované moduly do jádra zavést ručně.
Abyste zjistili jaké moduly naše jádro nabízí použijte příkaz ls:
Pokud najdete modul (ovladač) pro vaši sítovou kartu, použijte pro jeho zavedení do jádra příkaz modprobe:
Obrázek 3.12. Testování dostupnosti vaší sítové karty, úspěšné
# 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)
Avšak pokud narazíte na následující chybu, nebyla síťová karta nalezena:
Obrázek 3.13. Testování dostupnosti vaší sítové karty, neúspěšné
# ifconfig eth0 eth0: error fetching interface information: Device not found
Za předpokladu že byla vaše sítová karta nalezena, můžete znovu spustit skript net-setup nebo adsl-setup (který by nyní měl fungovat), ale pro drsňáky teď vysvětlíme jak nakonfigurovat sítovou kartu ručně.
V zásadě existují dvě možnosti. Bud použijete DHCP (automatické získání IP adresy), nebo ručně nastavíte síťové parametry pomocí příkazů ifconfig a route.
DHCP (Dynamic Host Configuration Protocol) umožňuje automaticky přijímat informace o konfiguraci sítě (IP adresu, síťovou masku, broadcast adresu, gateway, nameservery, atd.). To funguje pouze pokud máte ve své síti DHCP server DHCP (nebo pokud má DHCP server váš provider). Aby vaše síťová karta přijímala tyto informace automaticky, použijte dhcpd.
Pokud toto funguje (zkuste pingnout na některý internetový server, například na Google), potom je nastavení hotovo a jste připraveni pokračovat v instalaci kapitolou Příprava disků.
Pokud znáte svou IP adresu, broadcast adresu, síťovou masku a nameservery, potom můžete přeskočit tuto část a pokračovat v Používáme ifconfig a route.
Pokud všechny výše uvedené postupy selžou, budete muset nastavit vaši síť ručně. Nebojte se, zdaleka to není těžké. Ale nejdříve vám musíme vysvětlit určité množství síťových pojmů které budete potřebovat pro uspokojivou konfiguraci vaší sítě. Až toto dočtete, budete vědět co je to gateway, k čemu je sítová maska, jak je vytvářena broadcast adresa a proč potřebujete nameservery.
Počítače jsou v síti identifikovány svými IP adresami (Internet Protocol adresami). Tyto adresy jsou vlastně kombinacemi čtyř číslic mezi 0 a 255, Tedy, tak to alespoň vnímáme my. Ve skutečnosti se IP adresa skládá z 32 bitů (jedniček a nul). Podívejme se na názorný příklad:
Obrázek 3.15. Příklad IP adresy
IP Address (numbers): 192.168.0.2 IP Address (bits): 11000000 10101000 00000000 00000010 -------- -------- -------- -------- 192 168 0 2
Taková IP adresa je unikátní pro každý počítač pokud uvažujeme dostupnou síť (tj. všechny počítače dostupné ve vaší síti musí mít unikátní IP adresy). Abychom byli schopni rozlišovat mezi uživateli uvnitř lokální sítě a mimo ni, je IP adresa rozdělena na dvě části - na síťovou (network) a uživatelskou (host) část.
Toto rozdělení je zapsáno ve formě sítové masky (netmask), posloupnosti jedniček následované posloupností nul. Část IP adresy která odpovídá jedničkám je síťová část, část odpovídající nulám je uživatelská část. Síťová maska je obvykle zapsána podobným způsobem jako IP adresa:
Obrázek 3.16. Rozdělení IP adresy na síťovou a uživatelskou část
IP-address: 192 168 0 2 11000000 10101000 00000000 00000010 Netmask: 11111111 11111111 11111111 00000000 255 255 255 0 +--------------------------+--------+ Network Host
Jinými slovy, IP adresa 192.168.0.14 je stále ještě částí naší sítě, ale 192.168.1.2 již nikoliv.
Broadcast (všesměrová) adresa je IP adresa se stejnou síťovou částí jako má naše sít, ale pouze s jedničkami na místě uživatelské části. Každý uživatel v naší síti na této adrese poslouchá. Jejím skutečným účelem je všesměrové vysílání (broadcast) paketů.
Obrázek 3.17. Broadcast (všesměrová) adresa
IP-address: 192 168 0 2 11000000 10101000 00000000 00000010 Broadcast: 11000000 10101000 00000000 11111111 192 168 0 255 +--------------------------+--------+ Network Host
Abyste byli schopni surfovat po internetu, musíte vědět s kým sdílíte spojení k webu. Tento počítač se jmenuje gateway. Protože se jedná o obyčejný počítač, má obyčejnou IP adresu (například 192.168.0.1).
Jak už jsme dříve uvedli, každý počítač má vlastní IP adresu. Abychom se k počítači dostali pomocí jména (namísto IP adresy), potřebujeme službu která takové jméno (jako je například dev.gentoo.org) přeloží na IP adresu (jako je například 64.5.63.82). Tato služba se jmenuje name service (jmenná služba). Abyste tuto službu mohli využívat, musíte v souboru /etc/resolv.conf zadat potřebné jmenné servery.
V některých případech slouží vaše gateway současně i jako nameserver (jmenný server). Jinak budete muset zadat jmenné servery poskytované vaším ISP.
Shrňme to - než budete pokračovat, budete potřebovat následující informace:
Sítová položka | Příklad |
---|---|
IP adresa | 192.168.0.2 |
Síťová maska | 255.255.255.0 |
Všesměrová adresa (broadcast) | 192.168.0.255 |
Gateway | 192.168.0.1 |
Jmenné servery (nameservery) | 195.130.130.5, 195.130.130.133 |
Nastavení sítě spočívá ve třech krocích. Nejdříve si pomocí příkazu ifconfig přiřadíme IP adresu. Poté nastavíme routování na gateway pomocí příkazu route. Nakonec umístíme IP adresy jmenných serverů do /etc/resolv.conf.
Pro přiřazení IP adresy budete potřebovat IP adresu, všesměrovou (broadcast) adresu a síťovou masku (netmask). Poté spusťte následující příkaz, přičemž nahraďte ${IP_ADDR} za IP adresu, ${BROADCAST} za všesměrovou adresu a ${NETMASK} za síťovou masku:
Obrázek 3.18. Použití příkazu ifconfig
# ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
Nyní nastavte routování pomocí příkazu route. Zaměňte ${GATEWAY} za IP adresu vaší brány (gateway):
Nyní otevřete soubor /etc/resolv.conf svým oblíbeným editorem (v našem příkladě je použit editor nano):
Doplňte IP adresy jmenných serverů, přičemž následující příklad použijte jako šablonu. Samozřejmě nahraďte ${NAMESERVER1} a ${NAMESERVER2} za příslušné IP adresy jmenných serverů:
Hotovo. Nyní otestujte svou síť například pingnutím na některý z Internetových serverů (například Google). Pokud to funguje, gratulujeme. Nyní jste připraveni k instalaci Gentoo. Pokračujte kapitolou Příprava disků.
Obsah
Abstrakt
Abyste vůbec byli schopni Gentoo nainstalovat, musíte vytvořit potřebné diskové oddíly. Tato část popisuje postup jak před dalším postupem rozdělit disk.
Pořádně se podíváme na vlastnosti Gentoo Linuxu a obecně Linuxu související s disky, včetně Linuxových souborových systémů, diskových oddílů a blokových zařízení. Poté, jakmile budete rozumět vstupům a výstupům disků a souborových systémů, vás provedeme postupem vytvoření diskových oddílů a souborových systémů pro vaši instalaci Gentoo Linuxu.
Začneme představením blokových zařízení. Nejslavnější z nich je pravděpodobně to které reprezentuje první IDE disk v Linuxovém systému, čili /dev/hda. V případě že váš systém používá SCSI disky je první disk označen /dev/sda.
Bloková zařízení uvedená výše reprezentují abstraktní rozhraní k diskům. Uživatelské programy mohou tato bloková zařízení používat k práci s vaším diskem aniž by se musela starat zda se jedná o IDE disk, SCSI disk nebo cokoliv jiného. Program se může na disk obrátit jednoduše jako na hromadu souvislých, náhodně přístupných 512-bytových bloků.
Ačkoliv je teoreticky možné použít pro váš Linuxový systém celý pevný disk, téměř nikdy se to nedělá. Namísto toho je celý disk rozdělen na menší, lépe spravovatelná, bloková zařízení která se na většině systémů nazývají diskové oddíly (partitions). Jiné architektury používají podobnou techniku, nazývanou řezy (slices).
Diskové oddíly lze rozdělit na tři základní typy: primární, rozšířené a logické.
Primární diskový oddíl je takový diskový oddíl o kterém jsou informace uloženy v MBR (master boot record). Protože MBR je velice malý (512 bytů), lze vytvořit nejvýše čtyři primární diskové oddíly (například /dev/hda1 až /dev/hda4).
Rozšířený diskový oddíl je zvláštním druhem primárního diskového oddílu (což znamená že rozšířený diskový oddíl musí být jedním ze čtyř možných primárních diskových oddílů) obsahující další diskové oddíly. Tento druh diskového oddílu původně neexistoval, ale protože maximální počet čtyř diskových oddílů byl příliš nízký, objevilo se toto řešení rozšiřující zaběhané schéma bez ztráty zpětné kompatibility.
Logický diskový oddíl je diskový oddíl uvnitř rozšířeného diskového oddílu. Jejich definice není ukládána do MBR, ale je uchovávána v rozšířeném diskovém oddíle.
Pokud si pro svůj systém nechcete navrhnout vlastní rozdělení disku, můžete použít (ne-LVM) schéma které používáme ve zbytku této knihy:
Pro x86 nebo amd64:
Diskový oddíl | Souborový systém | Velikost | Popis |
---|---|---|---|
/dev/hda1 | ext2 | 32M | Startovací oddíl |
/dev/hda2 | (swap) | 512M | Odkládací (swapovací) oddíl |
/dev/hda3 | ext3 | zbytek disku | Kořenový adresář |
Pro ppc:
Diskový oddíl | Partition OldWorld | Souborový systém | Velikost | Popis |
---|---|---|---|---|
/dev/hda1 | (není třeba) | (bootstrap) | 800k | Apple_bootstrap |
/dev/hda2 | /dev/hda1 | (swap) | 512M | Odkládací (swapovací) oddíl |
/dev/hda3 | /dev/hda2 | ext3 | zbytek disku | Kořenový adresář |
Pro Sparc:
Diskový oddíl | Souborový systém | Velikost | Popis |
---|---|---|---|
/dev/hda1 | ext2 | 32M | Startovací oddíl |
/dev/hda2 | (swap) | 512M | Odkládací (swapovací) oddíl |
/dev/hda3 | (nic) | celý disk | Sund Disc Label (nutné) |
/dev/hda4 | ext3 | zbytek disku | Kořenový adresář |
Pokud chcete instalovat Gentoo z existující distribuce, měli byste nejdříve změnit velikost aktuálních diskových oddílů (pokud nemáte žádné místo volné) abyste mohli Gentoo nainstalovat. K tomu můžete použít například program GNU/Parted.
Pokud vás zajímá jak velký má který diskový oddíl (nebo logický celek) být, nebo kolik diskových oddílů potřebujete, čtěte dále. Jinak pokračujte přímo v rozdělování disku:
Použití programu fdisk na architektuře x86 nebo amd64 k rozdělení vašeho disku
Použití programu fdisk na architektuře Alpha k rozdělení vašeho disku
Použití programu fdisk na architektuře SPARC k rozdělení vašeho disku
Použití programu mac-fdisk na architektuře PPC k rozdělení vašeho disku
Použití programu fdisk na architektuře HPPA k rozdělení vašeho disku
Použití programu fdisk na architektuře MIPS k rozdělení vašeho disku
Počet diskových oddílů silně závisí na vašem prostředí. Například, pokud máte velký počet uživatelů, budete zřejmě chtít umístit /home na oddělený disk abyste zvýšili bezpečnost a zjednodušili zálohování. Pokud instalujete gentoo jako mailserver, potom by zřejmě měl být umístěn adresář /var protože veškeré e-maily jsou ukládány právě zde. Dobré rozvržení souborového systému poté maximalizuje výkon. Gameservery budou mít samostatný adresář /opt protože právě sem jsou většinou umisťovány herní servery. Důvody jsou stejné jako v případe /home - bezpečnost a zálohy.
Jak je zřejmé, velice závisí na tom čeho chcete dosáhnout. Oddělené diskové oddíly nebo disky mají následující výhody:
Můžete si zvolit nejvýkonnejší souborový systém pro každý diskový oddíl nebo disk.
Celému vašemu systému nemůže dojít volné místo pokud jeden špatně fungující program zaplní veškeré volné místo ve svém diskovém oddíle
V případě nutnosti jsou kontroly integrity souborového systému redukovány, protože několik kontrol lze provádět paralelně (ačkoliv tato výhoda je zřejmější s několika oddělenými disky než diskovými oddíly)
Bezpečnost lze zvýšit připojením některých diskových oddílů pouze ke čtení (read-only), s ignorováním setuid bitů (nosetuid), bez možnosti spouštění programů (noexec), atd.
Avšak rozdělení systému na více diskových oddílů má i své nevýhody: pokud není systém nastaven správně, skončíte se systémem který má na některých discích spoustu volného místa a na některých vůbec žádné.
Jako příklad rozdělení disku předvedeme jeden z našich 20 GB disků, použitých v předváděcím laptopu (obsahující webserver, mailserver, gnome, ...):
Obrázek 4.1. Příklad rozdělení disku
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> (Unpartitioned space for future usage: 2 Gb)
Diskový oddíl připojený jako /usr je relativně zaplněný, ale jakmile je jednou software nainstalován, /usr už nemá tendenci příliš růst. Mohli byste si myslet že pro /var je přiřazeno příliš mnoho místa. Avšak Gentoo kompiluje veškeré programy v /var/tmp/portage, takže pokud chcete kompilovat velké programy měli byste mít ve /var volný alespoň 1G, a pokud vám nečiní potíže kompilovat současně KDE i OpenOffice.org tak alespoň 3G.
Nyní rozdělte svůj pevný disk za použití následujících příkladů uvedených pro vaši architekturu:
Použití programu fdisk na architektuře x86 nebo amd64 k rozdělení vašeho disku
Použití programu fdisk na architektuře Alpha k rozdělení vašeho disku
Použití programu fdisk na architektuře SPARC k rozdělení vašeho disku
Použití programu mac-fdisk na architektuře PPC k rozdělení vašeho disku
Použití programu fdisk na architektuře HPPA k rozdělení vašeho disku
Použití programu fdisk na architektuře MIPS k rozdělení vašeho disku
Tato část je určena pouze systémy s architekturou x86 nebo amd64.
Následující text vysvětluje jak dosáhnout ukázkového rozdělení disku popsaného výše, konkrétně:
Diskový oddíl | Popis |
---|---|
/dev/hda1 | Startovací oddíl |
/dev/hda2 | Odkládací (swapovací) oddíl |
/dev/hda3 | Kořenový adresář |
Samozřejmě toto rozdělení přizpůsobte svým představám.
Program fdisk je populární a mocný nástroj na dělení disku na jednotlivé diskové oddíly. Spusťte fdisk na svůj disk (v našem případě používáme /dev/hda):
Jakmile se ocitnete v prostředí programu fdisk, objeví se obrazovka podobná té následující:
Zadejte p, čímž zobrazíte aktuální rozdělení disku:
Obrázek 4.4. Příklad rozdělení disku
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):
Tento konkrétní disk je nakonfigurován pro sedm různých Linuxových souborových systémů (každý odpovídá diskovému oddílu s popiskem "Linux") a současně odkládacímu diskovému oddílu (ten je popsán jako "Linux swap").
Nejdříve odstraníme všechny existující diskové oddíly z disku. Zadejte d pro smazání diskového oddílu. Například pro smazání oddílu /dev/hda1:
Diskový oddíl byl označen pro smazání. Nebude se dále zobrazovat pokud stisknete p, ale nebude smazán dokud změny neuložíte. Pokud uděláte chybu a chcete program ukončit bez uložení změn, stiskněte klávesu q a poté Enter, a vaše diskové oddíly nebudou smazány.
Předpokládejme že jste chtěli smazat všechny Linuxové diskové oddíly na vašem disku, opakovaně jste mačkali p pro zobrazování seznamu diskových oddílů a poté jste mačkali d a číslo diskového oddílu které chcete smazat. To znamená že jste skončili s tabulkou neobsahující žádné položky:
Obrázek 4.6. Prázdná tabulka rozdělení disku
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):
Nyní když je tabulka uložená v paměti prázdná, jste připraveni vytvářet nové diskové oddíly. Použijeme výchozí schéma rozdělení popsané již dříve. Samozřejmě, nenásledujte tyto instrukce pokud disk stejným způsobem nechcete!
Nejdříve vytvoříme malý startovací oddíl. Stiskněte n pro vytvoření nového diskového oddílu, poté p pro výběr primárního diskového oddílu a poté 1 pro výběr prvního primárního oddílu. Až budete dotázáni na číslo prvního cylindru, stiskněte Enter. Až budete dotázáni na číslo posledního cylindru, zadejte +32M pro vytvoření diskového oddílu o velikosti 32 MB:
Obrázek 4.7. Vytvoření startovacího oddílu
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): (Hit Enter) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
Nyní byste po stisku p měli vidět následující tabulku rozdělení disku:
Obrázek 4.8. Vytvořený startovací oddíl
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
Potřebujeme ještě tento diskový oddíl označit jako startovatelný (bootable). Zadejte a pro přepnutí startovacího flagu na tomto diskovém oddíle. Pokud poté znovu stisknete p, uvidíte že ve sloupci "Boot" se objevila hvězdička.
Vytvořme nyní odkládací oddíl. Stiskněte tedy n pro vytvoření nového diskového oddílu a p abyste programu fdisk sdělili že chcete primární diskový oddíl. Poté zadejte 2 pro vytvoření druhého primárního diskového oddílu, v našem případě /dev/hda2. Až budete dotázáni na číslo prvního válce, stiskněte Enter a na otázku na číslo posledního cylindru odpovězte +512M čímž vytvoříte diskový oddíl o velikosti 512MB. Až toto uděláte, zadejte t pro nastavení typu diskového oddílu, zadejte 2 pro výběr právě vytvořeného diskového oddílu a poté zadejte 82 čímž typ diskového oddílu nastavíte na "Linux swap". Až toto uděláte, zadejte p a zobrazená tabulka rozdělení disku by měla vypadat zhruba takto:
Obrázek 4.9. Tabulka rozdělení po vytvoření odkládacího oddílu
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
A nyní se konečně pustíme do vytváření kořenového diskového oddílu. Stiskněte proto n pro vytvoření nového diskového oddílu, poté p abyste programu fdisk oznámili že se bude jednat o primární diskový oddíl, v našem případě /dev/hda3. Až budete dotázáni na první cylindr, stiskněte Enter a až budete dotázáni na poslední cylindr tak opět stiskněte Enter což způsobí že tento nový diskový oddíl zabere všechno volné místo na disku. Po provedení těchto kroků a stisku p by se měla zobrazit zhruba následující tabulka rozdělení disku:
Obrázek 4.10. Výpis rozdělení disku po vytvoření kořenového adresáře
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
Pro uložení rozdělení disku a ukončení programu fdisk stiskněte w.
Nyní když máte vytvořeny potřebné diskové oddíly, můžete pokračovat v části Vytváření souborových systémů.
Tato část je určena pouze pro systémy s architekturou Alpha.
Následující odstavce vysvětlují jak vytvořit vzorové rozdělení disku popsaný výše, konkrétně:
Diskový oddíl | Popis |
---|---|
/dev/sdaa | Odkládací (swapovací) oddíl |
/dev/sdab | Kořenový oddíl |
/dev/sdac | Celý disk (nutné) |
Toto rozvržení disku si samozřejmě můžete přizpůsobit svým požadavkům.
Ke zjištění jaké disky máte v počítači nainstalovány použijte následující příkazy:
Obrázek 4.12. Identifikace dostupných disků
(For IDE disks) # dmesg | grep 'drive$' (For SCSI disks) # dmesg | grep 'scsi'
Z výstupu tohoto příkazu byste měli být schopni určit které disky jsou ve vašem systému nainstalovány a jim odpovídající položky v adresáři /dev. V následujícím textu předpokládáme že disk je SCSI disk odpovídající /dev/sda.
Nyní spusťte program fdisk:
Začneme smazáním všech diskových oddílů kromě oddílu označeného "c". Následující text předvádí postup jak smazat diskový oddíl (v našem příkladu používáme 'a'). Opakujete tento postup pro všechny ostatní diskové oddíly (pochopitelně kromě oddílu 'c').
Pro zobrazení všech existujících diskových oddílů použijte příkaz p. Příkaz d je používám pro mazání diskového oddílu.
Obrázek 4.14. Mazání diskového oddílu
BSD disklabel command (m for help): p 8 partitions: # start end size fstype [fsize bsize cpg] a: 1 235* 234* 4.2BSD 1024 8192 16 b: 235* 469* 234* swap c: 1 5290* 5289* unused 0 0 d: 469* 2076* 1607* unused 0 0 e: 2076* 3683* 1607* unused 0 0 f: 3683* 5290* 1607* unused 0 0 g: 469* 1749* 1280 4.2BSD 1024 8192 16 h: 1749* 5290* 3541* unused 0 0 BSD disklabel command (m for help): d Partition (a-h): a
Po opakování tohoto postupu pro všechny diskové oddíly dostanete něco jako:
Na Alpha systémech nepotřebujete oddělený startovací diskový oddíl. Avšak první cylindr nesmí být použít, protože tzv. boot image bude umístěn právě zde.
Vytvoříme proto odkládací oddíl začínající na třetím cylindru a o celkové velikosti 1 GB. Použijte n pro vytvoření nového diskového oddílu. Po vytvoření oddílu změňte jeho typ na 1, což znamená odkládací oddíl.
Obrázek 4.16. Vytváření diskového oddílu
BSD disklabel command (m for help): n Partition (a-p): a First cylinder (1-5290, default 1): 3 Last cylinder or +size or +sizeM or +sizeK (3-5290, default 5290): +1024M BSD disklabel command (m for help): t Partition (a-c): a Hex code (type L to list codes): 1
Po provedení těchto kroků byste měli vidět něco jako:
Nyní vytvoříme kořenový diskový oddíl, který začíná hned na prvním cylindru za odkládacím oddílem. Použijte příkaz p pro zjištění na kterém cylindru odkládací oddíl končí. Ten náš končí na 1003, takže kořenový diskový oddíl začíná na 1004.
Další problém je že v programu fdisk je chyba díky které si myslí že dostupných cylindrů je o jeden více než je tomu ve skutečnosti. Jinými slovy až budete požádáni o zadání posledního cylindru, odečtěte od čísla cylindru (v našem případě 5290) jedna.
Po vytvoření diskového oddílu změňte jeho typ na 8, což je ext2.
Obrázek 4.18. Vytváření kořenového diskového oddílu
D disklabel command (m for help): n Partition (a-p): b First cylinder (1-5290, default 1): 1004 Last cylinder or +size or +sizeM or +sizeK (1004-5290, default 5290): 5289 BSD disklabel command (m for help): t Partition (a-c): b Hex code (type L to list codes): 8
Vaše rozdělení disku by se nyní mělo podobat tomuto:
Pro uložení rozdělení disku a ukončení programu fdisk stiskněte w.
Nyní když máte vytvořeny potřebné diskové oddíly, můžete pokračovat v části Vytváření souborových systémů.
Tato část je určena výhradně pro systémy s architekturou SPARC.
Následující text vysvětluje jak vytvořit vzorové rozdělení disku uvedené výše, konkrétně:
Diskový oddíl | Popis |
---|---|
/dev/hda1 | Startovací diskový oddíl |
/dev/hda2 | Odkládací (swapovací) oddíl |
/dev/hda3 | Sun Disk Label (vyžadováno) |
/dev/hda4 | Kořenový oddíl |
Toto rozvržení disku si samozřejmě upravte dle svých potřeb.
Spusťte program fdisk s diskem uvedeným jako argument:
Objevit by se měla zhruba následující obrazovka:
Pro zobrazení existujících diskových oddílů stiskněte klávesu p:
Obrázek 4.23. Zobrazení existujících diskových oddílů
Command (m for help): p Disk /dev/hda (Sun disk label): 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 bytes Device Flag Start End Blocks Id System /dev/hda1 * 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap /dev/hda3 0 3876 29302528 5 Whole Disk /dev/hda4 82 3876 28690200 83 Linux
Všimněte si textu Sun disk label ve výstupu. Pokud tento text chybí, znamená to že na disku je použito DOS rozdělení, nikoliv Sun rozdělení. V tom případě použijte klávesu s abyste se ujistili že na disku bude použita Sun tabulka rozdělení.
Nyní nastal čas na smazání všech existujících diskových oddílů. Stiskněte tedy d a poté Enter. Budete dotázáni na číslo diskového oddílu který chcete smazat. Pro smazání existujícího diskového oddílu tedy stačí zadat:
Pokud chcete smazat veškeré diskové oddíly používejte p pro zobrazení seznamu všech dostupných diskových oddílů a d pro jejich mazání jeden po druhém. Pokud máte pocit že jste udělali chybu, stiskněte okamžitě q - fdisk totiž nezapisuje provedené změny na disk okamžitě ale ponechává si změny v paměti dokud je nepotvrdíte. Na disk je zapíše pouze pokud stisknete w.
Po smazání všech diskových oddílů byste měli dosáhnout zhruba následujícího seznamu diskových oddílů:
Nyní když je v paměti uložena prázdná tabulka rozdělení disku, jsme připraveni na vytvoření Sun Disk Label diskového oddílu. Stiskněte tedy n pro vytvoření nového diskového oddílu, a poté stiskněte 3 pro vytvoření nového třetího primárního diskového oddílu. Až budete dotázáni na první cylindr stiskněte Enter. Stejně tak stiskněte Enter až budete dotázáni na poslední cylindr a poté stiskněte t pro změnu typu diskového oddílu a 5 čímž typ nastavíte na "Whole disk" (Celý Disk).
Obrázek 4.26. Kroky potřebné pro vytvoření diskového oddílu Sun Disk Label
Command (m for help): n Partition number (1-4): 3 First cylinder (1-3876, default 0): 0 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): (Press Enter) Using default value 3876 Command (m for help): t Partition number (1-8): 3 Hex code (type L to list codes): 5
Po provedení těchto kroků a po stisku p by se měla objevit zhruba následující tabulka rozdělení disku:
Nyní jsme připraveni na vytvoření startovacího oddílu. Stiskněte tedy n pro vytvoření nového diskového oddílu a poté 1 pro vytvoření prvního diskového oddílu. Až budete dotázáni na první cylindr stiskněte Enter a při dotazu na poslední cylindr zadejte +32M čímž vytvoříte diskový oddíl o velikosti 32 MB. Ujistěte se že celý startovací oddíl leží v prvních 2 GB disku. Výsledek těchto kroků můžete vidět níže:
Obrázek 4.28. Vytvoření startovacího disku
Command (m for help): n Partition number (1-4): 1 First cylinder (1-3876, default 1): (Press Enter) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
Nyní byste po stisku p měli vidět výpis podobný tomu následujícímu:
Jako další vytvoříme odkládací diskový oddíl. Stiskněte tedy n pro vytvoření nového diskového oddílu, poté 2 pro vytvoření druhého diskového oddílu, v našem případě /dev/hda2. Až budete dotázáni na první cylindr stiskněte Enter. Až budete dotázáni na poslední cylindr zadejte +512MB čímž vytvoříte diskový oddíl o velikosti 512 MB. Poté stiskněte t pro změnu typu nově vytvořeného diskového oddílu, nastavte typ na hodnotu 82 tj. na "Linux swap". Po provedení těchto kroků stiskněte p a měla by se zobrazit zhruba následující tabulka:
Obrázek 4.30. Výpis rozdělení disku
Command (m for help): p Disk /dev/hda (Sun disk label): 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 bytes Device Flag Start End Blocks Id System /dev/hda1 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap /dev/hda3 0 3876 29302528 5 Whole disk
A nakonec vytvoříme kořenový diskový oddíl. Zadejte proto n pro vytvoření nového diskového oddílu a zvolte 4 pro vytvoření čtvrtého diskového oddílu, /dev/hda4 v našem případě. Až budete dotázáni na první cylindr stiskněte Enter, a stejně tak až budete dotázáni na poslední cylindr takže nově vytvořený diskový oddíl zabere celý volný zbytek na vašem disku. Po dokončení těchto kroků a stisku p by se měla objevit zhruba následující tabulka:
Obrázek 4.31. Výpis rozdělení disku
Command (m for help): p Disk /dev/hda (Sun disk label): 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 bytes Device Flag Start End Blocks Id System /dev/hda1 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap /dev/hda3 0 3876 29302528 5 Whole disk /dev/hda4 82 3876 28690200 83 Linux
Pro uložení rozdělení disku a ukončení programu fdisk zadejte w:
Nyní když máte vytvořeny potřebné diskové oddíly, můžete pokračovat v části Vytváření souborových systémů.
Diskové oddíly budeme vytvářet pomocí programu mac-fdisk:
Nejdříve vymažte diskové oddíly které jste uvolnili pro svoje budoucí Linuxové diskové oddíly. V programu mac-fdisk použijte volbu d pro smazání těchto diskových oddílů. Program se vás bude ptát na čísla diskových oddílů které chcete smazat.
Zadruhé, vytvořte diskový oddíl Apple_Bootstrap pomocí volby b. Program se vás zeptá na kterém bloku chcete začít. Pokud jste již zvolili 3 jako číslo diskového oddílu, zadejte 3p.
Nyní vytvořte odkládací oddíl stiskem c. Program mac-fdisk se vás opět zeptá na kterém bloku má tento diskový oddíl začínat. Protože jsme při vytváření diskového oddílu Apple_Bootstrap zvolili 3, zadáme nyní 4p. Až budete dotázáni na velikost, zadejte 512MB (nebo cokoliv chcete - nicméně 512 MB je doporučovaná velikost). Až budete požádáni o zadání jména diskového oddílu, použijte swap (povinně).
Pro vytvoření kořenového adresáře zadejte c následované 5p pro výběr od kterého bloku by měl diskový oddíl začínat. Až budete dotázáni na velikost, zadejte opět 5p. Program mac-fdisk bude tuto volbu interpretovat jako "Použít všechen volný prostor." Až budete požádáni o zadání jména diskového oddílu zadejte root (povinně).
Pro ukončení programu mac-fdisk a zapsání rozdělení disku použijte w a následně q.
Nyní když máte vytvořeny potřebné diskové oddíly, můžete pokračovat v části Vytváření souborových systémů.
Pro vytvoření požadovaných diskových oddílů použijte program fdisk:
PALO potřebuje pro svou činnost speciální diskový oddíl. Musíte proto na začátku svého pevného disku vytvořit diskový oddíl o velikosti alespoň 16 MB. Tento diskový oddíl musí být typu f0 (Linux/PA-RISC boot).
Důležité: pokud toto budete ingnorovat a budete pokračovat bez zvláštního PALO diskového oddílu, váš systém vás přestane mít rád a odmítne nastartovat.
Také, pokud je váš disk větší než 2 GB, se ujistěte že startovací diskový oddíl je v prvních 2 GB na vašem disku. PALO je neschopné číst jádro za 2 GB limitem.
Nyní když máte vytvořeny potřebné diskové oddíly, můžete pokračovat v části Vytváření souborových systémů.
Všechny disky v SGI Systému vyžadují SGI Disk Label které mají podobnou funkci jako Sun & MS-DOS disklabely - ukládají informaci o diskovém oddílu. Vytvořením diskového oddílu SGI Disk Label vzniknou na disku dva nové zvláštní diskové oddíly:
SGI Volume Header (9. diskový oddíl): Tento diskový oddíl je důležitý, protože sem budou umisťovány obrazy jádra. Aby he sem bylo možné uložit budete muset použít nástroj známý jako dvhtool pro zkopírování obrazů jádra do tohoto diskového oddílu. Poté budete moci nastartovat jádro z tohoto diskového oddílu za použití SGI PROM Monitor.
SGI Volume (11. diskový oddíl): Tento diskový oddíl má podobný účel jako třetí diskový oddíl systém SGI Disk Label, tj. "Whole Disk" (celý disk). Zabírá tedy celý pevný disk a měl by zůstat nedotčený. Neslouží žádnému zvláštnímu účelu kromě toho že nedokumentovaným způsobem spolupracuje s PROM Monitor (nebo je nějakým způsobem používán systémem IRIX).
Diskový oddíl SGI Volume Header musí začínat na cylindru 0. Pokud toto nedodržíte, PROM Monitor nebude moci nastartovat systém z disku.
Následující výpis je příkladem použití programu fdisk. Přečtěte si ho a přizpůsobte svým potřebám:
Obrázek 4.35. Vyvtáření diskového oddílu SGI Disk Label
# fdisk /dev/sda Command (m for help): x Expert command (m for help): m Command action b move beginning of data in a partition c change number of cylinders d print the raw data in the partition table e list extended partitions f fix partition order g create an IRIX (SGI) partition table h change number of heads m print this menu p print the partition table q quit without saving changes r return to main menu s change number of sectors/track v verify the partition table w write table to disk and exit Expert command (m for help): g Building a new SGI disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content will be unrecoverably lost. Expert command (m for help): r Command (m for help): p Disk /dev/sda (SGI disk label): 64 heads, 32 sectors, 17482 cylinders Units = cylinders of 2048 * 512 bytes ----- partitions ----- Pt# Device Info Start End Sectors Id System 9: /dev/sda1 0 4 10240 0 SGI volhdr 11: /dev/sda2 0 17481 35803136 6 SGI volume ----- Bootinfo ----- Bootfile: /unix ----- Directory Entries ----- Command (m for help):
Pokud už na vašem disku SGI Disk Label existuje, potom fdisk vytvoření dalšího nedovolí. Existují dva způsoby jak to obejít. Prvním je vytvořit Sun nebo MS-DOS disklabel, zapsat změny na disk a znovu spustit fdisk. Druhým je přepsat tabulku rozdělení disku nulami (null data) pomocí následujícího příkazu: dd if=/dev/zero of=/dev/sda bs=512 count=1.
Nyní když máte SGI Disklabel vytvořen můžete definovat i jednotlivé diskové oddíly. V příkladu uvedeném výše již existují dva nadefinované diskové oddíly. Jsou to speciální diskové oddílu zmíněné výše a za normálních okolností by neměly být měněny. Avšak pro nainstalování Gentoo Linuxu budeme potřebovat načíst několik obrazů jádra přímo do diskového oddílu SGI Volume Header, protože v Portage dosud není žádný bootloader podporovaný SGI. Do tohoto diskového oddílu se vejde až osm obrazů jader libovolné velikosti přičemž každý obraz může mít přiřazeno jméno o osmi písmenech.
Proces zvětšení diskového oddílu SGI Volume Header není zcela přímočarý - je potřeba malý trik. Tento diskový oddíl nelze jednoduše smazat a znovu vytvořit kvůli zvláštnímu chování fdisku. V následujícím příkladu vytvoříme 50 MB diskový oddíl SGI Volume Header společně s 50 MB diskovým oddílem /boot. Konkrétní rozdělení disku se může lišit, takže toto je pouze pro ilustraci.
Obrázek 4.36. Změna velikosti diskového oddílu SGI Volume Header
Command (m for help): n Partition number (1-16): 1 First cylinder (5-8682, default 5): 51 Last cylinder (51-8682, default 8682): 101 (Notice how fdisk only allows Partition #1 to be re-created starting at a minimum of cylinder 5) (Had you attempted to delete & re-create the SGI Volume Header this way, this is the same issue you would have encountered.) (In our example, we want /boot to be 50MB, so we start it at cylinder 51 (the Volume Header needs to start at cylinder 0, remember?), and set its ending cylinder to 101, which will roughly be 50MB (+/- 1-5MB)) Command (m for help): d Partition number (1-16): 9 (Delete Partition #9 (SGI Volume Header)) Command (m for help): n Partition number (1-16): 9 First cylinder (0-50, default 0): 0 Last cylinder (0-50, default 50): 50 (Re-Create Partition #9, ending just before Partition #1)
Jakmile toto máte hotovo, můžete klidně dokončit dělení disku a vytváření potřebných diskových oddílů. Poté co máte všechny potřebné diskové oddíly vytvořeny se ujistěte že jste ID odkládacího diskového oddílu nastavili na 82, což je Linux Swap. Implicitně to bude 83, tj. Linux Native.
Nyní když máte vytvořeny potřebné diskové oddíly, můžete pokračovat v části Vytváření souborových systémů.
Nyní když máte vytvořeny diskové oddíly, nadešel čas umístit na ně souborové systémy. Pokud vás příliš netrápí který souborový systém použít a spokojíte se s výchozími volbami použitými v této příručce, pokračujte v části Umístění souborového systému na diskový oddíl. V opačném případě čtěte dále abyste se dozvěděli o zajímavých souborových systémech...
Je dostupných několik souborových systémů. Některé z nich jsou stabilní na všech architekturách, některé pouze na několika. Následující tabulka vyjmenovává seznam dostupných souborových systémů a architektury na kterých je ověřena jejich funkčnost. Pokud je architektura uvedena v závorkách, potom by souborový systém měl fungovat ale není to otestováno.
Souborový systém | Žurnálovací | Architektury |
---|---|---|
ext2 | no | všechny architektury |
ext3 | yes | všechny architektury |
reiserfs | yes | x86, hppa, alpha, (mips), (ppc), (amd64) |
xfs | yes | x86, alpha, amd64, (ppc) |
jfs | yes | x86, alpha, (mips), (amd64) |
ext2 je odzkoušený a osvědčený Linuxový souborový systém ale neobsahuje žurnálování metadat, což znamená že rutinní kontroly ext2 filesystému při startu mohou být dosti časově náročné. V současnosti již existuje poměrně slušný výběr žurnálovacích souborových systémů nové generace jejichž konzistenci lze zkontrolovat velice rychle a jsou proto všeobecně upřednostňovány před těmi nežurnálovacími. Použití žurnálovacích souborových systémů zabraňuje dlouhým prodlevám při startu systému v nekonzistentním stavu.
ext3 je žurnálovací verze souborového systému ext2, poskytující žurnálování metadat pro rychlé zotavení navíc k dalším vyspělým módům žurnálování jako jsou "full data" a "ordered data". V současnosti je ext3 velice použitelný souborový systém nabízející velice slušný výkon za většiny podmínek. Protože v designu nejsou příliš důsledně používány "stromy", nemá příliš dobrou škálovatelnost, což znamená že se nejedná o ideální volbu pro velmi velké souborové systémy nebo situace kdy musíte pracovat s velice velkými soubory nebo velkým množstvím souborů v jediném adresáři. Ale pokud je používán v rámci parametrů designu, je ext3 skvělý souborový systém.
ReiserFS je souborový systém založený na B*-stromech poskytující skvělý celkový výkon vysoce převyšující jak ext2 tak i ext3 při práci s malými soubory (méně než 4k) a to často i 10x až 15x. ReiserFS je také extrémně dobře škálovatelný a používá žurnálování metadat. Od jádra 2.4.18+ je ReiserFS skvěle stabilní a je všeobecně doporučován pro použití jak jako běžný souborový systém tak i pro extrémní případy jako je například vytváření velkých souborových systémů, používání velkého počtu malých souborů a adresářů obsahujících desetitisíce souborů.
XFS je souborový systém se žurnálováním metadat který je plně podporován Gentoo Linux xfs jádrem. Je dodáván s bohatou množinou vlastností a je optimalizován pro škálovatelnost. Tento systém doporučujeme používat pouze na Linuxovém systému se špičkovým SCSI nebo fibre channel zařízením a nepřerušitelným zdrojem. Protože XFS agresivně kešuje pracovní data v paměti RAM, nevhodně navržené programy (ty které nejsou obezřetné při zápisu souborů na disk, a těch je spousta) mohou ztratit velkou část dat pokud systém neočekávaně havaruje.
JFS je vysoce výkonný žurnálovací souborový systém firmy IBM. Za production-ready byl uznán teprve nedávno a zatím tedy není dostatek informací pro posouzení jeho obecné stability.
Pro vytváření souborových systémů na diskovém oddíle existují pro každý typ souborového systému samostatné nástroje:
Souborový systém | Nástroj na vytváření |
---|---|
ext2 | mke2fs |
ext3 | mke2fs -j |
reiserfs | mkreiserfs |
xfs | mkfs.xfs |
jfs | mkfs.jfs |
Například abychom na startovacím diskovém oddíle (v našem příkladě /dev/hda1) vytvořili souborový systém ext2 a na kořenovém oddíle (v našem příkladě /dev/hda3) vytvořili souborový systém ext3, bychom použili:
Obrázek 4.37. Vyvtáření souborových systémů na našich diskových oddílech
# mke2fs /dev/hda1 # mke2fs -j /dev/hda3
Nyní vytvořte souborové systémy na vašich nově vytvořených diskových oddílech (nebo logických oddílech).
Ti kdo používají Knoppix a již na svém systému mají nějaký odkládací oddíl mohou tento krok přeskočit, protože Knoppix odkládací oddíly aktivuje automaticky.
Pro inicializaci odkládacího oddílu je používán příkaz mkswap:
Pro aktivaci odkládacího oddílu je používán příkaz swapon:
Nyní vytvořte a aktivujte odkládací oddíl.
Nyní když máte vytvořeny diskové oddíly a vytvořili jste na nich souborové systémy, je čas tyto diskové oddíly připojit. Použijte příkaz mount. A nezapomeňte vytvořit potřebné adresáře do kterých mají být připojeny.
Obrázek 4.40. Připojování diskových oddílů
# mount /dev/hda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/hda1 /mnt/gentoo/boot
Pokud chcete adresář /tmp umístit na samostatný diskový oddíl, nezapomeňte po připojení změnit přístupová práva: chmod 1777 /mnt/gentoo/tmp. To platí také pro /var/tmp.
Nyní potřebujeme připojit ještě souborový systém proc (virtuální rozhraní s jádrem) na /proc. Nejdříve vytvoříme připojovací místo /mnt/gentoo/proc.
Pokud instalujete Gentoo z LiveCD, potom stačí obyčejný mount proc:
Pokud Gentoo neinstalujete z LiveCD, potřebujete proc připojit jako bind-mount:
Nyní pokračujte v kapitole Instalace Gentoo instalačních souborů.
Obsah
Abstrakt
Gentoo Linux je instalován pomocí takzvaných stage-files. V tomto odstavci je popsáno jak získat stage-file a nakonfigurovat Portage.
Když jsme po vás chtěli abyste si zvolili způsob instalace (LiveCD, existující distribuce atd.) vysvětlili jsme vám jaké mají jednotlivé možnosti pro a proti. Jedním z nich byla možnost volby etapového balíčku - chcete vše kompilovat sami (stage1), přeskočit bootstrapping (stage2) nebo začít z předkompilované instalace (stage3)?
Podle toho jaký jste si zvolili způsob instalace se můžete stále ještě rozhodovat. Někteří se rozhodli již na začátku instalace. Nyní je třeba se rozhodnout který etapový balíček zvolíte.
Následující dva odstavce vysvětlují jak nainstalovat váš zvolený etapový balíček. Implicitní možnost je stáhnout si zvolený etapový balíček z Internetu, avšak některá LiveCD mají tyto etapové balíčky dostupné na CD.
Pokud máte fungující připojení k Internetu, doporučujeme vám použít implicitní možnost. Avšak pokud připojení k Internetu nemáte, nebo pokud chcete instalovat Gentoo za použití GRP (z předkompilovaných balíčků), potom si musíte zvolit alternativní způsob.
Přesuňte se do adresáře do kterého jste připojili vytvořené souborové systémy (pravděpodobně /mnt/gentoo):
V závislosti na způsobu instalace máte dostupných několik nástrojů pro stažení etapového balíčku. Pokud máte k dispozici lynx, potom můžete okamžitě zobrazit seznam mirrorů Gentoo a zvolit si některý blízko vás. Poté zvolte adresář releases/, následovaný vaší architekturou (například x86/), poté verzí Gentoo (1.4/) a konečně adresář stages/. Nyní byste měli vidět všechny dostupné etapové balíčky pro svou architekturu. Zvolte si jeden a stiskněte D pro stažení. Až se balíček stáhne, stiskněte Q pro ukončení prohlížeče.
Obrázek 5.2. Zobrazení seznamu mirrorů programem lynx
# lynx http://www.gentoo.org/main/en/mirrors.xml
Pokud nemáte lynx, měli byste mít k dispozici links2. Program links2 je mocnější než lynx, ale má několik nevýhod. Jednou z nich je že nerespektuje proměnné pro proxy server které jsme nastavili dříve. Pokud potřebujete použít proxy server, použijte links2 -http-proxy proxy.server.com:8080. Od této chvíle následujte stejný postup jako pro lynx, protože jsou stejné.
Obrázek 5.3. Zobrazení seznamu mirrorů programem links2
(Without proxy:) # links2 http://www.gentoo.org/main/en/mirrors.xml (With proxy:) # links2 -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml
Pokud chcete zkontrolovat integritu staženého balíčku, použijte příkaz md5sum a srovnejte výstup s MD5 kontrolním součtem poskytovaným na našem mirroru.
Nyní rozbalte stažený balíček na svůj systém. Použijeme GNU nástroj tar protože se jedná o nejjednodušší metodu:
Ujistěte se že používáte stejnou sadu voleb (-xvjpf). Volba x znamená "Extract" (Rozbalit), v znamená "Verbose" (Ukecaný, a ano - tato volba je nepovinná), j znamená "Decompress with bzip2" (Rozbalit programem bzip2), p znamená "Preserve permissions" (Zachovej nastavení práv) a f znamená že chceme rozbalovat data ze souboru a nikoliv ze standardního vstupu.
hotovo? OK, teď jsme připraveni postoupit do další části kterou je Konfigurace kompilátoru.
Na LiveCD jsou etapové balíčky umístěny v adresáři /mnt/cdrom/stages. Pro zobrazení jejich seznamu použijte příkaz ls:
Pokud vám systém odpoví chybovou hláškou, musíte CD nejdříve připojit:
Obrázek 5.7. Připojení CD
# ls /mnt/cdrom/stages ls: /mnt/cdrom/stages: No such file or directory # mount /dev/cdroms/cdrom0 /mnt/cdrom # ls /mnt/cdrom/stages
Nyní se přesuňte do adresáře kam jste připojili souborový systém (obvykle /mnt/gentoo):
Nyní rozbalíme zvolený etapový balíček, a použijeme k tomu GNU nástroj tar. Ujistěte se že používáte stejnou sadu voleb (-xvjpf)! V následujícím příkladě rozbalíme etapový balíček stage3-20031011.tar.bz2. Toto jméno samozřejmě musíte nahradit za jméno svého etapového balíčku.
Na některých LiveCD je k dispozici obraz Portage. Protože čtete tento odstavec, můžeme předpokládat že právě takové LiveCD máte. Stačí se podívat do adresáře /mnt/cdrom/snapshots a zjistíte jaké obrazy máte k dispozici:
Nyní rozbalte obraz následujícím příkazem. Ujistěte že pro tar používáte správnou sadu voleb, přičemž mějte na paměti že -C je velké písmeno C a nikoliv c. V dalším příkladě používáme obraz portage-20031011.tar.bz2 jako jméno souboru, ale vy samozřejmě použijte jméno svého balíčku.
Obrázek 5.11. Rozbalení obrazu Portage
# tar -xvjf /mnt/cdrom/snapshots/portage-20031011.tar.bz2 -C /mnt/gentoo/usr
Potřebujete také zkopírovat zdrojové kódy z CD.
Obrázek 5.12. Zkopírování zdrojových kódů
# mkdir /mnt/gentoo/usr/portage/distfiles # cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles/
Pokud chcete použít GRP (předkompilované balíčky), pokračujte ve čtení. V opačném případě přeskočte až na část Konfigurace kompilátoru.
Pokud chcete nainstalovat Gentoo GRP (předkompilované balíčky), potřebujete zkopírovat všechny balíčky do svého souborového systému aby je Portage mohl používat.
Obrázek 5.13. Zkopírování předkompilovaných balíčků
# mkdir -p /mnt/gentoo/usr/portage/packages/All # cp /mnt/cdrom/packages/All/* /mnt/gentoo/usr/portage/packages/All/
Nyní pokračujte v části Konfigurace kompilátoru.
Pro optimalizaci Gentoo můžete nastavit několik proměnných které ovlivňují chování Portage. Všechny tyto volby lze nastavit jako proměnné prostředí (za použití příkazu export), ale toto nastavení samozřejmě není trvalé. Pro uložení vašich nastavení je vám k dispozici soubor /etc/make.conf, což je konfigurační soubor pro Portage. Právě tento soubor nyní budeme upravovat.
V souboru /mnt/gentoo/etc/make.conf(.example) lze najít komentovaný seznam všech možných proměnných. Pro úspěšnou instalaci Gentoo Linuxu potřebujete pouze proměnné které jsou uvedeny níže.
Spusťte svůj oblíbený editor (v naší příručce používáme nano) abychom mohli upravit optimalizační proměnné diskutované dále.
Jak už jste si pravděpodobně všimli, soubor make.conf(.example) je strukturován obvyklým způsobem: řádky s komentáři začínají #, ostatní řádky definují proměnné pomocí syntaxe PROMĚNNÁ="obsah". Některé z těchto proměnných jsou diskutovány dále.
Ačkoliv by to mohlo být zajímavé i pro uživatele jiných etapových balíčků než je stage1, neměli by měnit nastavení proměnné CHOST v souboru make.conf. Změna této hodnoty by mohla učinit systém neuživatelným. Znovu: tuto proměnnou měňte pouze pokud používáte instalaci z etapového balíčku stage1.
Hodnota proměnné CHOST definuje pro kterou architekturu má kompilátor gcc překládat. Možnosti jsou:
Architektura | Subarchitektura | Nastavení CHOST |
---|---|---|
x86 | i386 | i386-pc-linux-gnu |
x86 | i486 | i486-pc-linux-gnu |
x86 | i586 | i586-pc-linux-gnu |
x86 | i686 a výše (včetně athlona) | i686-pc-linux-gnu |
alpha | alpha-unknown-linux-gnu | |
ppc | powerpc-unknown-linux-gnu | |
sparc | sparc-unknown-linux-gnu | |
hppa | (obecná) | hppa-unknown-linux-gnu |
hppa | pa7000 | hppa1.1-unknown-linux-gnu |
hppa | pa8000 a výše | hppa2.0-unknown-linux-gnu |
mips | mips-unknown-linux-gnu | |
amd64 | x86_64-pc-linux-gnu |
Proměnné CFLAGS a CXXFLAGS definují optimalizační přepínače pro gcc C a C++ překladač. Ačkoliv jsou obecně nastaveny, maximálního výkonu dosáhnete pouze pokud optimalizujete tyto přepínače pro každý program samostatně. Důvodem je rozdílnost každého programu.
V souboru make.conf byste měli definovat optimalizační přepínače které způsobí že váš systém bude obecně rychlý. Nepoužívejte experimentální nastavení - příliš mnoho optimalizací může způsobit chybné chování programů (pády nebo v horším případě chybnou funkci).
Nebudeme zde vysvětlovat všechny možnosti nastavení optimalizace. Pokud je chcete znát všechny, přečtěte si GNU Online Manuály nebo info stránku překladače gcc (info gcc -- funguje pouze na plně funkčním Linuxovém systému). Soubor make.conf sám o sobě obsahuje také mnoho příkladů a informací, nezapomeňte si je také přečíst.
První nastavení je -march= přepínač, které specifikuje jméno cílové architektury. Možné volby jsou popsány v souboru make.conf (jako komentáře). Například pro x86 Athlon XP architekturu:
Další je přepínač -O, který určuje gcc optimalizaci. Možné třídy optimalizace jsou s (optimalizace velikosti), 0 (žádné optimalizace), 1, 2 nebo 3 pro optimalizaci rychlosti (každá třída má ta nastavení jako předchozí plus něco navíc). Například pro optimalizační třídu 2:
Další populární optimalizační přepínače jsou -pipe (použití rour namísto dočasných souborů pro komunikaci mezi různými etapami kompilaci) a -fomit-frame-pointer (který způsobí že frame pointer se nebude udržovat v registrech pro ty funkce které to nepotřebují).
Při definování proměnných CFLAGS a CXXFLAGS, byste měli kombinovat několik optimalizačních přepínačů, jako například:
Pomocí proměnné MAKEOPTS můžete definovat kolik paralelních kompilací by mělo probíhat při instalaci balíčku. Doporučovaný počet je počet CPU ve vašem systému plus jedna.
Upravte soubor /mnt/gentoo/etc/make.conf tak aby odpovídal vašim představám a uložte ho. Nyní jste připraveni pokračovat v kapitole Instalace základního systému Gentoo.
Obsah
Abstrakt
Ať již v předchozí části zvolíte jakýkoliv stage-file, výsledkem bude plně provozuschopný základní Gentoo systém. Tato kapitola popisuje jak se k tomuto stavu propracovat.
Pokud jste nastartovali z Gentoo LiveCD, potom jste schopni použít program mirrorselect pro update /etc/make.conf pro rychlé mirrory použitelné pro Portage i zdrojový kód:
Pokud z nějakého důvodu program mirrorselect selže, nepanikařte. Tento krok je zcela nepovinný. Pokud mirrorselect selže, postačí přednastavené hodnoty.
Jednu věc ale musíme před přepnutím do nového prostředí udělat, a to je zkopírování DNS informací uložených v souboru /etc/resolv.conf. To musíte udělat abyste si zajistili že síť bude fungovat i po přechodu do nového prostředí. /etc/resolv.conf obsahuje jmenné servery pro vaši síť.
Uživatelé Knoppixu (a další uživatelé kteří instalují Gentoo z instalačního média které nepoužívá DevFS) by nyní měli připojit (bind-mount) strukturu /dev. Pokud používáte některé z našich LiveCD můžete tento krok přeskočit.
Nyní když jsou vaše diskové oddíly inicializovány a základní prostředí je nainstalováno, je čas přepnout se do nově nainstalovaného prostředí tím že se do něj chrootneme. To znamená že se přepneme z aktuálního instalačního prostředí (LiveCD nebo jiné médium) do instalovaného systému (konkrétně do inicializovaného diskového oddílu).
Toto chrootování se provádí ve třech krocích. V prvním změníme kořenový adresář z / (na instalačním médiu) na /mnt/gentoo (na vašem diskovém oddílu) za použití příkazu chroot. Poté pomocí příkazu env-update vytvoříme nové prostředí, což v podstatě znamená že vytvoříme proměnné prostředí. A konečně tyto proměnné načteme do paměti pomocí příkazu source.
Obrázek 6.4. Chrootnutí do nového prostředí
# chroot /mnt/gentoo /bin/bash # env-update Regenerating /etc/ld.so.cache... # source /etc/profile
Gratulujeme! Nyní jste ve svém novém prostředí Gentoo Linuxu. Samozřejmě ještě zdaleka nejsme hotovi, což znamená že instalace ještě chvíli potrvá :-)
Pokud nepoužíváte GRP, musíte si stáhnout nový obraz Portage z Internetu. Program emerge sync to udělá za vás. Uživatelé GRP by měli tento krok přeskočit a pokračovat v odstavci Konfigurace USE proměnné.
Obrázek 6.5. Aktualizace Portage
# emerge sync (In case you are unable to use rsync, use "emerge-webrsync" which downloads and installs a portage snapshot for you) # emerge-webrsync
Pokud se vám dostane varování že je dostupná nová verze programu Portage a že byste ji měli aktualizovat, můžete to klidně ignorovat. Program Portage pro vás bude aktualizován později během instalace.
USE je jedna z nejmocnějších proměnných kterou Gentoo nabízí svým uživatelům. Několik programů může být zkompilováno s nebo bez podpory určitých položek. Například, některé programy mohou být zkompilovány s podporou GTK nebo QT. Jiné mohou být zkompilovány s podporou SSL nebo bez ní. Některé programy mohou být dokonce zkompilovány s podporou framebufferu (svgalib) namísto podpory X11 (X-Server).
Většina distribucí kompiluje svoje balíčky s podporou všeho dostupného, což ale zvětšuje velikost programů a čas spouštění, o enormním nárůstu závislostí ani nemluvě. S Gentoo můžete definovat se kterými vlastnostmi by balíčky měly být kompilovány. A právě zde vstupuje do hry USE.
V proměnné USE definujete klíčová slova mapovaná na konfiguraci kompilace (compile-options). Například ssl zakompiluje podporu SSL do programu které ji podporují. -X odstraní podporu X-Serveru (všimněte si znaku mínus na začátku). Volba gnome gtk -kde -qt zkompiluje program s podporou GNOME (a GTK) a nikoliv s podporou KDE (a QT), čili váš systém bude plně vyladěný pro GNOME.
Výchozí nastavení USE je uloženo v souboru /etc/make.profile/make.defaults a to co umístíte do souboru /etc/make.conf je s tímto výchozím nastavením porovnáno. Pokud k nastavení USE něco přidáte je to k implicitnímu seznamu přidáno, pokud něco z nastavení USE odeberete (tím že před klíčovým slovem použijete znaménko mínus) potom je to z implicitního seznamu odstraněno (pokud to na něm vůbec bylo). Nikdy nic neměňte přímo v adresáři /etc/make.profile, protože informace zde uložené jsou přepisovány při aktualizaci Portage!
Detailní popis USE můžete najít v druhé části Gentoo Handbook, v Kapitole 1: USE příznaky. Detailní popis USE příznaků lze najít také na vašem systému v souboru /usr/portage/profiles/use.desc.
Jako příklad předvedeme jak nastavit USE pro KDE systém s DVD, ALSOU a podporou vypalování CD:
Pokud se zajímáte o využití skupiny počítačů ke kompilaci vašeho systému, potom byste se měli podívat na DistCC Guide. Díky programu distcc můžete během instalace využít výpočetní sílu několika systémů.
Posaďte se a přemýšlejte o svých posledních krocích. Měli jste si vybrat mezi etapovými balíčky stage1, stage2 a stage3 a byli jste upozorněni že toto rozhodnutí je důležité pro další instalační kroky. Takže, toto je první místo kde vaše předchozí rozhodnutí určuje další postup.
Pokud jste si zvolili stage1, potom musíte provést oba následující kroky v této kapitole (začněte s částí Přechod od stage1 ke stage2)
Pokud jste si zvolili stage2, potom můžete první krok přeskočit a začít rovnou s druhým (tj. v části Přechod od stage2 ke stage3)
Pokud jste si zvolili stage3 (at již s GRP nebo bez GRP) poté můžet přeskočit oba následující kroky a pokračovat v následující kapitole: Konfigurace jádra
Takže si chcete všechno zkompilovat od začátku? No tak dobrá :-)
V tomto kroku bootstrapneme váš Gentoo system. Bude to trvat dlouho, ale výsledkem bude systém optimalizovaný od samého základu pro váš konkrétní stroj a potřeby.
Bootstrapping znamená sestavení GNU C knihovny, GNU Compiler Collection a několika dalších systémových nástrojů. GNU Compiler Collection musí být přeložen dokonce dvakrát: poprvé s "obecným" překladačem dodaný námi, a podruhé právě s překladačem který jste právě sestavili.
Než s bootstrappingem začneme, podíváme se na seznam možností které možná chcete a možná ne. Pokud toto číst nechcete, pokračujte v části Bootstrapping systému.
Pokud chcete urychlit bootstrapping, můžete dočasně vypnout podporu Javy. To znamená že GNU Compiler Collection a GNU C knihovna budou zkompilovány bez podpory Javy (což významným způsobem snižuje čas potřebný ke kompilaci). Ačkoliv toto znamená že nebudete mít GNU Java Compiler (gcj) neznamená to že by váš systém nebyl schopen spouštět Java Applety nebo další Javový materiál.
Pro dočasné vypnutí podpory Java definujte USE="-java" přes spuštěním bootstrapovacího skriptu.
A po skončení bootstrapping nezapomeňte tuto proměnnou zrušit:
Pokud jste v některém z předchozích kroků nezkopírovali veškerý zdrojový kód, potom bootstrapovací skript stáhne všechny potřebné soubory. Není snad třeba říkat že toto funguje pouze pokud máte fungující sítové spojení :-) Pokud chcete zdrojové kódy stáhnout v předstihu a později provést bootstraping systému (například pokud nechcete nechat spojení zapnuté i během instalace) použijte volbu -f bootstrapovacího skriptu, který si stáhne (anglicky fetch, proto písmeno f) všechny zdrojové kódy.
Tak dobrá, čapněte klávesnici a nabušte do ní následující příkazy spouštějící bootstrapping. Pak se jděte nějak zabavit (například obtěžujte Gentoo vývojáře na kanálu #gentoo), protože tento krok bude chvilku trvat.
Pokud jste změnili nastavení proměnné CHOST v souboru /etc/make.conf, potom musíte reinicializovat některé proměnné aby program gcc pracoval rychle:
Nyní pokračujte dalším krokem, a to Přechod od stage2 ke stage3.
Pokud čtete tento odstavec, potom zřejmě máte bootstrapovaný systém (buď proto že jste již bootstrap provedli sami nebo jste použili etapový balíček stage2). V každém případě je právě ten správný okamžik sestavit všechny systémové balíčky.
Všechny systémové balíčky? Ne, ve skutečnosti ne. V tomto kroku sestavíte ty systémové balíčky u kterých není možné volit z více možností. U některých systémových balíčků (například u systémových loggerů) je možno volit z několika alternativ a protože Gentoo je právě o možnosti volby nechceme vás jakkoliv nutit k jedné konkrétní možnosti.
Pokud chcete vědět které balíčky budou nainstalovány, spusťte příkaz emerge --pretend system, který vypíše seznam všech balíčků které budou kompilovány. Protože tento seznam je poměrně dlouhý, měli byste použít také stránkování například pomocí příkazů less nebo more pro listování v něm.
Pokud chcete aby příkaz emerge nejdříve stáhnul veškeré potřebné zdrojové kódy (například pokud nechcete během kompilace nechávat připojení k Internetu běžet) potom můžete použít volbu --fetchonly příkazu emerge, která pro vás veškeré potřebné zdrojové kódy stáhne.
Pro začátek sestavování systémy spusťte příkaz emerge system a poté se jděte něčím zabavit, protože provedení tohoto kroku potrvá dlouho.
Pokud sestavování systému skončilo, můžete přejít ke kapitole Konfigurace jádra.
Obsah
Abstrakt
Linuxové jádro je srdcem každé distribuce. Tato kapitola vysvětluje jak svoje jádro správně nakonfigurovat.
Nejdříve potřebujete zvolit své časové pásmo aby systém věděl kde se nachází. Najděte své časové pásmo v /usr/share/zoneinfo a udělejte odpovídající symblink do /usr/localtime pomocí příkazu ln:
Srdcem okolo kterého je vystavěna každá distribuce je Linuxové jádro. Je to vrstva mezi uživatelskými programy a vaším systémovým hardwarem. Gentoo poskytuje svým uživatelům několik možných zdrojů jádra. Úplný seznam s popisem je možno najít v Gentoo Kernel Guide.
Pro systémy založené na architektuře x86 máme, kromě jiných jader, vanilla-sources (základní jádro vyvíjené přímo vývojáři jádra), gentoo-sources (jádro opatchované s ohledem na rychlost), gentoo-dev-sources (jádro řady 2.6 opatchované s ohledem na rychlost a stabilitu), xfs-sources (jádro v nejnovější podporou XFS), gs-sources (opatchované jádro pro serverové použití), gaming-sources (jádro opatchované pro optimální herní výkon), ...
Pro systémy založené na architektuře Alpha máme vanilla-sources (základní jádro vyvíjené přímo vývojáři jádra), alpha-sources (jádro optimalizované pro uživatele architektury Alpha) a compaq-sources (jádro používané firmou RedHat pro architekturu Alpha, udržované firmou Compaq).
Pro architekturu Sparc máme vanilla-sources (základní jádro vyvíjené přímo vývojáři jádra) a sparc-sources (jádro optimalizované pro uživatele architektury Sparc).
V případě architektury MIPS si lze vybrat z jader mips-sources (výchozí jádro pro architekturu MIPS) a mips-prepatch-sources (prerelease jaderný strom).
Pro architekturu AMD64 máme jádra gentoo-dev-sources (jádro řady 2.6 s patchi specifickými pro amd64 zaměřenými na stabilitu, výkon a podporu hardware).
Další architektury by měly používat jádro optimalizované speciálně pro ně: hppa-sources (HPPA) nebo ppc-sources (PowerPC).
Zvolte si zdrojové kódy jádra a nainstalujte je pomocí programu emerge. Od této chvíle budeme používat příkaz emerge --usepkg který nainstaluje předkompilovaný balíček pokud je dostupný (pro uživatele GRP) a v opačném případě ho stáhne. Jinými slovy, pokud nepoužíváte předkompilované balíčky, můžete vypustit volbu --usepkg, ale nemusíte. Navíc můžete volbu --usepkg zkrátit na pouhé -k.
V následujícím příkladě nainstalujeme jádro vanilla-sources (protože jádro gentoo-sources není na naší architektuře dostupné). Samozřejmě si do příkazu dosaďte jádro dle své volby:
Když se nyní podíváte do adresáře /usr/src, měli byste najít symblink pojmenovaný linux a ukazující na zdrojové kódy vašeho jádra.
Obrázek 7.3. Zobrazení symblinku na zdrojové kódy jádra
# ls -l /usr/src/linux lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.4.22
Pokud to neodpovídá (tj. pokud symblink ukazuje na jiný zdroj jádra) změňte symblink než budete pokračovat dále.
Nyní nadešel čas ke konfiguraci a kompilaci zdrojových kódů jádra. Na architektuře x86 lze k tomuto účelu použít příkaz genkernel, který sestaví běžné jádro použité například na LiveCD. Vysvětlíme však také manuální konfiguraci, protože to je nejlepší způsob k optimalizaci vašeho prostředí.
Pokud chcete své jádro nakonfigurovat ručně, pokračujte v následující části Výchozí: Manuální konfigurace. Pokud jste uživatel systému s architekturou x86 a chcete použít program genkernel, měli byste přeskočit až na část Náhradní: Použití programu genkernel.
Manuální konfigurace jádra je často považována za nejsložitější zkoušku kterou musí každý uživatel Linuxu projít. Nic není tak nepravdivé - po nakonfigurování několika jader vás ani nenapadne že by to bylo složité ;)
Avšak jedna věc pravdivá je: musíte znát svůj systém když jádro začínáte konfigurovat ručně. Mnoho informací lze získat nahlédnutím do /proc/pci (nebo použitím příkazu lspci pokud je dostupný). Můžete také spustit lsmod abyste zjistili jaké moduly LiveCD používá (což vám může napovědět co je potřeba v jádře povolit).
Nyní se přesuňte do adresáře se zdrojovými kódy jádra a spusťte příkaz make menuconfig. Tím spustíte konzolové (používající knihovnu ncurses) konfigurační menu.
Objeví se nabídka s několika konfiguračními sekcemi. Nejdříve vyjmenujeme některé volby které musíte zapnout (jinak Gentoo nebude fungovat nebo nebude fungovat bez dalších úprav).
Nejdříve ze všeho zapněte podporu vývojových a experimentálních voleb a ovladačů. To potřebujete, jinak se některé velice důležité volby a ovladače vůbec nezobrazí:
Obrázek 7.6. Zapnutí podpory vývojových a experimentálních voleb a ovladačů
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers
Nyní otevřete sekci File Systems (souborové systémy) a zvolte podporu souborových systémů které používáte. Nekompilujte je jako moduly, jinak Gentoo nebude schopno připojit vaše diskové oddíly. Vyberte také položky Virtual memory, /proc file system a Automatically mount at boot.
Obrázek 7.7. Volba potřebných souborových systémů
File systems ---> [*] Virtual memory file system support (former shm fs) [*] /proc file system support [*] /dev file system support (EXPERIMENTAL) [*] Automatically mount at boot (Deselect the following unless you have a 2.6 kernel) [ ] /dev/pts file system for Unix98 PTYs (Select one or more of the following options as needed by your system) <*> Reiserfs support <*> Ext3 journalling file system support <*> JFS filesystem support <*> Second extended fs support <*> XFS filesystem support
Uživatelé jader řady 2.6 najdou některé ze zmíněných voleb v sekci Pseudo filesystems což je podsekce sekce File systems.
Pokud k připojení k Internetu používáte protokol PPoE, budete potřebovat následující volby v jádře:
Obrázek 7.8. Konfigurace PPPoE voleb
Network device support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports
Uživatelé jader řady 2.6 najdou některé ze zmíněných voleb v sekci Networking support což je podsekce sekce Device drivers.
Dvě volby týkající se komprese ničemu neuškodí ale nejsou nutné, a nutná není ani volba PPP over Ethernet protože je používána pouze programem rp-pppoe nakonfigurovaným pro "kernel mode PPPoE".
Uživatelé jader řady 2.6 najdou tyto volby v sekci Device drivers.
Pokud ho potřebujete, nezapomeňte v jádře zapnout podporu pro svou Ethernetovou síťovou kartu.
Nyní, podle toho jakou používáte architekturu, byste mohli potřebovat následující volby:
Pokud máte procesor firmy Intel podporující technologii HyperThreading (tm), nebo pokud máte víceprocesorový systém, měli byste aktivovat volbu "Symmetric multi-processing support":
Obrázek 7.9. Zapnutí podpory SMP
Processor type and features ---> [*] Symmetric multi-processing support
Pokud jste skončili s konfigurací jádra, pokračujte v odstavci Kompilace a Instalace.
Pro uživatele architektury Alpha jsou doporučovány následující volby:
Obrázek 7.10. Volby doporučované pro architekturu Alpha
General setup ---> <*> SRM environment through procfs <*> Configure uac policy via sysctl Plug and Play configuration ---> <*> Plug and Play support <M> ISA Plug and Play support SCSI support ---> SCSI low-level drivers ---> <*> SYM53C8XX Version 2 SCSI support (NEW) <*> Qlogic ISP SCSI support Network device support ---> Ethernet (10 or 100 Mbit) ---> <M> DECchip Tulip (dc21x4x) PCI support <M> Generic DECchip & DIGITAL EtherWORKS PCI/EISA <M> EtherExpressPro/100 support (eepro100) <M> EtherExpressPro/100 support (e100) Ethernet (1000 Mbit) ---> <M> Alteon AceNIC [*] Omit support for old Tigon I <M> Broadcom Tigon3 [*] FDDI driver support <M> Digital DEFEA and DEFPA <*> PPP support <*> PPP Deflate compression Character devices ---> [*] Support for console on serial port [*] Direct Rendering Manager File systems ---> <*> Kernel automounter version 4 support Network File Systems ---> <*> NFS [*] NFSv3 client <*> NFS server [*] NFSv3 server Partition Types ---> [*] Advanced partition selection [*] Alpha OSF partition support Native Language Support <*> NLS ISO 8859-1 Sound ---> <M> Sound card support <M> OSS sound modules [*] Verbose initialisation [*] Persistent DMA buffers <M> 100% Sound Blaster compatibles
Pokud jste skončili s konfigurací jádra, pokračujte v odstavci Kompilace a Instalace.
Pokud máte HIL myš nebo klávesnici, nezapomeňte pro ně zakompilovat podporu:
Obrázek 7.11. Zapnutí podpory HIL
Input core support ---> [*] Keyboard support [*] Mouse support [*] Event interface support
Pokud nemáte myš na HIL portu, potom postačí pouze základní podpora:
Ale pokud chcete plnou podporu HIL, potom zapněte následující volby:
Obrázek 7.13. Zapnutí plné podpory HIL
HIL support ---> [*] HP System Device Controller i8042 Support [*] HIL MLC Support [*] HIL Keyboard (full) support [*] HIL Mouse & Pointer support
Pokud jste skončili s konfigurací jádra, pokračujte v odstavci Kompilace a Instalace.
Nejdříve ze všeho vypněte podporu "ADB raw keycodes":
Obrázek 7.14. Vypnutí podpory ADB raw keycodes
Macintosh Device Drivers ---> [ ] Support for ADB raw keycodes
Vyberte také podporu korektního RTC (odznačte volbu "Enhanced RTC"):
Obrázek 7.15. Zapnutí podpory korentního RTC
Character devices ---> [ ] Enhanced RTC General setup ---> [*] Support for /dev/rtc
Uživatelé OldWorld systémů potřebují zapnout podporu HFS aby mohli zkopírovat zkompilované jádro na MacOS diskový oddíl.
Pokud jste skončili s konfigurací jádra, pokračujte v odstavci Kompilace a Instalace.
Nejdříve zapněte správnou podporu sběrnice:
Obrázek 7.17. Zapnutí podpory SBUS/UPA
Console drivers ---> Frame-buffer support ---> [*] SBUS and UPA framebuffers [*] Creator/Creator3D support (Only for UPA slot adapter used in many Ultras) [*] CGsix (GX,TurboGX) support (Only for SBUS slot adapter used in many SPARCStations)
Samozřejmě chcete také podporu pro OBP:
Potřebovat budete také podporu SCSI:
Obrázek 7.19. Zapnutí podpory SCSI
SCSI support ---> SCSI low-level drivers ---> <*> Sparc ESP Scsi Driver (Only for SPARC ESP on-board SCSI adapter) <*> PTI Qlogic, ISP Driver (Only for SBUS SCSI controllers from PTI or QLogic) <*> SYM53C8XX Version 2 SCSI support (Only for Ultra 60 on-board SCSI adapter)
Pro podporu své sítové karty zapněte následující:
Obrázek 7.20. Aktivace podpory síťových karet
Network device support ---> Ethernet (10 or 100Mbit) ---> <*> Sun LANCE support (Only for SPARCStation, older Ultra systems, and as Sbus option) <*> Sun Happy Meal 10/100baseT support (Only for Ultra; also supports "qfe" quad-ethernet on PCI and Sbus)
Až skončíte s konfigurací jádra, pokračujte v části Kompilace a Instalace. Nicméně až kompilace skončí, zkontrolujte jeho velikost:
Obrázek 7.21. Kontrola velikosti jádra
# ls -lh vmlinux -rw-r--r-- 1 root root 2.4M Oct 25 14:38 vmlinux
Pokud je (nekomprimovaná) velikost vyšší než 2.5 MB (pro Sparc32) nebo 3.5 MB (pro Sparc64), překonfigurujte jádro tak aby příslušný limit nepřekračovalo. Jednou z možností jak toho dosáhnout je zkompilovat potřebnou část ovladačů jako moduly. Ignorování tohoto limitu může vést až k nenastartování jádra.
Také, pokud je vaše jádro pouze o chlup větší, můžete zkusit použít příkaz strip:
Pokud používáte systém založený na Indy/Indigo2, musíte pro něj zapnout podporu.
Obrázek 7.23. Zapnutí podpory pro SGI IP22
Machine selection ---> [*] Support for SGI IP22 (Indy/Indigo2)
Pokud chcete spouštět binární soubory určené pro Irix, zapněte následující volbu:
Obrázek 7.24. Zahrnutí podpory binárních souborů Irix
General setup ---> [*] Include IRIX binary compatibility
Pokud ve své stanici SGI Indigo2 máte ISA/EISA karty, zapněte pro ně podporu.
Obrázek 7.25. Zapnutí podpory SGI Indigo2 pro ISA/EISA
General setup ---> [*] Indigo-2 (IP22) EISA bus support [*] ISA bus support
Pokud má vaše SGI stanice paralelní port, můžete pro něj zapnout podporu. Pokud máte ISA paralelní port měli byste namísto toho zapnout "PC-type hardware".
Obrázek 7.26. Zapnutí podpory SGI paralelního portu
Parallel port support ---> <*> Parallel port support <*> SGI Indy/Indigo2 hardware (EXPERIMENTAL) (NEW) <*> IEEE 1284 transfer modes (NEW)
Pokud chcete použít ISA sloty ve stanici Indigo2, zapněte podporu plug a play.
Obrázek 7.27. Zapnutí podpory PnP
Plug and Play configuration ---> <*> Plug and Play support <*> ISA Plug and Play support
Nezapomeňte zapnout podporu SCSI a zvolit ovladač pro SGI WD93C93:
Pro síťové karty pravděpodobně budete potřebovat zapnout podporu pro ethernetový řadič SGI Seeq :
Obrázek 7.29. Zapnutí podpory SGI Seeq
Network device support ---> Ethernet (10 or 100Mbit) ---> [*] Ethernet (10 or 100Mbit) [*] SGI Seeq ethernet controller support
Nezapomeňte zapnout podporu sériové konzole a podporu pro SGI Zilog85C30:
Obrázek 7.30. Zapnutí podpory pro SGI Zilog85C30
Character devices ---> [*] Non-standard serial port support [*] SGI Zilog85C30 serial support
Nezapomeňte také zapnout podporu pro Indy/I2 Watchdog ani na podporu SGI DS1286 RTC:
Obrázek 7.31. Podpora Watchdog a SGI DS1286 RTC
Character Devices ---> [*] SGI DS1286 RTC support Watchdog Cards ---> [*] Watchdog Timer Support <*> Indy/I2 Hardware Watchdog
Měli byste také zapnout podporu pro SGI diskové oddíly :)
Obrázek 7.32. Zapnutí podpory pro SGI diskové oddíly
File Systems ---> Partition Types ---> [*] Advanced partition selection [*] SGI partition support
Pokud máte kartu SGI Newport (XL Gfx) Card a chcete ji používat, potom byste zřejmě měli povolit její podporu:
Obrázek 7.33. Zapnutí podpory pro SGI Newport Card
Console drivers ---> <*> SGI Newport Console support (NEW)
Pokud chcete plnou podporu zvuku pro Indy/Indigo2, zapněte pro ji:
Obrázek 7.34. Zapnutí podpory zvuku pro Indy/Indigo2
Sound ---> <*> Sound card support <*> SGI HAL2 sound (EXPERIMENTAL)
Pokud jste skončili s konfigurací jádra, pokračujte v odstavci Kompilace a Instalace.
Pokud máte systém s více procesory Opteron, měli byste zapnout podporu "Symmetric multi-processing support":
Obrázek 7.35. Zapnutí podpory SMP
Processor type and features ---> [*] Symmetric multi-processing support
Pokud jste skončili s konfigurací jádra, pokračujte v odstavci Kompilace a Instalace.
Nyní když máte jádro nakonfigurováno, je čas jej zkompilovat a nainstalovat. Opusťte konfigurační menu a spusťte příkaz make dep && make bzImage modules modules_install:
Obrázek 7.36. Kompilace jádra
(For x86-based systems, 2.4 kernel) # make dep && make bzImage modules modules_install (For other systems, 2.4 kernel) # make dep && make vmlinux modules modules_install (For amd64-based systems, 2.6 kernel) # make bzImage modules modules_install (For other systems, 2.6 kernel) # make && make modules_install
Až kompilace jádra skončí, zkopírujte obraz do adresáře /boot. V následujícím příkladě předpokládáme že jste nakonfigurovali a zkompilovali jádro vanilla-sources-2.4.22 (což ale nemusí být to správné jádro pro vaši architekturu).
Obrázek 7.37. Instalace jádra
(For x86-based systems) # cp arch/i386/boot/bzImage /boot/kernel-2.4.22 # cp System.map /boot/System.map-2.4.22 (For amd64-based systems) # cp arch/x86_64/boot/bzImage /boot/kernel-2.4.22 (For other systems) # cp vmlinux /boot/kernel-2.4.22 # cp System.map /boot/System.map-2.4.22
Je také rozumné zkopírovat si konfigurační soubor do adresáře /boot, pro případ nouze :)
Pokud jste uživatelé systému MIPS a pokud váš systém nepodporuje start ELF jádra, zkompilujte jádro pomocí make vmlinux.ecoff namísto make vmlinux. Obraz jádra bude uložen jako arch/mips/boot/vmlinux.ecoff namísto vmlinux.
Nyní pokračujte v části Instalace samostatných modulů jádra.
Pokud čtete tento odstavec, zvolili jste si použití skriptu genkernel který zkompiluje jádro za vás. Avšak to také znamená že máte systém s architekturou x86. Jiné architektury nejsou skriptem genkernel podporovány.
Nyní máte nainstalován strom zdrojového kódu, a nadešel čas jej zkompilovat pomocí skriptu genkernel. Skript genkernel funguje tak že nakonfiguruje kernel téměř stejně jako jádro na našem LiveCD. To znamená že když použijete genkernel pro sestavení jádra, váš systém obecně najde veškerý váš hardware při startu, stejně jako LiveCD. Protože skript genkernel nepotřebuje žádnou ruční konfiguraci, je to ideální řešení kdo se necítí na to nakonfigurovat si vlastní jádro.
Podívejme se jak použít skript genkernel. Zaprvé spusťte emerge na genkernel ebuild:
Nyní zkompilujte zdrojové kódy jádra. Pokud používáte genkernel nainstalovaný přes GRP, spusťte genkernel. Pokud máte čerstvý balíček genkernel (staženou verzi), spusťte genkernel all. Ale pozor, protože genkernel zkompiluje jádro podporující téměř všechen hardware, bude kompilace trvat dosti dlouho!
Obrázek 7.40. Spuštění skriptu genkernel
(This example is for the GRP genkernel) # genkernel Gentoo Linux genkernel, version 1.4 Copyright 2003 Gentoo Technologies, Inc., Bob Johnson, Daniel Robbins Distributed under the GNU General Public License version 2 Settings: compile optimization: 1 processor(s) source tree: /usr/src/linux-2.4.22 config: gentoo (customized) config loc: /etc/kernels/config-2.4.22 initrd config: (default) /etc/kernels/settings * Running "make oldconfig"... [ ok ] * Logging to /var/log/genkernel.log... [ ok ] * Starting 2.4.22 build... [ ok ] * Running "make dep"... [ ok ] * Running "make bzImage"... [ ok ] * Running "make modules"... [ ok ] * Running "make modules_install"... [ ok ] * Moving bzImage to /boot/kernel-2.4.22... [ ok ] * Building busybox... [ ok ] * Creating initrd... [ ok ] * Build completed successfully! * Please specify /boot/kernel-2.4.22 and /boot/initrd-2.4.22 * when customizing your boot loader configuration files.
Jakmile skript genkernel skončí, budou vytvořeny jádro, plná sada modulů a "initial root disk" (initrd). Jádro a initrd použijeme dále v tomto dokumentu při konfiguraci zavaděče. Zapište si jméno jádra a initrd protože je budete potřebovat při konfiguraci zavaděče. Soubor initrd bude spuštěn okamžitě po nastartování aby mohl provést autodetekci hardware (přesně jako LiveCD) ještě před tím než nastartuje "skutečný" systém.
Nyní proveďme ještě jeden krok k tomu aby byl náš systém více jako LiveCD - emerge hotplug. Zatímco initrd provádí autodetekci hardware potřebného pro start systému, hotplug provádí autodetekci všeho ostatního. Pro stažení a zapnutí balíčku hotplug zadejte následující:
Pokud je to potřeba, měli byste si stáhnout moduly pro další hardware ve svém systému. Zde je seznam s kernelem souvisejících balíčků které si můžete stáhnout pomocí příkazu emerge:
Ebuild | Účel | Příkaz |
---|---|---|
nvidia-kernel | Akcelerované ovladače grafických karet s čipem NVIDIA pro XFree86 | emerge --usepkg nvidia-kernel |
nforce-net | Ovladač pro síťovou kartu umístěnou na Motherboardech s čipem NForce(2) | emerge nforce-net |
nforce-audio | Ovladač pro zvukovou kartu umístěnou na Motherboardech s čipem NForce(2) | emerge nforce-audio |
e100 | Intel e100 Fast Ethernet Adapters | emerge e100 |
e1000 | Intel e1000 Gigabit Ethernet Adapters | emerge e1000 |
emu10k1 | Podpora Creative Sound Blaster Live!/Audigy | emerge emu10k1 |
ati-drivers | Akcelerované ovladače grafických karet ATI Radeon 8500+/FireGL pro XFree86 | emerge ati-drivers |
xfree-drm | Akcelerované ovladače grafických karet ATI Radeon až do 9200, Rage128, Matrox, Voodoo a dalších karet pro XFree86. Přečtěte si proměnnou IUSE_VIDEO_CARDS v /usr/portage/x11-base/xfree-drm ebuilds abyste zjistili co je potřeba doplnit na místo yourcard | VIDEO_CARDS="yourcard" emerge xfree-drm |
Avšak pozor, protože některé z těchto balíčků mohou mít rozsáhlé závislosti. Abyste ověřil které balíčky budou nainstalovány stažením určitého balíčku, použijte příkaz emerge --pretend. Například pro balíček emu10k1:
Pokud se vám nelíbí seznam balíčků které by se nainstalovaly, použijte příkaz emerge --pretend --verbose kterým zjistíte jaké USE příznaky byly zvoleny při rozhodování o závislostech:
Obrázek 7.43. Zobrazení použitých USE příznaků
# emerge --pretend --verbose emu10k1 ... [ebuild N ] media-sound/aumix-2.8 +gpm +nls +gtk +gnome +alsa -gtk2
V předchozím příkladě je vidět že jedna ze závislostí balíčku emu10k1 (aumix) používá USE příznaky gtk a gnome, což znamená že gtk (závisející na XFree) bude kompilováno s ním.
Pokud nechcete aby tomu tak bylo, odstraňte všechny USE příznaky, například:
Obrázek 7.44. Stažení emu10k1 se všemi USE příznaky odstraněnými
# USE="-gpm -nls -gtk -gnome -alsa" emerge --pretend emu10k1
Pokud jste nyní s výsledkem spokojeni, odstraňte z příkazu volbu --pretend a balíček emu10k1 bude nainstalován.
Pokud nepoužíváte hotplug, měli byste v souboru /etc/modules.autoload.d/kernel-2.4 (nebo kernel-2.6) uvést seznam modulů které chcete automaticky načíst. K modulům můžete přidat i některé zvláštní volby, pokud chcete.
Pro zobrazení seznamu všech dostupných modul spusťte následující příkaz find. Nezapomeňte za "<kernel version>" dosadit verzi jádra kterou jste právě zkompilovali:
Obrázek 7.45. Zobrazení všech dostupných modulů
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
Například pro automatické spuštění modulu 3c59x.o:
Nyní spusťte příkaz modules-update pro potvrzení změn v souboru /etc/modules.conf:
Pokračujte v instalaci dle kapitoly Konfigurace systému.
Abstrakt
Nyní musíte upravit několik důležitých konfiguračních souborů. V této kapitole vám předložíme přehled těchto soborů a návod jak postupovat.
V Linuxu musí být všechny diskové oddíly používané systémem uvedeny v souboru /etc/fstab. Tento soubor obsahuje místa připojení (mountpoints) těchto diskových oddílů (tj. místa jde se objeví v adresářové struktuře), jakým způsobem by měly být připojeny (zvláštní nastavení) a kdy (automaticky či manuálně, zda je mohou připojit uživatelé, atd.).
Soubor /etc/fstab má zvláštní syntaxi. Každá řádka se skládá ze šesti položek, oddělených bílými znaky (mezerami, tabulátory nebo jejich kombinací). Každá položka má svůj vlastní význam:
První položkou je příslušný diskový oddíl (cesta k souboru zařízení).
Druhou položkou je přípojné místo (tzv. mountpoint) ke kterému by diskový oddíl měl být připojen.
Třetí položka označuje souborový systém použitý na diskovém oddíle.
Čtvrtá položka uvádí zvláštní nastavení používaná příkazem mount při připojování diskového oddílu. Protože každý souborový systém má svá vlastní zvláštní nastavení, doporučujeme vám přečíst si manuálovou stránku (man mount) pro jejich kompletní seznam. Pokud chcete uvést několik zvláštních nastavení, oddělte je čárkou.
Pátá položka je používána příkazem dump pro určení zda diskový oddíl má být zpracován nebo ne. Obecně zde můžete nechat hodnotu 0 (nula).
Šestá položka je používána příkazem fsck pro určení v jakém pořadí mají být souborové systémy kontrolovány při nesprávném vypnutí systému. Kořenový adresář by zde měl mít nastaveno 1 zatímco ostatní diskové oddíly by zde měly mít nastaveno 2 (nebo 0 pokud není kontrola nutná).
Takže spusťme nano[2] (nebo váš oblíbený editor) a vytvořte /etc/fstab:
Podívejme se napsat volby pro diskový oddíl /boot. Jedná se pouze o příklad, takže pokud vaše architektura nevyžaduje diskový oddíl /boot, nekopírujte to doslovně.
V našem vzorovém x86 rozdělení disku je /boot na diskovém oddílu /dev/hda1 a jako souborový systém je použit ext2. Tento souborový systém by neměl být připojován automaticky (noauto) ale měl by být kontrolován. Takže konfigurace by mohla být:
Nyní, by většina uživatelů pro zvýšení výkonnosti přidala volbu noatime, což zrychlí systém protože nebudou zaznamenávány časy přístupu (které stejně většinou nepotřebujete):
Obrázek 8.3. Vylepšená konfigurační řádka pro /boot v /etc/fstab
/dev/hda1 /boot ext2 noauto,noatime 1 2
Kdybychom takhle pokračovali dále, skončili bychom s následujícími třemi linkami (pro /boot, / a odkládací oddíl):
Obrázek 8.4. Tři řádky v /etc/fstab
/dev/hda1 /boot ext2 noauto,noatime 1 2 /dev/hda2 none swap sw 0 0 /dev/hda3 / ext3 noatime 0 1
Nakonec bychom měli doplnit konfiguraci pro /proc, tmpfs (povinně) a pro vaše CD-ROM mechaniky (a pochopitelně i pro další diskové oddíly, pokud nějaké máte):
Obrázek 8.5. Kompletní konfigurace /etc/fstab
/dev/hda1 /boot ext2 noauto,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 defaults 0 0 /dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
Volba auto umožňuje hádat souborový systém (doporučeno pro výměnná média protože ta mohou být vytvářena s jedním z mnoha souborových systémů) a volba user umožňuje připojení CD disků i běžným uživatelům (a nikoliv jen rootovi).
Nyní použijte právě uvedené příklady pro vytvoření vlastního souboru /etc/fstab. Pokud používáte systém s architekturou Sparc, měli byste do /etc/fstab přidat také následující řádku:
Obrázek 8.6. Doplnění souborového systému openprom do /etc/fstab
none /proc/openprom openpromfs defaults 0 0
Pokud potřebujete souborový systém usbfs, přidejte do /etc/fstab také následující řádek:
Ještě jednou si pro jistotu soubor /etc/fstab přečtěte, uložte jej a ukončete editor.
Jedno z rozhodnutí která musí uživatel učinit je pojmenování svého PC. Vypadá to jako jednoduchý úkol, ale mnoho uživatelů má s nalezením vhodného jména pro své Linuxové PC problémy. Stačí si však uvědomit že zvolené jméno můžete kdykoliv později změnit. Takže nám bude stačit jméno tux a jméno domény homenetwork.
Tyto hodnoty používáme v následujících příkladech. Nejdříve nastavíme hostname:
A potom nastavíme domainname:
Pokud máte NIS doménu (pokud nevíte co to je tak nic takového nemáte), potřebujete nastavit také ji:
Nyní doplňte skript domainname do základního runlevelu:
Než vás přepadne pocit "Hele, tohle už jsme ale udělali", měli byste si uvědomit že nastavení sítě prováděné hned na začátku instalace bylo určené jen a pouze pro instalaci. Teď budeme konfigurovat sít pro váš stálý Gentoo systém.
Veškeré nastavení sítě je ukládáno v /etc/conf.d/net. Používá přímou i když ne zcela intuitivní syntaxi pro ty kteří neumí síťové připojení nastavit ručně. Ale nebojte se, všechno vám vysvětlíme :)
Nejdříve tedy otevřete soubor /etc/conf.d/net ve svém oblíbeném editoru (v našich příkladech je používán nano):
První proměnná na kterou narazíte je iface_eth0, která používá následující syntaxi:
Obrázek 8.13. Syntaxe iface_eth0
iface_eth0="<your ip address> broadcast <your broadcast address> netmask <your netmask>"
Pokud používáte DHCP (automatické získávání IP adresy), měli byste hodnotu iface_eth0 nastavit na dhcp. Pokud používáte rp-pppoe (čili například ADSL), použijte hodnotu up. Pokud potřebujete síť nastavit ručně a výše uvedené pojmy vám nic neříkají, přečtěte si prosím část Rozumíme síťové terminologii.
Podívejme se na následující tři příklady; první používá DHCP, druhý statickou IP adresu (192.168.0.2) se síťovou maskou 255.255.255.0, všesměrovou adresou 192.168.0.255 a bránou 192.168.0.1 zatímco třetí pouze aktivuje rozhraní pro použití pomocí rp-pppoe:
Obrázek 8.14. Příklady pro /etc/conf.d/net
(For DHCP:) iface_eth0="dhcp" (For static IP:) iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0" gateway="eth0/192.168.0.1" (For rp-pppoe:) iface_eth0="up"
Pokud máte několik sítových rozhraní, vytvořte další iface_eth proměnné (tj. samostatné řádky zařínající iface_eth), jako například iface_eth1, iface_eth2 atd. Brána byste neměli opakovat, protože pro každý počítač můžete uvést pouze jednu.
Nyní uložte konfiguraci a ukončete editor.
Aby vaše síťová rozhraní byla aktivována při startu, potřebujete je doplnit do implicitního runlevelu. Pokud máte PCMCIA rozhraní měli byste tuto akci přeskočit protože PCMCIA rozhraní jsou aktivována v PCMCIA init skriptu.
Pokud máte několik sítových rozhraní, potřebujete pro ně vytvořit příslušné inicializační skripty net.eth1, net.eth2 atd. K tomu můžete použít příkaz ln:
Nyní potřebujete svůj Linuxový systém informovat o své síti. Tyto informace jsou definovány v /etc/hosts a pomáhají na IP adresy překládat hostnames (jména počítačů) které nejsou uvedeny na jmenném serveru (nameserver). Například pokud se vaše lokální síť skládá ze tří PC pojmenovaných jenny (192.168.0.5), benny (192.168.0.6) a tux (192.168.0.7 - váš systém) otevřeli byste soubor /etc/hosts a vložili byste do něj následující hodnoty:
Obrázek 8.18. Zadání informací o síti
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
Pokud je váš systém samostatný (nebo pokud jmenné servery ošetří všechna jména správně) postačí pouze jediná řádka:
Uložte soubor a ukončete editor.
Pokud nemáte PCMCIA, můžete nyní pokračovat v části Informace o systému. Uživatelé PCMCIA systému by si měli přečíst následující odstavec o PCMCIA.
Uživatelé PCMCIA periferií by si nejdříve ze všeho měli nainstalovat balíček pcmcia-cs:
Když ho máte nainstalovaný, přidejte pcmcia do implicitního runlevelu:
Gentoo používá soubor /etc/rc.conf pro obecné, systémové nastavení. Otevřete /etc/rc.conf a vychutnejte si komentáře v tomto souboru :)
Jak vidíte, tento soubor je dobře okomentován aby vám pomohl nastavit potřebné konfigurační hodnoty. Dávejte pozor zejména na nastavení KEYMAP: pokud zvolíte chybnou hodnotu dostane se vám velmi podivných výsledků psaní na klávesnici.
Uživatelé USB systémů architektury Sparc a klonů by měli namísto "sunkeymap" zvolit i386 keymapu (jako například "us").
Pokud jste dokonfigurovali soubor /etc/rc.conf, uložte jej a ukončete editor. Nyní můžete přejít k následující kapitole Konfigurace zavaděče.
[2] Poznámka překladatele: Editor nano (v závislosti na konfiguraci a na parametrech kompilace) automaticky zalamuje řádky takovým způsobem, že pátá a šestá položka se mohou objevit na samostatném řádku (což je špatně). V tom případě použijte při spuštění přepínač -w, kterým toto chování vypnete.
Obsah
Abstrakt
Existuje několik zavaděčů operačního systému a každý se konfiguruje jinak. V této části vám popíšeme všechny možnosti a provedeme vás konfigurací zavaděče tak aby vyhovoval vašim nárokům.
Nyní když máte jádro nakonfigurováno a zkompilováno a potřebné konfigurační soubory jsou správně vyplněny, nadešel okamžik instalace programu který při startu systému načte vámi zkompilované jádro. Takový program se jmenuje zavaděč (bootloader). Ale než začneme, zvažte možnosti ...
Na Linuxu je dostupných několik zavaděčů. Avšak tyto zavaděče fungují pouze na malé množině architektur, takže si musíte vybrat mezi zavaděči které podporují tu vaši ...
Následující tabulka obsahuje seznam architektur a zavaděčů které je podporují. Zvolte si zavaděč který podporuje vaši architekturu. Například pokud máte Pentium IV, potom vaše architektura je x86 a musíte si tedy vybrat mezi zavaděčem GRUB (doporučovaná volba) a LILO.
Architektura | Doporučovaný zavaděč | Alternativy |
---|---|---|
x86 | GRUB | LILO |
alpha | aBoot | MILO |
sparc | SILO | |
ppc | yaBoot (NewWorld), BootX (OldWorld) | |
hppa | PALO | |
mips | MIPS ROM | |
amd64 | GRUB |
Tato část platí pouze pro systémy s architekturou x86, amd64 a ppc které mají ve zkompilovaném jádře zahrnutu podporu framebufferu. To zahrnuje i ty kdo pro konfiguraci jádra použili skript genkernel.
Pokud jste jádro nakonfigurovali s podporou framebufferu a pokud vyžadujete podporu framebufferu, musíte do konfigurace zavaděče doplnit řádek s konfigurací vga. Následující tabulka obsahuje výčet možných hodnot které při této konfiguraci můžete použít. Ve vzorové konfiguraci používáme mód 800x600@16bpp, čili hodnotu 788.
640x480 | 800x600 | 1024x768 | 1280x1024 | |
8bpp | 769 | 771 | 773 | 775 |
16bpp | 785 | 788 | 791 | 794 |
24bpp | 786 | 789 | 792 | 795 |
Nezapomeňte si někam zapsat zvolenou hodnotu, protože ji už za chvilku budete potřebovat.
Nyní si z výše uvedeného výčtu zvolte zavaděč.
GRUB lze použít pouze pro systémy s architekturou x86 nebo amd64!
Nejkritičtější na pochopení toho jak funguje GRUB je sžití se s tím jak se GRUB odkazuje na diskové oddíly. Váš diskový oddíl /dev/hda1 je v GRUBu označován jako (hd0,0). Všimněte si závorek okolo hd0,0 - jsou povinné.
Pevné disky jsou počítány od nuly namísto od "a" a diskové oddíly začínají na nule namísto na jedničce. Dejte si také pozor na to že jsou počítány pouze pevné disky a nikoliv atapi zařízení jako například CD přehrávače a vypalovačky. To samé platí pro SCSI mechaniky. (Obvykle dostanou vyšší čísla než IDE disky pokud není BIOS nakonfigurován tak aby startoval ze SCSI zařízení.)
Předpokládejme že máte pevný disk na /dev/hda, CD-ROM přehrávač na /dev/hdb, vypalovačku na /dev/hdc a druhý pevný disk na /dev/hdd a žádný SCSI pevný disk. V tom případě je diskový oddíl /dev/hdd7 přeložen jako (hd1,6). Může se to zdát ošidné a asi i je, ale jak uvidíme tak GRUB nabízí automatické doplňování pro ty z vás kteří mají spoustu pevných disků a diskových oddílů a kteří se v číslování GRUBu poněkud ztrácejí.
Pokud máte pocit že jste se s tím trochu sžili, je čas nainstalovat GRUB.
Pro nainstalování programu GRUB stačí použít emerge. Uživatelé systémů s architekturou x86 musí nainstalovat grub, uživatelé systémů s architekturou AMD64 musí instalovat grub-static:
Obrázek 9.1. Instalace zavaděče GRUB
(For the x86 architecture:) # emerge --usepkg grub (For the AMD64 architecture:) # emerge --usepkg grub-static # cp -Rpv /usr/share/grub/i386-pc/* /boot/grub
Pokud chcete začít konfigurovat GRUB, stačí pouze zadat příkaz grub. Objeví se příkazová řádka grub> tj. příkazová řádka programu GRUB. Teď potřebujete zadat ty správné příkazy pro nainstalování startovacího záznamu programu GRUB na váš pevný disk.
Ve vzorové konfiguraci budeme chtít program GRUB nainstalovat tak aby četl informaci ze startovacího diskového oddílu /dev/hda1 a aby umístil startovací záznam programu GRUB do MBR (master boot record) našeho pevného disku takže první věc která se objeví po zapnutí počítače bude příkazová řádka programu GRUB. Samozřejmě pokud jste se nedrželi přesně naší vzorové konfigurace upravte odpovídajícím způsobem použité příkazy.
Automatické doplňování GRUBU lze použít z jeho příkazové řádky. Například pokud zadáte "root (" a stisknete TAB (tj. tabulátor), objeví se seznam zařízení (jako je například hd0). Pokud zadáte "root (hd0," a opět stisknete TAB, objeví se seznam dostupných diskových oddílů na daném zařízení (jako je například hd0,0).
S použitím automatického doplňování by konfigurace zavaděče GRUB neměla být příliš těžká. Tak do toho, nakonfigurujeme GRUB, ne? :-)
Obrázek 9.3. Instalace GRUBu do MBR
grub> root (hd0,0) (Specify where your /boot partition resides) grub> setup (hd0) (Install GRUB in the MBR) grub> quit (Exit the GRUB shell)
Pokud chcete GRUB nainstalovat přímo do některého diskového oddílu a nikoliv do MBR, musíte změnit příkaz setup tak aby odkazoval na správný diskový oddíl. Například pokud chcete GRUB nainstalovat do diskového oddílu /dev/hda3, potom použijte setup (hd0,2). Ale to bude chtít jenom několik málo uživatelů.
Ačkoliv GRUB už je nyní nainstalován, ještě pro něj musíme napsat konfigurační soubor, aby GRUB mohl automaticky zavést nově vytvořené jádro. Vytvořte soubor /boot/grub/grub.conf pomocí editoru nano (nebo kterýmkoliv jiným editorem):
Nyní napíšeme grub.conf. Níže najdete tři varianty souboru grub.conf pro rozdělení disku použité v tomto návodu a pro jádro kernel-2.4.22. Řádně okomentována je pouze první varianta.
První grub.conf je pro ty kdo nepoužili skript genkernel pro sestavení jádra
Druhý grub.conf je pro ty kdo pro sestavení jádra použili skript genkernel z LiveCD (tj. skript genkernel nainstalovaný přes GRP)
Třetí varianta souboru grub.conf je pro ty kdo použili stažený skript genkernel
Obrázek 9.5. grub.conf pro ty kdo nepoužili skript genkernel
# Which listing to boot as default. 0 is the first, 1 the second etc. default 0 # How many seconds to wait before the default listing is booted. timeout 30 # Nice, fat splash-image to spice things up :) splashimage=(hd0,0)/grub/splash.xpm.gz title=Gentoo Linux 2.4.22 # Partition where the kernel image (or operating system) is located root (hd0,0) kernel (hd0,0)/kernel-2.4.22 root=/dev/hda3 # The next three lines are only if you dualboot with a Windows system. # In this case, Windows is hosted on /dev/hda6. title=Windows XP root (hd0,5) chainloader +1
Obrázek 9.6. grub.conf pro ty kdo požili skript genkernel z LiveCD (resp. z GRP)
default 0 timeout 30 splashimage=(hd0,0)/grub/splash.xpm.gz title=Gentoo Linux 2.4.22 root (hd0,0) kernel (hd0,0)/kernel-2.4.22 root=/dev/hda3 initrd (hd0,0)/initrd-2.4.22 # Only in case you want to dual-boot title=Windows XP root (hd0,5) chainloader +1 Code listing 7: grub.conf for no
Obrázek 9.7. grub.conf pro ty kdo použili stažený skript genkernel
default 0 timeout 30 splashimage=(hd0,0)/grub/splash.xpm.gz title=Gentoo Linux 2.4.22 root (hd0,0) kernel (hd0,0)/kernel-2.4.22 root=/dev/ram0 init=/linuxrc real_root=/dev/hda3 initrd (hd0,0)/initrd-2.4.22 # Only in case you want to dual-boot title=Windows XP root (hd0,5) chainloader +1
Pokud používáte jiné rozdělení disku a/nebo obraz jádra, upravte odpovídajícím způsobem tyto příklady. Nicméně se ujistěte že cokoliv následující za GRUB zařízením (jako je například (hd0,0)) je uvedeno relativně k místu připojení, nikoliv ke kořenovému adresáři. Jinými slovy, (hd0,0)/grub/splash.xpm.gz je ve skutečnosti /boot/grub/splash.xpm.gz protože (hd0,0) je /boot.
Pokud potřebujete předávat jakékoliv další volby jádru, jednoduše je přidejte na konec příkazu kernel. Jednu volbu už vlastně používáme (root=/dev/hda3 nebo real_root=/dev/hda3), ale můžete samozřejmě přidat ještě další. Jako příklad používáme již dříve diskutovaný příkaz vga pro framebuffer:
Obrázek 9.8. Doplnění volby vga do příkazu kernel
title=Gentoo Linux root (hd0,0) kernel (hd0,0)/kernel-2.4.22 root=/dev/hda3 vga=788
Uživatelé kteří použili skript genkernel by si měli uvědomit že jejich jádro používá stejné volby jako použili pro LiveCD. Například pokud máte SCSI zařízení, měli byste doplnit volbu doscsi.
Nyní uložte soubor grub.conf a ukončete program. Od této chvíle je GRUB plně nakonfigurován a můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
LILO, tj. LInux LOader, je odzkoušená volba a mezi Linuxovými zavaděči je to skutečně dříč. Avšak chybí mu některé vlastnosti které má GRUB (což je také důvod proč je v poslední době GRUB stále populárnější). Důvod proč je LILO stále ještě používán je že na některých systémech GRUB nefunguje a LILO ano. Samozřejmě, je používán také proto že někteří uživatelé znají LILO a nechtějí se ho vzdát. Ať už je to jak chce, Gentoo podporuje oboje a vy jste si zřejmě vybrali LILO.
Instalace LILO je lehounké, stačí jenom použít emerge:
Pro nakonfigurování LILO musíte vytvořit soubor /etc/lilo.conf. Spusťte svůj oblíbený editor (v této příručce je z důvodu konzistence používán nano) a vytvořte tento soubor.
O několik kroků zpět jsme po vás chtěli abyste si zapamatovali jméno obrazu jádra který jste vytvořili. V následujícím příkladu konfiguračního souboru lilo.conf předpokládáme že toto jméno je kernel-2.4.22. V tomto příkladu také používáme vzorové rozdělení disku. V konfiguračním souboru lilo.conf jsou tři oddělené části:
První část je pro ty kdo nepoužili skript genkernel pro sestavení jádra
Druhá část je pro ty kdo pro sestavení jádra použili skript genkernel z LiveCD (tj. skript genkernel nainstalovaný přes GRP)
Třetí část je pro ty kdo použili nejnovější (stažený) skript genkernel
Obrázek 9.11. Vzorový /etc/lilo.conf
boot=/dev/hda # Install LILO in the MBR prompt # Give the user the chance to select another section delay=50 # Wait 5 (five) seconds before booting the default section default=gentoo # When the timeout has passed, boot the "gentoo" section # Only if you use framebuffer. Otherwise remove the following line: vga=788 # Framebuffer setting. Adjust to your own will # For non-genkernel users image=/boot/kernel-2.4.22 label=gentoo # Name we give to this section read-only # Start with a read-only root. Do not alter! root=/dev/hda3 # Location of the root filesystem # For GRP genkernel users image=/boot/kernel-2.4.22 label=gentoo read-only root=/dev/hda3 initrd=/boot/initrd-2.4.22 # For recent genkernel users image=/boot/kernel-2.4.22 label=gentoo read-only root=/dev/ram0 append="init=/linuxrc real_root=/dev/hda3" initrd=/boot/initrd-2.4.22 # The next two lines are only if you dualboot with a Windows system. # In this case, Windows is hosted on /dev/hda6. other=/dev/hda6 label=windows
Pokud používáte odlišné rozdělní disku a/nebo jméno jádra tuto vzorovou konfiguraci odpovídajícím způsobem upravte.
Pokud potřebujete jádru předat jakékoliv další volby, použijte příkaz append. Jako příklad jsme použili volbu acpi=off která vypne podporu ACPI:
Obrázek 9.12. Použití append pro přidání voleb jádra
image=/boot/kernel-2.4.22 label=gentoo read-only root=/dev/hda3 append="acpi=off"
Uživatelé kteří použili skript genkernel by si měli uvědomit že jejich jádro používá stejné volby jako použili pro LiveCD. Například pokud máte SCSI zařízení, měli byste doplnit volbu doscsi.
Pro dokončení instalace musíte spustit příkaz /sbin/lilo aby LILO mohlo aplikovat konfiguraci ze souboru /etc/lilo.conf na váš systém (tj. nainstalovat se na disk).
Nyní můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
Zavaděč aBoot lze používat pouze na systémech s architekturou Alpha!
Nejdříve ze všeho aboot nainstalujeme na náš systém a samozřejmě k tomu použijeme emerge:
V následujícím kroku označíme náš bootdisk jako (startovatelný) bootovatelný. To způsobí že se po nastartování počítače spustí aboot. K označení disku jako bootovatelný stačí zapsat aboot na začátek disku.
Obrázek 9.15. Označení startovacího disku jako bootovatelného
# swriteboot -f3 /dev/sda /boot/bootlx # abootconf /dev/sda 2
Pokud používáte jiné rozdělení disku než jaké jsme používali v této kapitole, musíte odpovídajícím způsobem upravit použité příkazy. Přečtěte si proto příslušné manuálové stránky (man 8 swriteboot a man 8 abootconf).
Navíc můžete zjednodušit start Gentoo nastavením konfiguračního souboru pro aboot a proměnné SRM boot_osflags. Měli byste se také ujistit že proměnná bootdef_dev je správně nastavena (to lze jednodušeji provést z konzole než z Linuxu).
Obrázek 9.16. Vylepšení startu Gentoo
# echo '0:2/boot/vmlinux.gz root=/dev/sda2' > /etc/aboot.conf # echo -n 0 > /proc/srm_environment/named_variables/boot_osflags # echo -n '' > /proc/srm_environment/named_variables/boot_file
Pokud k instalaci používáte sériovou konzoli, nezapomeňte zahrnout "serial console boot flag" do souboru aboot.conf. Podívejte se do souboru /etc/aboots.conf.example ve kterém najdete další informace. Dále budete potřebovat umožnit přihlašování na sériovém portu:
Obrázek 9.17. Povolení přihlášení na sériovém portu
# echo tts/0 >> /etc/securetty # echo 's0:12345:respawn:/sbin/agetty 9600 tts/0 vt100' >> /etc/inittab
Aboot je nyní nakonfigurován a připraven k použití. Nyní můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
MILO lze používat pouze na systémech s architekturou Alpha!
Než budeme pokračovat, měli byste se rozhodnout jak používat MILO. V tomto odstavci budeme předpokládat že chcete použít MILO startovací disketu. Pokud chcete startovat z MS-DOS diskového oddílu na svém pevném disku, měli byste odpovídajícím způsobem pozměnit použité příkazy.
Pro nainstalování zavaděče MILO použijte příkaz emerge.
Po nainstalování zavaděče MILO by se měly MILO obrazy (images) objevit v /opt/milo. Příkazy uvedené níže vytvoří startovací disketu obsahující MILO. Nezapomeňte použít správné obrazy pro svůj Alpha systém.
Obrázek 9.19. Instalace zavaděče MILO na startovací disketu
(First insert a blank floppy) # fdformat /dev/fd0 # mformat a: # mcopy /opt/milo/milo-2.2-18-gentoo-ruffian a:\milo # mcopy /opt/milo/linload.exe a:\lilnload.exe (Only if you have a Ruffian: # mcopy /opt/milo/ldmilo.exe a:\ldmilo.exe ) # echo -ne '\125\252' | dd of=/dev/fd0 bs=1 seek=510 count=2
Vaše MILO startovací disketě je nyní připravena k nastartování Gentoo Linuxu. Možná budete potřebovat nastavit proměnné prostředí ve svém ARCS Firmware tak aby nastartovaly MILO; jak to provést je vysvětleno v MILO-HOWTO s několika příklady na běžných systémech, a příklady příkazů používaných v interaktivním módu.
Nečtení MILO-HOWTO je špatný nápad.
Nyní můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
Je čas nainstalovat a nakonfigurovat SILO, tj. Sparc Improved boot Loader.
Otevřete svůj oblíbený editor (v této příručce je používán editor nano) a vytvořte soubor /etc/silo.conf.
V následujícím vzorovém konfiguračním souboru silo.conf je použito naše vzorové schéma rozdělení disku a jako obraz jádra (kernelimage) je použit soubor kernel-2.4.22.
Obrázek 9.22. Příklad souboru /etc/silo.conf
partition = 1 # Boot partition root = /dev/hda4 # Root partition timeout = 15 # Wait 15 seconds before booting the default section image = /boot/kernel-2.4.22 label = linux
Pokud použijete konfigurační soubor silo.conf získaný přes Portage, ujistěte se že jste zakomentovali všechny nepotřebné řádky.
Pokud máte oddělený diskový oddíl /boot, zkopírujte tento konfigurační soubor do adresáře /boot a spusťte příkaz /sbin/silo:
Obrázek 9.23. Pouze pokud máte /boot na samostatném diskovém oddíle
# cp /etc/silo.conf /boot # /sbin/silo -C /boot/silo.conf /boot/silo.conf appears to be valid
Pokud je váš adresář /boot umístěn na kořenovém diskovém oddílu, stačí pouze spustit /sbin/silo:
Nyní můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
Zavaděč PALO je určen pouze pro systémy s architekturou HPPA!
Na platformě PA-RISC je používán zavaděč nazývaný palo. Jeho konfigurační soubor se nachází v /etc/palo.conf. Zde je ukázková konfigurace:
Obrázek 9.25. Vzorový soubor /etc/palo.conf
--commandline=2/vmlinux root=/dev/sdb2 HOME=/ --recoverykernel=/vmlinux.old --init-partitioned=/dev/sdb
První řádek zavaděči palo oznamuje umístění jádra a jaké startovací parametry je potřeba použít. 2/vmlinux znamená že jádro pojmenované /vmlinux se nachází na druhém diskovém oddíle. Pozor, cesta k jádru je uváděna vzhledem k diskovému oddílu nikoliv ke kořenovému adresáři.
Druhý řádek oznamuje jaké záložní jádro použít. Pokud je toto vaše první instalace a žádné záložní jádro nemáte, zakomentujte tento řádek. Třetí řádek definuje na kterém disku bude palo umístěno.
Až budete s konfigurací hotovi, stačí spustit palo.
Nyní můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
Zavaděč yaBoot lze používat pouze na systémech s architekturou NewWorld PPC!
Existují dva způsoby jak nakonfigurovat váš yaBoot systém. Můžete použít nový a vylepšený yabootconfig dodávaný s yaboot-1.3.8-r1 a novějšími pro automatické nastavení yaboot. Pokud z nějakého důvodu nechcete yabootconfig použít k automatickému vytvoření souboru /etc/yaboot.conf, můžete jednoduše upravit vzorový soubor nainstalovaný na vašem systému.
Program yabootconfig automaticky nalezne diskové oddíly na vašem systému a nastaví dvojité a trojité kombinace startu s Linuxem, Mac OS a Mac OS X.
Pro použití yabootconfig musí mít váš disk bootstrap diskový oddíl, a /etc/fstab musí být nakonfigurován s vašimi Linuxovými diskovými oddíly. Oba tyto kroky již byly v této příručce probírány. Před započetím se přesvědčete že máte nainstalovánu nejnovější verzi yaboot spuštěním příkazu emerge --update yaboot. To je nutné protože poslední verze je dostupná přes Portage, ale nemusí být zahrnuta do etapových balíčků.
Nyní spusťte yabootconfig. Program poběží a bude žádat o potvrzení umístění bootstrap diskového oddílu. Zadejte Y pokud je hodnota správná. Pokud není, zkontrolujte obsah souboru /etc/fstab. Program yabootconfig poté prohledá nastavení vašeho systému, vytvoří soubor /etc/yaboot.conf a spustí za vás mkofboot. Program mkofboot je používán pro vytvoření bootstrap diskového oddílu a instalaci konfiguračního souboru yaboot do něj.
Možná budete chtít zkontrolovat obsah /etc/yaboot.conf. Pokud v souboru /etc/yaboot.conf uděláte nějakou změnu (jako je nastavení implicitního OS), spusťte ybin -v pro aplikaci změn na bootstrap diskový oddíl.
Nyní můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
Nejdříve se ujistěte že máte na svém systému nainstalovánu poslední verzi balíčku yaboot:
Níže najdete dokončený soubor /etc/yaboot.conf. Změňte ho dle vlastního uvážení:
Obrázek 9.29. /etc/yaboot.conf
## /etc/yaboot.conf ## ## run: "man yaboot.conf" for details. Do not make changes until you have!! ## see also: /usr/share/doc/yaboot/examples for example configurations. ## ## For a dual-boot menu, add one or more of: ## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ ## our bootstrap partition: boot=/dev/hda9 ##hd: is open firmware speak for hda device=hd: partition=11 root=/dev/hda11 delay=5 defaultos=macosx timeout=30 install=/usr/lib/yaboot/yaboot magicboot=/usr/lib/yaboot/ofboot ################# ## This section can be duplicated if you have more than one kernel or set of ## boot options ################# image=/boot/vmlinux label=Linux sysmap=/boot/System.map read-only ################## macos=/dev/hda13 macosx=/dev/hda12 enablecdboot enableofboot
Jakmile je yaboot nastaven jak potřebujete, spusťte mkofboot -v což aplikuje nastavení na bootstrap diskový oddíl. Nezapomeňte na tento krok! Pokud všechno proběhlo v pořádku, a pokud jste použili stejné nastavení jako v předchozí ukázce, po restartu se před vámi objeví jednoduché menu. Pokud později upravíte nastavení yaboot, bude pro aktualizaci bootstrap diskového oddílu stačit použít příkaz ybin -v, protože mkofboot se používá pouze při první instalaci.
Více informací o yabootu najdete na stránkách yaboot projektu. Nyní můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
Zavaděč BootX lze používat pouze na systémech s architekturou OldWorld PPC!
Pokud chcete používat zavaděč BootX, potom nemusíte v této etapě dělat vůbec nic. Nicméně po restartu budete muset trochu nakonfigurovat BootX kontrolní panel (v MacOS). Budeme se tím zabývat později během instalace.
Nyní můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
MIPS nevyžaduje použití zavaděče. MIPS ROM se stará o celý proces startování, ale musíte nainstalovat jádro jako životaschopnou volbu.
Nejdříve nainstalujte nástroj dvhtool, potřebný ke zkopírování jádra do diskového oddílu SGI Volume Header.
Nyní zkopírujte jádro do diskového oddílu SGI Volume Header. Program dvhtool implicitně předpokládá že SGI Volume Header je na /dev/sda. Pokud to není váš případ (například pokud je IRIX nainstalován na /dev/sda a Gentoo/MIPS na /dev/sdb) potom o tom musíte dvhtool informovat pomocí přepínače -d <zařízení>.
Obrázek 9.31. Kopírování jádra do diskového oddílu SGI Volume Header
# dvhtool --unix-to-vh <kernel name in /boot> <name you want to give in volume header>
Pokud chcete vypsat všechny dostupné volby na SGI Volume Header, použijte přepínač --print-volume-directory:
Pro nastavení vašeho systému tak aby nastartoval Gentoo/MIPS si musíte pohrát s nastavením v MIPS ROM. Tato nastavení jsou popsána dále v této příručce v části věnující se krokům po dokončení instalace Gentoo.
Nyní můžete pokračovat v kapitole Instalace potřebných systémových nástrojů.
Obsah
Abstrakt
Jak již bylo uvedeno, Gentoo je o možnosti volby. V této kapitole vám pomůžeme zvolit a nainstalovat některé důležité nástroje.
Když jsme se podrobněji zmínili o etapovém balíčku stage3, uvedli jsme že obsahuje všechny potřebné systémové nástroje pro které neexistuje alternativa. Řekli jsme také že později nainstalujeme všechny potřebné systémové nástroje. A ta chvíle právě nadešla :)
První nástroj u kterého se musíte rozhodnout bude poskytovat logovací zázemí pro váš systém. Unix a Linux mají skvělou historii logovacích nástrojů - pokud chcete můžete všechno co se odehraje na vašem systému zaznamenat do logovacích souborů (logfiles). A to se děje přes systémový logger.
Gentoo vám nabízí možnost výběru z několika systémových loggerů. Existuje sysklogd, což je tradiční balíček systémových logovacích démonů, msyslog, flexibilní systémový logger s modularizovaným designem, syslog-ng, vylepšený systémový logger, a metalog což je skvěle konfigurovatelný systémový logger.
Pokud si jeden z nich nedokážete vybrat, použijte syslog-ng protože to je mocný nástroj a navíc má skvělou výchozí konfiguraci.
K nainstalování zvoleného systémového loggeru použijte emerge a přidejte ho do výchozího runlevelu příkazem rc-update. Následující příklad instaluje syslog-ng. Pokud chcete, můžete ho samozřejmě nahradit svým vybraným systémovým loggerem:
Další je cronový démon. Ačkoliv se jedná o volitelný a nepovinný systémový nástroj, je moudré ho nainstalovat. Ale co to vlastně cronový démon je? Cronový démon spouští naplánované příkazy. Je velice praktické pokud můžete některé příkazy spouštět pravidelně (například denně, týdně nebo měsíčně).
Gentoo poskytuje tři verze cronových démonů: dcron, fcron a vixie-cron. Instalace kteréhokoliv z nich je podobná instalaci systémového loggeru. Avšak dcron a fcron vyžadují další konfigurační příkaz, konkrétně crontab /etc/crontab. Pokud nevíte který zvolit, použijte vixie-cron.
Pokud instalujete Gentoo pomocí předkompilovaných balíčku, zkuste použít vcron namísto vixie-cron pokud vixie-cron nefunguje.
Dle toho který souborový systém používáte musíte pro tento souborový systém nainstalovat potřebné nástroje (pro kontrolu jeho integrity, vytváření dalších souborových systémů, atd.).
Následující tabulka obsahuje nástroje které potřebujete nainstalovat pro jednotlivé souborové systémy:
Souborový systém | Nástroj | Instalační příkaz |
---|---|---|
XFS | xfsprogs | emerge --usepkg xfsprogs |
ReiserFS | reiserfsprogs | emerge --usepkg reiserfsprogs |
JFS | jfsutils | emerge --usepkg jfsutils |
Pokud pro připojení k Internetu nepotřebujete rp-pppoe, pokračujte v části Dokončení vaší instalace Gentoo. V opačném případě pokračujte v části Nástroje pro síť.
Pokud k připojení k Internetu potřebujete rp-pppoe, musíte si ho nainstalovat. Uživatelé GRP (předkompilované balíčky) musí použít následující příkaz:
Ostatní uživatelé musí rp-pppoe nainstalovat následujícím příkazem:
Volba USE="-X" zakáže instalaci XFree jako závislosti (rp-pppoe má i grafické nástroje, pokud je chcete povolit musíte si později rp-pppoe později překompilovat nebo nyní nainstalovat XFree - kompilace ale zabere dlouhou dobu).
Nyní pokračujte v části Dokončení vaší instalace Gentoo.
Obsah
Abstrakt
Už jsme skoro hotovi. Nyní už stačí vytvořit jednoho (nebo více) uživatelů pro váš systém a restartovat instalaci do zbrusu nového Gentoo systému.
Než na to zapomenete, nastavte heslo uživatele root:
Pokud chcete aby se root mohl přihlásit i přes sériovou konzoli, přidejte ttyS0 do souboru /etc/securetty.
Pracovat jako root na Unixovém/Linuxovém systému je nebezpečné a měli byste se tomu vyhýbat jak to jenom jde. Tudíž vám silně doporučujeme přidat dalšího uživatele pro každodenní používání.
Například pro vytvoření uživatele se jménem john který je členem skupiny wheel (aby se mohl přepnout do role roota pomocí příkazu su), skupiny users (implicitní skupina pro všechny uživatele) a skupiny audio (aby mohl používat zvuková zařízení):
Obrázek 11.3. Přidání uživatele pro každodenní používání
# useradd john -m -G users,wheel,audio -s /bin/bash # passwd john Password: (Enter the password for john) Re-enter password: (Re-enter the password to verify)
Pokud tento uživatel bude někdy potřebovat provést něco jako root, může použít příkaz su - tím dočasně získá práva uživatele root. Dalším možným řešením je balíček sudo, který je při správné konfiguraci velice bezpečný.
Gratulujeme! Váš Gentoo systém je nyní hotov. Spusťte příkaz etc-update kterým aktualizujete konfigurační soubory (pokud je to potřeba), ukončete chrootované prostředí a odpojte veškeré diskové oddíly a, pokud jste museli provést bind-mount na /mnt/gentoo/dev, nezapomeňte ho také odpojit. A teď už zadejte ten kouzelný příkaz na který celou dobu čekáte: reboot
Obrázek 11.4. Restart systému
# etc-update # exit # cd / # umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo # reboot
Samozřejmě nezapomeňte vyjmou startovací CD, jinak systém opět nastartuje z něj namísto z vaší nové instalace Gentoo Linuxu.
Uživatelé architektury OldWorld PPC nastartují svůj MacOS protože jejich zavaděč ještě není nainstalován. Tito uživatelé by si měli přečíst následující odstavec Volitelně: Konfigurace BootX. Uživatelé systémů s architekturou MIPS si při zprovozňování nové instalace Gentoo budou muset trochu pohrát s nastavením MIPS PROM. Tito uživatelé by si měli přečíst odstavec Volitelně: Zprovoznění Gentoo/MIPS. Uživatelé GRP mohou pokračovat v odstavci Volitelně: Instalace dalších balíčků, a ostatní mohou pokračovat v kapitole Kam se vydat nyní?
Tato část je určena pouze uživatelům architektury PPC kteří chtějí používat zavaděč BootX. Všichni ostatní by měli tento odstavec přeskočit.
Váš systém právě nastartoval do Mac OS, takže otevřete ovládací panel programu BootX. Zvolte Options a odškrtněte volbu Used spedified RAM disk. Až se vrátíte do hlavního okna programu BootX, najdete zde nyní volbu pomocí které můžete nakonfigurovat kořenový disk a diskový oddíl systému. Zadejte příslušné hodnoty.
BootX lze nakonfigurovat i tak že nastartuje Linux hned po bootu. Pokud si to zvolíte, systém nejdříve začne startovat do MacOS, a během tohoto startu se spustí BootX a nastartuje se Linux. Další informace hledejte na domácí stránce programu BootX.
Pokud používáte GRP můžete pokračovat v odstavci Volitelně: Instalace dalších balíčků, a jinak přeskočte až na kapitolu Kam se vydat nyní?
Po restartu se přepněte do System Maintenance Menu a zvolte položku Enter Command Monitor (5). Pokud chcete otestovat svou Instalaci Gentoo, můžete jednoduše zadat příkaz root -f <jméno jádra>. Aby váš systém vždy startoval do instalace Gentoo, musíte v MIPS PROM nastavit některé proměnné:
Obrázek 11.5. Konfigurace MIPS PROM pro start do Gentoo
1) Start System 2) Install System Software 3) Run Diagnostics 4) Recover System 5) Enter Command Monitor Option? 5 Command Monitor. Type "exit" to return to the menu. (<root device> = Gentoo's root partition, e.g. /dev/sda3) >> setenv OSLoadPartition <root device> (To list the available kernels, type "ls") >> setenv OSLoader <kernel name> >> setenv OSLoadFilename <kernel name> (Declare the kernel parameters you want to pass) >> setenv OSLoadOptions <kernel parameters> (Provide the location of the Volume Header) >> setenv SystemPartition scsi(0)disk(1)rdisk(0)partition(8) (Automatically boot Gentoo) >> setenv AutoLoad Yes (Set the timezone) >> setenv TimeZone EST5EDT (Use the serial console - graphic adapter users should have "g" instead of "d1" (one)) >> setenv console d1
Nyní si můžete užívat Gentoo!
Tato část je určena výhradně uživatelům GRP. Zbývající uživatelé by ji měli přeskočit a pokračovat v kapitole Kam se vydat nyní?
Nyní když váš systém nastartoval, přihlaste se jako uživatel kterého jste vytvořili (například john) a použijte příkaz su - čímž získáte práva uživatele root:
Nyní potřebujeme překopírovat předkompilované balíčky z druhého CD (CD-2) pokud ho máte. Nejdříve CD připojte:
Nyní překopírujte předkompilované balíčky z CD do /usr/portage/packages. Ujistěte se že používáte přesně ten samý příkaz copy!
Obrázek 11.8. Překopírování předkompilovaných balíčků
# cp /mnt/cdrom/packages/All/* /usr/portage/packages/All/
A nyní nainstalujte ty balíčky které chcete. CD-2 obsahuje několik předkompilovaných binárních balíčků, například KDE:
Ujistěte se že jste veškeré binární soubory nainstalovali nyní. Až použijete příkaz emerge sync k aktualizaci Portage (což se naučíte později), pravděpodobně dojde k tomu že předkompilované balíčky již nebudou odpovídat ebuildům v aktualizované databázi Portage. Můžete to zkusit obejít použitím emerge --usepkgonly namísto emerge --usepkg.
Gratulujeme, váš systém je nyní kompletní! Pokračujte v kapitole Kam se vydat nyní? abyste se dozvěděli více o Gentoo.
Abstrakt
Tak teď máte Gentoo systém, ale co dál?
Gratulujeme! Nyní máte funkční Gentoo systém. Ale kam se nyní vydat? Jaké jsou vaše možnosti? Co prozkoumávat nejdříve? Gentoo poskytuje svým uživatelům mnoho možností, takže je zde mnoho dokumentovaných (a méně dokumentovaných) vlastností.
Rozhodně byste se měli podívat na druhou část Gentoo Handbook která nese název Práce s Gentoo, ve které vysvětlujeme jak udržovat svůj software aktuální, jak nainstalovat další programy, co jsou to USE příznaky, jak funguje inicializační systém Gentoo, atd.
Pokud se zajímáte o optimalizaci svého systému pro desktopové použití, nebo pokud se chcete naučit konfigurovat systém jako úplný desktopový systém, podívejte se do Desktop Configuration Guide.
Pro úplný seznam dostupné dokumentace se podívejte na naši Documentation Resources page.
Samozřejmě jste vždy vítáni v našich Gentoo diskusních fórech nebo na jednom z našich mnoha Gentoo IRC kanálů.
Pro naše uživatele také existuje několik mailinglistů. Informace o tom jak se do nich přihlásit najdete na uvedené stránce.
A teď už zmlkneme a necháme vás vychutnat si instalaci :)
Naučte se pracovat s Gentoo: instalovat software, upravovat proměnné, měnit chování portage atd.
Obsah
Abstrakt
USE-příznaky jsou velice důležitá vlastnost Gentoo. V této kapitole se naučíte pracovat s USE-příznaky a pochopíte jak USE-příznaky působí ve vašem systému.
Při instalaci Gentoo (nebo jakékoliv jiné distribuce, nebo i jiného operačního systému) činíte rozhodnutí v závislosti na prostředí se kterým pracujete. Nastavení pro server se bude lišit od nastavení pro pracovní stanici. Nastaveni herního systému se bude lišit od nastavení 3D pracovní stanice.
To platí nejen pro to které balíčky vyberete pro instalaci, ale také toho jaké vlastnosti by tyto instalované balíčky měly podporovat. Když nepotřebujete OpenGL, proč byste měli instalovat balíčky s podporou pro OpenGL a zakompilovávat podporu OpenGL do části vašich balíčků. Pokud nechcete používat KDE, proč byste měli zdržovat kompilováním KDE podpory do balíčků které bez problémů fungují i bez ní?
Abychom uživatelům pomohli v rozhodování co nainstalovat/zapnout a co ne, chtěli jsme jim umožnit jednoduchý způsob definice prostředí. To nutí uživatele rozhodnout se co skutečně chce a zjednodušuje práci systému Portage, našeho systému pro správu balíčků.
Podívejme se na USE příznaky. Příznak je klíčové slovo které vyjadřuje podporu a informaci o závislosti pro určitý pojem. Pokud použijete některý USE příznak, Portage bude vědět že chcete podporu pro dané klíčové slovo. Samozřejmě tím také měníte informaci o závislostech balíčku.
Podívejme se na konkrétní příklad: klíčové slovo kde. Pokud toto slovo nemáte ve své proměnné USE, všechny balíčky které obsahují nepovinnou podporu KDE budou zkompilovány bez ní. Všechny balíčky které mají nepovinnou závislost na KDE budou nainstalovány bez instalování KDE knihoven. Pokud jste klíčové slovo kde použili, potom budou tyto balíčky nainstalovány s podporou KDE a KDE knihovny budou v důsledku závislosti nainstalovány.
Existují dva typy USE příznaků: globální a lokální USE příznaky.
Globální USE příznaky jsou používány několika balíčky, v celém systému. Toto je nejobvyklejší způsob použití USE příznaků.
Lokální USE příznaky jsou používány jediným balíčkem pro úpravu chování právě toho jednoho balíčku.
Seznam dostupných USE příznaků lze najít na webu nebo lokální v souboru /usr/portage/profiles/use.desc. Krátký (absolutně neúplný) úryvek:
Obrázek 13.1. Krátký úryvek použitelných USE příznaků
gtk - Adds support for x11-libs/gtk+ (The GIMP Toolkit) gtk2 - Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both. gtkhtml - Adds support for gnome-extra/gtkhtml guile - Adds support for dev-util/guile (interpreter for Scheme) icc - Use the Intel C++ Compiler if the package supports it icc-pgo - Enable PGO data generation or use when use icc. imap - Adds support for IMAP
V naději že už jsme vás přesvědčili o důležitosti USE příznaků vám nyní vysvětlíme jak USE příznaky používat.
Jak už bylo uvedeno, všechny USE příznaky jsou deklarovány v USE proměnné. Abychom uživatelům vyhledávání a volbu USE příznaků ulehčili, vytvořili jsme výchozí USE nastavení. Toto nastavení je několik USE příznaků o kterých si myslíme že jsou uživateli Gentoo obvykle používány. Toto výchozí nastavení je deklarováno v souboru /etc/make.profile/make.defaults, a my se na něj teď podíváme:
Obrázek 13.2. /etc/make.profile/make.defaults USE proměnná
USE="x86 oss apm arts avi berkdb crypt cups encode foomaticdb gdbm gif gpm gtk imlib jpeg kde gnome libg++ libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt quicktime readline sdl slang spell ssl svga tcpd truetype X xml2 xmms xv zlib"
Jak se můžete přesvědčit, tato proměnná obsahuje poměrně velký počet klíčových slov. Pokud si chcete nastavení přizpůsobit, neměňte soubor /etc/make.profile/make.defaults protože při aktualizaci Portage budou tyto změny ztraceny!
Změny tohoto nastavení docílíte přidáním nebo odstraněním klíčových slov do USE proměnné. To uděláte globálně definicí proměnné USE v souboru /etc/make.conf. Do této proměnné přidáte další požadované USE příznaky, nebo odstraníte USE příznaky které nechcete. Odstranění docílíte přidáním znaku - (mínus) před klíčové slovo.
Například, abychom odstranili podporu pro KDE a QT ale abychom současně přidali podporu pro ldap, nadefinujeme v souboru /etc/make.conf proměnnou USE následujícím způsobem:
Někdy budete potřebovat jednorázově nastavit určité USE příznaky. Namísto dvojité editace /etc/make.conf (jednou abyste nastavení USE příznaků provedli a jednou abyste nastavení vrátili do původní podoby) stačí pouze definovat USE proměnnou jako proměnnou prostředí.
Jako příklad dočasně vypneme podporu javy z nastavení USE příznaků během instalace mozilly.
Příkaz emerge bude podrobněji probírán v odstavci Portage a software.
Některé balíky nejen že přijímají USE příznaky, ale USE příznaky taktéž poskytují. Až takový balík nainstalujete, budou USE příznaky které poskytuje přidány do nastavení USE. Pro zobrazení seznamu balíčků poskytujících USE příznak se podívejte do souboru /etc/make.profile/use.defaults:
Samozřejmě existuje jasná priorita ohledně nastavení USE příznaků. Asi nechcete použít USE="-java" a dočkat se překvapení že java je stejně deklarována někde jinde. Priorita v nastavení USE je (od nejnižší priority po nejvyšší):
Implicitní nastavení USE v souboru /etc/make.profile/make.defaults
Zděděné nastavení USE pokud je instalován balíček z /etc/make.profile/use.defaults
Uživatelské nastavení USE v souboru /etc/make.conf
Uživatelské nastavení USE v proměnné prostředí
Pokud se chcete podívat na konečné nastavení, tak jak se dostane k Portage, použijte příkaz emerge info. Ten vypíše všechny relevantní proměnné (včetně proměnné USE) s obsahem který použije Portage.
V následující kapitole, která se věnuje Portage a software, vám vysvětlíme jak spravovat nainstalovaný software a jak pracovat s příkazem emerge. Nicméně v tuto chvíli vám ukážeme alespoň jak pomocí tohoto příkazu zobrazit které USE příznaky balíček může použít.
Vraťme se k příkladu s Mozillou: které USE příznaky tento balíček používá? Abychom to zjistili stačí použít přepínače --pretend (což skutečně nic neudělá) a --verbose (takže příkaz bude generovat podrobnější výstup):
Obrázek 13.7. Zobrazení používaných USE příznaků
# 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
Příkaz emerge není jediný dostupný nástroj pro tento účel. Ve skutečnosti existuje nástroj nazývaný etcat, obsažený v balíčku gentoolkit, určený právě k zobrazování informací o balíčcích. Takže nejdříve nainstalujeme gentoolkit:
Nyní spusťte etcat s argumentem uses čímž zobrazíte USE příznaky pro určitý balík. Například pro balík gnumeric:
Obrázek 13.9. Použití příkazu etcat pro zobrazení používaných USE příznaků
# etcat 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)
Obsah
Abstrakt
Hlavním účelem Portage je údržba programů na vašem systému. V této části se kromě jiného naučíte získávat informace z balíčků, aktualizovat svou databázi balíčků a instalovat/odstraňovat/aktualizovat programy.
Hlavní nástroj z balíku Portage, který bude většina uživatelů používat nejčastěji je emerge. Používali jsme ho již během instalace Gentoo a v předchozí kapitole, ale jenom krátce jsme vysvětlili jak ho používat. V této kapitole se budeme tímto nástrojem zabývat pečlivě a naučíme vás jak používat emerge k uspokojení všech potřeb souvisejících s programovým vybavením.
Příkaz emerge je používán k instalaci, deinstalaci, dotazování a údržbě softwarových balíčků. Je to vlastně nadstavba nad programem ebuild; ti z vás kteří se chtějí stát Gentoo profíky se později naučí používat i tento příkaz. Pro tuto chvíli se zaměříme na příkaz emerge protože má schopnosti které ebuild postrádá (jako například řešení závislostí, prohledávání Portage Tree, atd.).
Protože emerge je pro uživatele Gentoo nejdůležitější nástroj, má vyčerpávající manuálovou stránku kterou si můžete přečíst po zadání příkazu man emerge. Příkazem emerge --help si můžete nechat zobrazit zabudovanou nápovědu.
Než budeme pokračovat v popisu příkazu emerge, podívejme se na Portage Tree. Přesuňte se do adresáře /usr/portage a zobrazte si seznam dostupných adresářů. Pro zobrazení seznamu adresářů použijeme příkaz ls --classify protože adresáře zobrazí s "/" na konci.
Obrázek 14.2. Zobrazení Portage Tree
# cd /usr/portage; ls --classify app-admin/ dev-ml/ gnome-libs/ net-print/ app-arch/ dev-perl/ gnome-office/ net-wireless/ app-benchmarks/ dev-php/ header.txt net-www/ app-cdr/ dev-python/ incoming/ net-zope/ app-crypt/ dev-ruby/ jython/ packages/ app-dicts/ dev-tcltk/ kde-apps/ profiles/ app-doc/ dev-tex/ kde-base/ releases/ app-editors/ dev-util/ kde-i18n/ scripts/ app-emacs/ distfiles/ kde-libs/ sec-policy/ app-emulation/ eclass/ licenses/ skel.ChangeLog app-games/ experimental/ media-fonts/ skel.ebuild app-gnustep/ files/ media-gfx/ skel.metadata.xml app-i18n/ fresco-base/ media-libs/ snapshots/ app-misc/ games-action/ media-plugins/ sys-apps/ app-office/ games-arcade/ media-radio/ sys-build/ app-pda/ games-board/ media-sound/ sys-cluster/ app-portage/ games-emulation/ media-tv/ sys-devel/ app-sci/ games-engines/ media-video/ sys-fs/ app-shells/ games-fps/ metadata/ sys-kernel/ app-text/ games-kids/ net-analyzer/ sys-kmods/ app-vim/ games-misc/ net-apache/ sys-libs/ app-xemacs/ games-mud/ net-dialup/ unix2tcp/ berlin-base/ games-puzzle/ net-dns/ x11-base/ dev-ada/ games-roguelike/ net-firewall/ x11-libs/ dev-cpp/ games-rpg/ net-fs/ x11-misc/ dev-db/ games-server/ net-ftp/ x11-plugins/ dev-dotnet/ games-simulation/ net-im/ x11-terms/ dev-embedded/ games-sports/ net-irc/ x11-themes/ dev-games/ games-strategy/ net-libs/ x11-wm/ dev-haskell/ games-util/ net-mail/ xfce-base/ dev-java/ glep/ net-misc/ xfce-extra/ dev-lang/ gnome-apps/ net-nds/ dev-libs/ gnome-base/ net-news/ dev-lisp/ gnome-extra/ net-p2p/
Jak vidíte, Portage Tree má rozličné podadresáře. Většina z nich jsou vlastně kategorie ve kterých jsou uloženy Gentoo balíčky, nazývané ebuildy (ebuilds). Podívejme se například na app-office:
Obrázek 14.3. Zobrazení kategorie
# cd app-office; ls --classify abiword/ gnotime/ kmymoney2/ ooodi/ plan/ timestamp.x dia/ gnucash/ koffice/ oooqs/ qhacc/ dia2code/ gnumeric/ lxbank/ openoffice/ sc/ facturalux/ ical/ lyx/ openoffice-bin/ scribus/ gaby/ kbudget/ mdbtools/ openoffice-ximian/ siag/ gnofin/ khacc/ mrproject/ phprojekt/ texmacs/
V kategorii najdete balíčky které do ní náleží, přičemž pro každý balíček je vyhrazen samostatný adresář. Podívejme se na balíček openoffice:
Obrázek 14.4. Zobrazení balíčku
# cd openoffice; ls --classify ChangeLog files/ openoffice-1.0.3-r1.ebuild openoffice-1.1.0-r2.ebuild Manifest metadata.xml openoffice-1.1.0-r1.ebuild openoffice-1.1.0.ebuild
Vzpomeňte si že jsme vám říkali že Gentoo balíčky se nazývají ebuild? Nuže, v ukázkovém adresáři jsou uloženy čtyři takové ebuildy. Jejich jména jsou téměř stejná: liší se pouze ve jménu verze. Obsah takového balíčku si klidně můžete zobrazit: jsou to pouze obyčejné skripty. Tím se v tuto chvíli nebudeme zabývat protože to pro vás není důležité pokud plánujete Gentoo jen používat.
Další soubory jsou ChangeLog (který obsahuje seznam všech změn provedených v ebuildech), Manifest (obsahující kontrolní součty a velikosti všech souborů v adresáři) a metadata.xml (obsahující podrobnější informace o balíčku, jako je například skupina zodpovědná za vývoj -- nazývaná herd -- a další podrobný popis).
V adresáři files najdete další soubory, potřebné programem Portage: digests (kontrolní součty a přístupová práva souborů potřebná jednotlivými verzemi balíčků), patche, vzorové konfigurační soubory, atd.
Obrázek 14.5. Zobrazení dalších souborů
# cd files; ls --classify 1.0.3/ digest-openoffice-1.0.3-r1 digest-openoffice-1.1.0-r1 1.1.0/ digest-openoffice-1.1.0 digest-openoffice-1.1.0-r2 # cd 1.1.0; ls --classify fixed-gcc.patch ooffice-wrapper-1.3 newstlportfix.patch openoffice-1.1.0-linux-2.6-fix.patch no-mozab.patch openoffice-1.1.0-sparc64-fix.patch nptl.patch
Pokud se přesunete zpět do kořenového adresáře Portage Tree (/usr/portage) zjistíte že existují také další adresáře, které nejsou kategoriemi. O těch se budeme bavit dále v této kapitole.
Pokud jste v Gentoo Linuxu noví, pravděpodobně nevíte jaký nástroj potřebujete na jakou úlohu. Ke zjednodušení hledání vám emerge poskytuje způsob prohledávání všech balíčků dostupných na vašem systému. Existují dva způsoby jak hledat balíčky: dle jména a dle jména a popisu.
Pro prohledávání Portage Tree dle jména, použijte příkaz emerge search. Například, abyste našli informace o mozille:
Obrázek 14.6. Zobrazení informací o mozille
# emerge search mozilla Searching... [ Results for search key : mozilla ] [ Applications found : 5 ] (Some output removed to improve readability) * net-www/mozilla Latest version available: 1.5-r1 Latest version installed: 1.4-r3 Size of downloaded files: 29,153 kB Homepage: http://www.mozilla.org Description: The Mozilla Web Browser * net-www/mozilla-firebird Latest version available: 0.7 Latest version installed: [ Not Installed ] Size of downloaded files: 37,850 kB Homepage: http://www.mozilla.org/projects/firebird/ Description: The Mozilla Firebird Web Browser (...)
Pokud chcete aby se vyhledávalo i v popisech, použijte přepínač --searchdesc:
Obrázek 14.7. Vyhledávání i v popisu
# emerge --searchdesc mozilla Searching... [ Results for search key : mozilla ] [ Applications found : 10 ] (Some output removed to improve readability) * dev-libs/nss-3.8 Latest version available: 3.8 Latest version installed: 3.8 Size of downloaded files: 2,782 kB Homepage: http://www.mozilla.org/projects/security/pki/nss/ Description: Mozilla's Netscape Security Services Library that implements PKI support
Jak vidíte, výstup příkazu emerge vás informuje o kategorii a jméně balíčku, dostupné verzi, aktuálně nainstalované verzi, velikosti stažených balíčků, domovské stránce a krátkém popisu.
Všimli jste si něčeho nového? Ano, stažené soubory (downloaded files). Až požádáte Portage o nainstalování tohoto balíčku, budou samozřejmě potřeba příslušné zdrojové kódy (nebo předkompilované balíčky). Proto zkontroluje obsah adresáře /usr/portage/distfiles (pro zdrojový kód) nebo /usr/portage/packages/All (pro předkompilované balíčky) aby zjistil zda jsou potřebné soubory k dispozici. Pokud nejsou, stáhne potřebné soubory a umístí je do příslušných adresářů.
Při procházení Portage Tree jste viděli že u každého balíčku je veden ChangeLog. Položky ChangeLogu náležejícím verzím od nainstalované až po nejnovější si také můžete zobrazit pomocí emerge. Použijte přepínače --pretend a --changelog (zkráceně -pl). Jako příklad se podíváme na ChangeLog pro gnumeric:
Obrázek 14.8. Zobrazení položek ChangeLogu pro gnumeric
# emerge --pretend --changelog gnumeric (Some output removed to improve readability) *gnumeric-1.2.2 27 Nov 2003; foser <foser@gentoo.org> gnumeric-1.2.2.ebuild : New release, requested in #34492 updated deps 12 Nov 2003; Jason Wever <weeve@gentoo.org> gnumeric-1.2.0.ebuild: Marked stable on sparc, fixes bug #32405. 14 Oct 2003; Jason Wever <weeve@gentoo.org> gnumeric-1.0.8.ebuild: Added ~sparc keyword. Fixes bug #31150.
Prohledávání Portage je pěkné, ale pokud pravidelně neaktualizujete Portage Tree, zaseknete se na balíčcích a verzích dostupných na vašem systému. To znamená že váš systém brzy zastará a že vám budou chybět bugfixy a opravy možných bezpečnostních problémů.
Existuje několik způsobů jak aktualizovat Portage Tree. Nejpopulárnější metodou je použití jednoho z našich rsync mirrorů. Další spočívá v použití obrazu (snapshot) Portage (v případě že vám například firewall nebo síťová omezení brání v použití rsync serveru).
Je rozumné zvolit si rychlý mirror blízko vás. To můžete udělat ručně (nastavením proměnné SYNC v souboru /etc/make.conf) nebo použít nástroj mirrorselect který to za vás provede automaticky. Protože proměnné SYNC bude probírána později, podíváme se nyní na příkaz mirrorselect. Nejdříve pomocí emerge nainstalujeme mirrorselect:
Nyní spusťte mirrorselect k automatické volbě mirrorů blízko vás (dojde také k nastavení Portage tak aby používal mirror pro zdrojové kódy):
K aktualizace Portage za použití rsync jednoduše stačí spustit emerge rsync:
Pokud toto selže (ať již kvůli problémům se sítí nebo například firewallu), můžete zkusit použít příkaz emerge-webrsync který stahuje obrazy Portage Tree pomocí nástroje wget. To také znamená že můžete použít proxy servery pokud chcete. Jak nakonfigurovat systém aby používal proxy servery jsme rozebírali během instalace Gentoo.
Gentoo poskytuje ebuildy, Gentoo balíčky chcete-li. Ale když chcete instalovat takový ebuild, můžete si zvolit mezi kompilací balíčku a využitím předkompilované verze. Ale jaké jsou výhody/nevýhody obou přístupů a mohou být používány současně?
Jak asi dokážete odhadnout, kompilace balíčků zabere hodně času (zejména pokud máte malé zdrojů nebo pokud chcete kompilovat velké balíčky jako jsou KDE, OpenOffice.org, atd.). Pokud balíček kompilujete, můžete použít nastavení USE k přizpůsobení vašemu systému. Samozřejmě při kompilaci také můžete nadefinovat silnou optimalizaci (v proměnných CFLAGS a CXXFLAGS).
Použití předkompilovaných balíčků zmenšuje časové nároky (protože kompilace již není potřeba), ale ztratíte výhody nastavení USE příznaků a proměnných CFLAGS a CXXFLAGS.
Jak již bylo řečeno, předkompilované balíčky jsou ukládány v adresáři /usr/portage/packages/All, zatímco zdrojové kódy jsou ukládány v adresáři /usr/portage/distfiles. Pokud jste dokončili instalaci balíčku, můžete odstranit zdrojové kódy nebo balíček z příslušného adresáře. Avšak možná si budete chtít zdrojové kódy nejnovější verze ponechat, jenom pro případ že byste chtěli balíček přeinstalovat (takže ho nebudete muset znovu stahovat).
OK, dost řečí, podívejme se na to. Pro instalaci programů budete používat příkaz emerge. Pokud nechcete používat předkompilované balíčky, můžete používat emerge <jméno-balíčku> nebo emerge <kategotrie>/<jméno-balíčku>. Jako příklad nainstalujeme program gnumeric:
Tento příkaz stáhne zdrojový kód, rozbalí ho, zkompiluje a nainstaluje balíček na váš systém. To samé provede také pro všechny závislosti. Pokud chcete zjistit jaké závislosti budou s balíčkem nainstalovány, použijte přepínač --pretend (zkráceně -p):
Pokud chcete stáhnout zdrojové kódy balíčku a všech závislostí, ale nechcete balíček kompilovat, použijte přepínač --fetchonly (zkráceně -f):
Pokud chcete vědět odkud emerge stahuje zdrojové kódy, zkombinujte přepínače --fetchonly a --pretend:
Můžete také zvolit instalaci konkrétní verze balíčku. Například, pokud chcete instalovat program gnumeric verze nejvýše 1.2 -- ať už z jakéhokoliv důvodu :) můžete zadat:
Další možnosti jsou samozřejmě ">" (novější verze) a "=" (přesná verze).
Když chcete nainstalovat předkompilovaný balíček, měli byste použít přepínač --usepkg (zkráceně -k). Tento příkaz použije binární balíček z adresáře /usr/portage/packages/All pokud se balíček a verze aplikace kterou chcete nainstalovat shodují.
Pokud chcete nainstalovat binární balíček i pokud si verze neodpovídají, použijte přepínač --usepkgonly (zkráceně -K).
Pokud na svém systému předkompilovaný balíček ještě nemáte, můžete nechat emerge ať ho stáhne z mirroru, definovaného v proměnné PORTAGE_BINHOST deklarované v /etc/make.conf.
Ke stažení binárního balíčku který na vašem systému ještě vůbec neexistuje použijte přepínač --getbinpkg (zkráceně -g):
Tento příkaz stáhne balíček a související informace na váš systém, společně se závislostmi. Pokud chcete zjistit které závislosti budou nainstalovány, použijte přepínač --pretend (zkráceně -p):
Obrázek 14.21. Předstírané stažení a instalace předkompilovaného balíčku gnumeric
# emerge --getbinpkg --pretend gnumeric
Můžete si také zvolit stáhnout předkompilovaný balíček (a souvisejících informací) bez kontroly informací oproti vašemu lokálnímu systému a pokud zatím tento předkompilovaný balíček na vašem systému nepoužíváte, použijte přepínač --getbinpkgonly (zkráceně -G):
Obrázek 14.22. Instalace předkompilovaného balíčku gnumeric bez použití lokální informace
# emerge --getbinpkgonly gnumeric
Můžete si také zvolit specifickou verzi balíčku. Například, pokud chcete nainstalovat program gnumeric starší než 1.2 -- ať už z jakéhokoliv důvodu :) byste zadali:
Další možnosti jsou samozřejmě ">" (novější verze) a "=" (přesná verze).
Portage má rozsáhlou podporu pro práci se závislostmi. Ačkoliv se tím obvykle vůbec nemusíte zabývat (protože závislosti jsou automaticky zpracovávány systémem Portage) někteří uživatelé by mohli chtít vědět jak emerge pracuje se závislostmi.
Například pokud chcete aby Portage předstíral že žádná ze závislostí balíčku není nainstalována, můžete použít přepínač --emptytree (zkráceně -e). To je užitečné s přepínačem --pretend ke zobrazení kompletního stromu závislostí libovolného balíčku. Bez přepínače --pretend emerge překompiluje veškeré vypsané balíčky. Nicméně glibc nebude z bezpečnostních důvodů mezi závislostmi uvedena.
Dalším přepínačem je --nodeps, který požádá Portage aby se pokusil nainstalovat uvedený balíček bez kontroly závislostí. Je evidentní že toto může vést k chybám.
Opakem přepínače --nodeps je přepínač --onlydeps, který Portage říká aby nainstaloval všechny závislosti balíčku, ale nikoliv balíček samotný:
Portage zná dvě speciální značky pro označení množiny balíčků: system a world. První z nich jste viděli během instalace, pokud jste nepoužili etapový balíček stage3. Pro připomenutí: system je kolekce hlavních balíčků, potřebných pro funkci systému Gentoo.
Značka world označuje veškerý software nainstalovaný na vašem systému a informace o systému. Jinými slovy, pokaždé když nainstalujete balíček pomocí příkazu emerge <jméno-balíčku>, je <jméno-balíčku> zaregistrováno ve "world" souboru (/var/cache/edb/world). Závislosti nejsou částí "world" souboru, ale k tomu se dostaneme později.
Identický přístup lze použít pro "world" balíčky:
A znovu, pokud chcete vidět které balíčky bude emerge aktualizovat, použijte přepínač --pretend společně s přepínačem --update:
Obrázek 14.29. Předstírání aktualizace celého systému
# emerge --pretend --update world (Some output removed to improve readability) [ebuild U ] net-misc/wget-1.9-r1 [1.9] [ebuild UD] media-video/dvdauthor-0.5.0 [0.5.3] [ebuild U ] net-analyzer/ethereal-0.9.16 [0.9.14]
Hned vedle slova "ebuild" si všimnete písmene (nebo kombinace písmen) které vám podávají další informace o balíčku:
B (bloků) Balíček nalevo blokuje emerge balíčku napravo.
N (nový) Balíček je pro váš systém nový a bude nainstalován poprvé.
R (reemerge) Balíček není nový, ale musí být nainstalován znovu.
F (stáhnout) Balíček vyžaduje ruční stažení zdrojového kódu (například vzhledem k licenci).
U (aktualizovat) Balíček na vašem systému již existuje a bude aktualizován.
UD (downgrade) Balíček na vašem systému již existuje a bude nainstalována starší verze.
U (slot warning) balíček nainstalovaný na vašem systému je označen jako balíček který nemůže koexistovat s jinou verzí, ale vaše aktualizace ano. Bude nainstalována aktualizace a stará verze bude odstraněna.
V určitých případech může aktualizace znamenat downgrade (tj. přechod na starší verzi namísto přechodu na novější). Pokud nechcete aby se to stalo, použijte přepínač --upgradeonly (zkráceně -U):
Samozřejmě, mluvíme zde o "system" a "world", ale stejné akce můžete provést pro jednotlivé softwarové balíčky.
Pokud chcete ze svého systému odstranit software, můžete použít přepínač unemerge (zkráceně -C, tj. velké C):
Pokud chcete odstranění pouze simulovat (ale neprovést jej), můžete opět použít přepínač --pretend:
Portage neověřuje zda na balíčku závisí některý jiný balíček. Nebude vás také varovat pokud je balíček součástí systému, tj. pokud se jedná o klíčovou aplikaci potřebnou pro korektní fungování vašeho systému!
Jakmile unemerge začne pracovat, uvidíte dlouhý seznam jmen souborů náležících k vašemu zvolenému balíčku. Nalevo od některých z těchto jmen bude zobrazen přepínač (flag). Přepínače !mtime, !empty a cfgpro určují důvody proč tyto soubory nebyly odstraněny společně se zbytkem balíčku. Soubory bez těchto přepínačů byly ze systému odstraněny úspěšně. Uvedené tři přepínače označují následující důvody:
!mtime : Zobrazený seznam byl od instalace změněn, pravděpodobně vámi nebo některým nástrojem.
!empty : Zobrazený adresář není prázdný.
cfgpro : Tento soubor je umístěn v chráněném adresáři a nebylo s ním manipulováno z důvodu bezpečnosti.
Gentoo umisťuje svoje balíčky do dvou možných stavů, nazývaných ARCH a ~ARCH. Neberte to doslova: stavy závisí na architektuře kterou používáte. Jinými slovy pro systémy s architekturou x86 existují stavy x86 a ~x86, pro systémy s architekturou ppc existují stavy ppc a ~ppc, atd.
Stav ~ARCH znamená že balíček sice pracuje na této platformě, ale že nebyl otestován dostatečně důkladně k tomu aby mohl být zařazen do ARCH. Balíčky z ~ARCH většinou přechází do ARCH po dostatečně dlouhé době bez chyby.
Váš systém bude implicitně používat balíčky z ARCH. Pokud chcete být na špici vývoje, nevadí vám že čas od času některý balíček spadne, víte jak se vypořádat s poškozeným systémem a pokud chcete posílat bugreporty na bugs.gentoo.org, potom můžete zvolit balíčky z ~ARCH. Pro přechod k systému používajícímu ~ARCH, upravte proměnnou ACCEPT_KEYWORDS v souboru /etc/make.conf tak aby osahovala ~ARCH (opět: pro x86 systémy: ~x86 atd.).
Všimněte si že zdaleka není triviální (pokud ne dokonce nemožné) vrátit se z ARCH k ~ARCH.
Pokud nyní chcete aktualizovat svůj systém, všimněte si že bude aktualizována spousta balíčků!
Pokud chcete nainstalovat balíček, možná narazíte na následující zprávu:
Obrázek 14.33. Zpráva o skrytých balíčcích
Calculating dependencies !!! all ebuilds that could satisfy <your package> have been masked.
Balíček může být skrytý ze dvou důvodů:
Balíček je ~ARCH zatímco vy používýte ARCH.
Balíček je výslovně napevno skrytý.
Pokud je balíček skrytý z prvního důvodu, a pokud ho skutečně chcete nainstalovat (s vědomím že nejspíš existuje nějaký důvod proč není dostupný v ARCH), můžete dočasně povolit ~ARCH balíčky:
Balíček je výslovně skrytý, pokud je jmenován v souboru /usr/portage/profiles/package.mask. Pokud se do tohoto souboru podíváte, najdete v něm také důvody proč je jako skrytý označen (obvykle se jedná o komentář). Pokud chcete i přes to balíček nainstalovat (navzdory všem varováním o "poškození systému", "poškození dalších balíčků", nebo "velmi potřebném otestování"), vytvořte soubor /etc/portage/package.unmask a uveďte v něm onen balíček (použijte stejný formát jako je použit v souboru /usr/portage/profiles/package.mask).
Neměňte soubor /usr/portage/profiles/package.mask protože při další aktualizaci Portage Tree o všechny změny přijdete. Pokud chcete napevno skrýt balíček, vytvořte soubor /usr/portage/package.mask a uveďte v něm onen balíček (opět ve stejném formátu jako v souboru /usr/portage/profiles/package.mask).
Někdy se dostanete do situace kdy se na obrazovce objeví následující chybová hláška:
Obrázek 14.35. Blokování balíčku
[blocks B ] gnome-base/bonobo-activation (from pkg gnome-base/libbonobo-2.4.0)
V předchozím příkladě balíček bonobo-activation blokuje instalaci balíčku libbonobo. Pro vyřešení tohoto problému stačí odstranit balíček bonobo-activation a pokračovat dále:
Obsah
Abstrakt
Gentoo Portage bere v úvahu několik vlastností zlepšujících související činnosti, mezi jinými například datum sestavení balíčku (build time). Tato kapitola vysvětluje existující vlastnosti.
Program distcc slouží k distribuci kompilace mezi několik, ne nutně identických, počítačů na síti. Klient distcc zasílá všechny potřebné informace dostupným DistCC serverům (na kterých běží distccd) takže mohou pro klienta kompilovat kousky zdrojového kódu. Důsledkem síťové kompilace je její rychlejší dokončení.
Více informací souvisejících s distcc (a informací o tom jak tento nástroj zprovoznit s Gentoo Linuxem) můžete nalézt v Gentoo Distcc Dokumentaci.
Nástroj DistCC je dodáván s grafickým nástrojem pro monitoring úloh které váš počítač odesílá ke zpracování. Pokud používáte Gnome potom do USE příznaků doplňte klíčové slovo gnome. Nicméně pokud Gnome nepoužíváte a přesto byste rádi tento monitorovací program používali, potom byste měli mezi USE příznaky měli doplnit gtk.
Instalace distcc je, stejně jako v případě všech ostatních nástrojů dostupných přes Gentoo Portage, extrémně jednoduchá:
Od této chvíle budeme v příkazech uvedených v Gentoo Handbook vynechávat přepínač --usepkg, protože už víte jak instalovat binární balíčky.
Výborně, takže pokud instalace byla jednoduchá, měl by být jednoduchý i zbytek :) Čili rychle aktivujme v Portage podporu pro distcc.
Nejdříve ze všeho otevřte soubor /etc/make.conf a upravte proměnnou FEATURES tak aby obsahovala klíčové slovo distcc. Dále upravte proměnnou MAKEOPTS tak aby obsahovala -jX kde X je počet CPU na kterých distccd (včetně aktuálního systému) plus jedna:
Obrázek 15.2. Možné nastavení proměnné MAKEOPTS v /etc/make.conf
# Suppose you have 2 single-CPU distccd hosts excluding this host: MAKEOPTS="-j4"
Nyní, stále ještě v souboru /etc/make.conf, odkomentujte řádek s proměnnou PORTAGE_TMPDIR a doplňte následující řádek na konec souboru:
Obrázek 15.3. Na konec souboru /etc/make.conf doplňte následující proměnnou specifickou pro distcc
# Don't forget to uncomment the PORTAGE_TMPDIR variable DISTCC_DIR=${PORTAGE_TMPDIR}/portage/.distcc
Nyní spusťte distcc-config a zadejte seznam dostupných DistCC serverů. Například předpokládejme že dostupné DistCC servery jsou 192.168.1.102 (aktuální systém), 192.168.1.103 a 192.168.1.104 (dva vzdálené systémy):
Obrázek 15.4. Konfigurace distcc tak aby používal tři dostupné DistCC servery
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"
Samozřejmě, nezapomeňte spustit také démona distccd:
Gratulujeme, váš systém bude nyní používat distribuovanou kompilaci! Pro podrobnější informace o DistCC a Gentoo se podívejte do naší Gentoo Distcc Dokumentace.
Nástroj ccache je vlastně rychlá cache pro překladač. Při překladu programu budou mezivýsledky cachovány, takže při další rekompilaci stejného programu bude potřeba daleko kratší čas. V obvyklém případě může dojít k 5 až 10 násobném zkrácení doby kompilace.
Pokud vás zajímají pro a proti nástroje ccache, navštivte domácí stránku ccache.
Instalace ccache s Gentoo je lehounké. Stačí použít emerge a je to :)
Nejdříve ze všeho otevřete soubor /etc/make.conf a změňte proměnnou FEATURES tak aby obsahovala klíčové slovo ccache:
Dále upravte (nebo vytvořte) proměnnou CCACHE_SIZE (také v /etc/make.conf) tak aby obsahovala velikost prostoru na disku který chcete vyhradit pro ccache:
Od této chvíle bude Portage používat cache pro zrychlení kompilace kde to je jenom možné. Pokud si nejste jisti zda ccache pracuje, můžete spustit příkaz ccache -s kterým zobrazíte statistiku ccache:
Už jsme probírali jak pracovat s předkompilovanými balíčky, ale jak vytvářet svoje vlastní binární balíčky?
Pokud je balíček již nainstalován, můžete použít příkaz quickpkg který vytvoří tar archív nainstalovaných souborů. To je velice zajímavé pro účely zálohování!
Pokud balíček ještě nainstalován není, můžete ho nainstalovat pomocí emerge a požádat o současné vytvoření binárního balíčku. K tomu slouží přepínač --buildpkg (zkráceně -b):
Obrázek 15.11. Instalace programu gnumeric a současné vytvoření binárního balíčku
# emerge --buildpkg gnumeric
Pokud chcete aby Portage toto dělal implicitně, měli byste klíčové slovo buildpkg doplnit do proměnné FEATURES deklarované v souboru /etc/make.conf.
Pokud nechcete program instalovat, ale pouze vytvořit binární balíček, měli byste použít přepínač --buildpkgonly (zkráceně -B):
Během kompilace a instalace balíčků používá Portage k ochraně vašeho systému sandbox. To znamená že dokud balíček není nainstalován na vašem systému, nemůže přistupovat k žádným souborům mimo sandbox. To zaručuje že Portage pozná které soubory jsou vytvářeny a modifikovány balíčkem.
Po dokončení kompilace balíčku Portage "předinstaluje" balíček do sandboxu, zjistí které soubory jsou vytvářeny a na jakém místě. Poté tyto soubory přemístí na váš systém.
Portage podporuje kompilaci balíčků pod běžným uživatelským účtem (přesněji jako uživatel "portage" ze skupiny "portage"). To zvyšuje bezpečnost během procesu kompilace. Můžete si zvolit uživatelská práva s použitím sandboxu nebo bez něj. Samozřejmě, je bez řečí že uživatelská práva společně s použitím sandboxu jsou nejdoporučovanější metodou :)
Portage implicitně používá sandbox. Pokud chcete i uživatelská práva, měli byste do proměnné FEATURES doplnit potřebné klíčové slovo userpriv. Všimněte si že aktivace uživatelských práv zruší podporu sandboxu pokud současně nezapnete i jeho podporu pomocí klíčového slova usersandbox:
Neodstraňujte klíčové slovo sandbox z proměnné FEATURES!
Portage může být požádán aby silně reagoval na potenciálně nebezpečné podmínky (jako jsou například chybějící nebo nesprávný Manifest soubory). Pro aktivaci těchto striktních kontrol stačí doplnit klíčové slovo strict do proměnné FEATURES:
Systému Portage může být oznámeno aby automaticky zpracovával nebezpečná nastavení práv souborů, která by mohla představovat bezpečnostní riziko. Toho dosahuje odstraněním "others" a "groups" práva ke čtení na souborech se setuid bitem a "other" práva ke čtení na setgid souborech během "předinstalace". K zapnutí Smart File System práv doplňte klíčové slovo sfperms do proměnné FEATURES:
Existuje ještě několik dalších klíčových slov která lze použít v proměnné FEATURES. Většina z nich je cílena na vývojáře a není tak zajímavá pro běžného uživatele. Pokud se chcete naučit více o těchto vlastnostech (nebo obecně o Portage), nezapomeňte si přečíst manuálovou stránku kterou poskytujeme k make.conf.
Obsah
Abstrakt
Portage můžete přizpůsobit vlastním potřebám/prostředí. Naučíte se jak chránit soubory, vytvářet zrcadlové obrazy (mirrors), měnit umístění adresářů a další.
Portage zná pojem "chráněné soubory". To znamená že při aktualizaci software nebudou některé soubory automaticky přepsány, ale budete informováni o tom že existuje novější verze. Tato vlastnost je samozřejmě velice užitečná pro konfigurační soubory (soubory umisťované do adresáře /etc).
Namísto přepsání takových souborů bude vytvořen nový soubor s názvem ._cfg0000_<jméno> kde <jméno> je jméno původního souboru. Potom je na uživateli aby do existujícího souboru zanesl potřebné změny, přičemž ke zjednodušení tohoto úkolu je možné použít nástroj etc-update o kterém budeme mluvit později.
Portage neumí chránit jednotlivé soubory, namísto toho chrání celé adresáře. Proměnná CONFIG_PROTECT obsahuje seznam všech chráněných adresářů, přičemž chráněny jsou i všechny jejich podadresáře. Proměnná CONFIG_PROTECT je definována v souboru /etc/make.globals, ale pokud ji chcete změnit předefinujte ji v souboru /etc/make.conf (aby byla udržena konzistence je veškerá konfigurace Portage umístěna do souboru /etc/make.conf).
Obrázek 16.1. Příklad nastavení proměnné CONFIG_PROTECT
CONFIG_PROTECT="/etc /usr/share/config /usr/kde/3.1/share/config"
Pokud chcete konkrétní adresář označit jako chráněný, ale nechcete jako chráněné označit také všechny jeho podadresáře, můžete je "odchránit" tak že je uvedete v proměnné CONFIG_PROTECT_MASK která je také definována v souboru /etc/make.globals a měněna by měla být v /etc/make.conf.
Další informace o nastavení ochrany souborů lze najít v online nápovědě k příkazu emerge:
Nástroj etc-update pomáhá při slučování souborů ._cfg0000_<jméno>. Poskytuje interaktivní nastavení sloučení a triviální změny umí zpracovat automaticky.
Použití etc-update je přímočaré:
Po sloučení triviálních změn vám bude předložen seznam chráněných souborů které je potřeba upravit. V dolní části jsou vám nabídnuty možné volby:
Obrázek 16.5. Volby 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'):
Pokud zadáte -1, etc-update skončí bez provedení jakýchkoliv změn. Pokud zadáte -3 nebo -5, všechny vypsané konfigurační soubory budou přepsány novější verzí. Proto je důležité nejdříve vybrat konfigurační soubory které by automaticky upravovány být neměly. To je jednoduché, protože stačí zadat číslo vypsané nalevo od tohoto konfiguračního souboru.
Jako příklad jsme si vybrali konfigurační soubor /etc/pear.conf:
Obrázek 16.6. Aktualizace konkrétního konfiguračního souboru
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
Můžete se podívat na rozdíly mezi těmi dvěma soubory. Pokud si myslíte že novější soubor může být bez problémů použit, zadejte 1. Pokud si myslíte že novější soubor není vůbec potřeba, nebo neobsahuje žádné nové nebo potřebné informace, zadejte 2. Pokud chcete interaktivně aktualizovat aktuální konfigurační soubor, zadejte 3.
Na tomto místě se nemusíme zabývat interaktivní úpravou. Abychom měli čisté svědomí tak uvedeme možné příkazy které můžete při interaktivním slučování dvou souborů používat. Objeví se dva řádky (původní a nově navrhovaný) a příkazový řádek na který můžete zadat jednu z následujících voleb:
Obrázek 16.7. Příkazy použitelné při interaktivním slučování
ed: Edit then use both versions, each decorated with a header. eb: Edit then use both versions. el: Edit then use the left version. er: Edit then use the right version. e: Edit a new version. l: Use the left version. r: Use the right version. s: Silently include common lines. v: Verbosely include common lines. q: Quit.
Až skončíte s úpravou důležitých konfiguračních souborů, budete moci automaticky upravit všechny ostatní konfigurační soubory. Až nebude moci najít žádné aktualizovatelné konfigurační soubory tak se program etc-update sám ukončí.
Protože se Gentoo stává stále populárnější distribucí, doporučujeme vám použití mirrorů. Portage používá tři proměnné pro jejich nastavení: jedna pro rsync mirrory (oproti kterým se aktualizuje Portage Tree), jedna pro distfiles (oproti kterým se aktualizuje zdrojový kódů a jedna pro předkompilované balíčky.
Všechny mirrory pro distfiles jsou vypsány v našem seznamu Gentoo mirrorů. Můžete také použít nástroj mirrorselect který zjednoduší nastavení mirrorů pro váš systém. Ale nejdříve se podívejme na jednotlivé proměnné ...
Proměnná SYNC obsahuje seznam rsync-mirrorů které chcete používat. Například pro použití rsync://rsync.namerica.gentoo.org/gentoo-portage jako primárního serveru a rsync://rsync.samerica.gentoo.org/gentoo-portage jako sekundárního serveru bychom do /etc/make.conf přidali:
Obrázek 16.8. Definice SYNC v /etc/make.conf
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage rsync://rsync.samerica.gentoo.org/gentoo-portage"
Proměnná GENTOO_MIRRORS obsahuje seznam mirrorů distfiles které chcete používat. Například pro použití ftp://ibiblio.org/pub/Linux/distributions/gentoo jako primárního serveru a http://www.gtlib.cc.gatech.edu/pub/gentoo jako sekundárního serveru bychom do /etc/make.conf přidali:
Obrázek 16.9. Definice GENTOO_MIRRORS v /etc/make.conf
GENTOO_MIRRORS="ftp://ibiblio.org/pub/Linux/distributions/gentoo http://www.gtlib.cc.gatech.edu/pub/gentoo"
Proměnná PORTAGE_BINHOST obsahuje seznam mirrorů s předkompilovanými balíčky, které chcete používat. Například pokud chcete použít server ftp://login:pass@grp.mirror.site/pub/grp/i686/athlon-xp, přidali byste do /etc/make.conf:
Pokud chcete použít nástroj mirrorselect, nejdříve ho nainstalujte (pokud jste tak již neučinili).
Nyní můžete mirrorselectu říci aby automaticky zvolil nejlepší mirrorserver, tj. mirrorserver umístěný co nejblíže, nebo zvolit mirrorserver ručně ze seznamu. Další informace o tom jak používat mirrorselect stačí pouze spustit mirrorselect z příkazové řádky - nabídne vám krátký přehled jak ho používat.
Program využívaný Portage ke stahování archivů lze specifikovat nastavením proměnných FETCHCOMMAND a RESUMECOMMAND. Několik příkladů je uvedeno v /etc/make.conf a /etc/make.globals. Portage implicitně používá wget:
Obrázek 16.13. Výchozí nastavení proměnných FETCHCOMMAND a RESUMECOMMAND
FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}"
Proměnná ${DISTDIR} je nahrazena za adresář do kterého jsou ukládány stažené soubory (/usr/portage/distfiles), zatímco proměnná ${URI} je nahrazena za soubor který Portage potřebuje stáhnout.
Protože Portage implicitně používá wget, můžete proxy servery nakonfigurovat jednoduchým nadefinováním proměnných http_proxy a ftp_proxy (všimněte si malých písmen). Ačkoliv tyto proměnné můžete nastavit i v souboru /etc/make.conf, doporučujeme vám použít klasický postup protože http_proxy a ftp_proxy jsou používány i dalšími nástroji (soubor /etc/make.conf je používán pouze pro Portage). Přečtěte si prosím kapitolu o proměnných prostředí ve které se dočtete jak nastavovat systémové proměnné prostředí.
Program rsync je používán nástrojem emerge k aktualizaci Portage Tree. Chování programu rsync ve vztahu k Portage lze ovlivňovat třemi proměnnými, a to RSYNC_EXCLUDEFROM, RSYNC_RETRIES a RSYNC_TIMEOUT.
Jedním ze způsobů jak chránit ebuildy před aktualizací nebo odstraněním po spuštění emerge sync je použití proměnné RSYNC_EXCLUDEFROM. Měla by být nastavena na soubor který je programem rsync používán k vyjmutí některých souborů a implicitně je umístěn /etc/portage/rsync_excludes. Použití této metody však není doporučováno, protože v případě neopatrnosti může dojít k porušení závislostí. Později si povíme o proměnné PORTDIR_OVERLAY, což je doporučovaný způsob jak dosáhnout stejného efektu. Další informace najdete v manuálové stránce programu rsync.
Pokud rsync selže, pokusí se několikrát o stejný úkon než se přepne na další dostupný rsync server. Počet těchto opětovných pokusů je definován v proměnné RSYNC_RETRIES a implicitní hodnota je 3.
Pokud používáte (velice) pomalý rsync server, může dojít k vypršení časového limitu. Počet vteřin po které má program rsync čekat než přejde k dalšímu serveru je definován v proměnné RSYNC_TIMEOUT a přičemž výchozí hodnota je 180:
Každý aspekt chování Portage je konfigurovatelný, včetně toho které adresáře a soubory jsou pro jednotlivé úkoly používány. Změny výchozích hodnot (definovaných v /etc/make.globals) dosáhnete nadefinováním příslušných proměnných - kde jinde než :) - v souboru /etc/make.conf.
Pokud změníte proměnnou tak aby ukazovala na nové místo, nikdy neukončujte cestu znakem "/"!
Umístění Portage Tree je definováno proměnnou PORTDIR, jejíž výchozí hodnota je /use/portage:
Pokud si chcete vedle "oficiálního" udržovat ještě lokální Portage Tree, potřebujete nastavit proměnnou PORTDIR_OVERLAY. Adresáře vypsané v této hodnotě nebudou ovlivňovány příkazem emerge sync: ebuildy v těchto adresářích nebudou aktualizovány nebo odstraňovány, ale přitom jsou součástí Portage Tree.
Umístění staženého zdrojového kódu (takzvaných distfiles) je definováno v proměnné DISTDIR. Výchozí hodnota je ${PORTDIR}/distfiles:
Umístění předkompilovaných balíčků určuje proměnná PKGDIR. Implicitní hodnota je ${PORTDIR}/packages:
Umístění RPM balíčků (ano, některé balíčky jsou dostupné jako RPM) je definováno proměnnou RPMDIR. Výchozí umístění je ${PORTDIR}/rpm:
Ke kompilaci (sestavování) ebuildů používá Portage dočasný adresář. Jeho umístění je definováno v proměnné PORTAGE_TMPDIR, jejíž výchozí hodnota je /var/tmp:
Výchozí nastavení je takové že v adresáři PORTAGE_TMPDIR dojde k vytvoření adresáře portage. To je definováno proměnnou BUILD_PREFIX:
Pokud máte v úmyslu změnit umístění, ujistěte se že tento dočasný adresář je na diskovém oddílu s dostatkem volného prostoru, protože při kompilaci velkých softwarových balíků může být tento adresář i větší než 2 GB!
Portage umožňuje kompilaci s jinou nice-value (jakoby prioritou). Pokud chcete aby Portage kompiloval balíčky s vyšší nice-value (což má za následek hbitější odezvu systému během procesu kompilace, ale současně zvyšuje dobu kompilace) můžete nadefinovat proměnnou PORTAGE_NICENESS s kladným celým číslem:
V některých situacích potřebujete mít v systému k dispozici různé verze jednoho balíčku (včetně knihoven). Portage toto podporuje definováním proměnné SLOT v ebuildech. Jako uživatel nepotřebujete vědět jak SLOTování funguje, ale je důležité vědět že tato vlastnost funguje.
Pokud instalujete novější verzi balíčku, Portage zkontroluje zda je v něm nadefinována proměnná SLOT. Pokud ano, a pokud je její hodnota pro oba balíčky (nový a starý) různá, Portage se starým balíčkem manipulovat nebude.
Avšak pokud jsou hodnoty proměnné SLOT různé (a to je obvyklý případ), starší balíček bude odstraněn. Aby mohl uživatel zabránit tomuto odstranění, bude Portage odpočítávat určitý počet vteřin. Tento počet je definován v proměnné CLEAN_DELAY a výchozí hodnota je 5 vteřin:
Pokud nechcete aby Portage automaticky odstraňoval starší balíčky (což je nazýváno "cleaning" tj. "čištění"), můžete nastavit proměnnou AUTOCLEAN na no:
Už jsme probrali poměrně dost proměnných, ale ještě nejsme na konci. Ti z vás kteří instalovali Gentoo si pamatují proměnné CHOST, CFLAGS a CXXFLAGS, používané překladačem ke kompilaci a optimalizaci balíčků.
Další informace o těchto proměnných naleznete v manuálových stránkách k programu gcc, nebo na webu v GCC Online Manuals.
Obrázek 16.28. Zobrazení informací o CHOST, CFLAGS and CXXFLAGS
# info gcc (Select "Invoking gcc") (Select "Optimize options")
Pokud je proměnná DEBUGBUILD definována, Portage nebude binární soubory a knihovny čistit (strip) aby zjednodušil jejich ladění. To však zpomaluje váš systém a zvětšuje soubory.
Obrázek 16.29. Výchozí nastavení proměnné DEBUGBUILD
# Do not set this to "false"; instead remove the line. Portage does not # check the value, it just checks if the variable is defined. DEBUGBUILD="true"
Proměnná MAKEOPTS je používána příkazem make, což je nástroj zjednodušující kompilaci balíčku. Obvykle je definován tak aby provedl několik kompilací současně (zejména pokud máte víceprocesorový systém nebo pokud používáte nástroj distcc popsaný výše).
Aby make prováděl vždy tři kompilace současně, nastavte proměnnou MAKEOPTS na hodnotu -j3:
Proměnná ROOT by neměla být nastavena v souboru /etc/make.conf, ale raději jako proměnná prostředí. Portage kontroluje tuto proměnnou aby zjistil kam má nainstalovat balíček. Samozřejmě, implicitní hodnota je /. V příkladu je ukázáno jak nainstalovat program gnumeric do /mnt/gentoo namísto do vašeho běžícího systému:
Pokud potřebujete seznam s krátkým popisem všech uvedených proměnných, podívejte se do manuálové stránky k souboru make.conf:
Soubor /etc/make.conf obsahuje spoustu komentářů, včetně příkladů které by pro vás mohly být zajímavé. Avšak většina uživatelů soubor /etc/make.conf neupravuje a proto jim tyto informace unikají. Nejnovější /etc/make.conf můžete najít v našem Online ViewCVS Repository.
Abstrakt
Gentoo používá zvláštní formát inicializačních souborů který, kromě jiných vlastností, umožňuje závislostmi řízená rozhodnutí (dependency-driven) a virtuální inicializační skripty. V této části jsou všechny tyto vlastnosti vysvětleny a to včetně toho jak tyto skripty používat.
Když startujete systém, běhá po obrazovce spousta textu. Pokud budete dávat pozor, všimnete si že tento text je při každém startu systému stejný. Posloupnost všech těchto kroků se nazývá startovací posloupnost (boot sequence) a je víceméně staticky definována.
Nejdříve ze všeho zavaděč (boot loader) načte obraz jádra (definovaný v konfiguraci zavaděče) do paměti a poté přikáže procesoru aby toto jádro spustil. Když je jádro načteno a spuštěno, jsou inicializovány struktury potřebné pro jeho běh a pro běh úloh, a je spuštěn proces init (inicializační proces).
Tento proces zkontroluje že všechny souborové systémy (definované v /etc/fstab) jsou připojeny a připraveny k použití. Poté jsou spuštěny skripty umístěné v adresáři /etc/init.d, což způsobí spuštění všech služeb potřebných pro plně funkční systém.
Nakonec, když jsou všechny skripty spuštěny, aktivuje init terminály (ve většině případů virtuální konzole skryté za Alt-F1, Alt-F2, atd.) ke kterým je připojen speciální proces nazývaný agetty. Tento proces spuštěním programu login zajišťuje že se přes tyto terminály můžete přihlásit.
Inicializační skripty umístěné v /etc/init.d však nejsou spouštěny v náhodném pořadí. Ba co víc, init dokonce nespouští všechny skripty umístěné v tomto adresáři ale jenom ty u kterých je mu to nařízeno. To které skripty budou spuštěny je rozhodnuto na základě obsahu adresáře /etc/runlevels.
Nejdříve ze všeho init spustí skripty z /etc/init.d, které mají symbolické odkazy do /etc/runlevels/boot. Skripty jsou obvykle spouštěny v abecedním pořadí, ale některé skripty v sobě mají definovánu závislost, čímž sdělují systému že před jejich spuštěním musí být spuštěn některý jiný skript.
Když jsou spuštěny všechny skripty odkazované z /etc/runlevels/boot, pokračuje init ve spouštění skriptů odkazovaných z /etc/runlevels/default. A opět, při spouštění skriptů bude použito abecední řazení, nicméně některé skripty mohou obsahovat informaci o závislosti a v tom případě je pořadí pozměněno tak aby byla posloupnost skriptů platná.
Samozřejmě proces init to vše nerozhoduje sám. Potřebuje konfigurační soubor který určuje které akce je nutno provést. Tento konfigurační soubor se jmenuje /etc/inittab.
Pokud si pamatujete na startovací posloupnost kterou jsme vám před chvílí vysvětlili, vzpomenete si že první akce prováděná procesem init je připojení všech souborových systémů. To je definováno následující řádkou v /etc/inittab:
Tento řádek říká procesu init že musí spustit /sbin/rc sysinit který inicializuje systém. Skript /sbin/rc se stará o inicializaci, takže by se dalo říct že init vlastně sám nic moc nedělá - pouze předává úlohu inicializovat systém jinému procesu.
Zadruhé, proces init spouští všechny skripty na které existuje symbolický odkaz v adresáři /etc/runlevels/boot. To je definováno následující řádkou:
A opět, příslušné úlohy provádí skript rc. Všimněte si že volba předávaná skriptu rc (tj. boot) je stejná jako jméno podadresáře /etc/runlevels.
Proces init poté zkontroluje konfigurační soubor aby zjistil který runlevel má spustit. To udělá tak že ze souboru /etc/inittab přečte následující řádek:
V tomto případě (který bude používat většina uživatelů Gentoo), je id runlevelu 3. Díky této informaci init ví že má nastartovat do runlevelu 3:
Obrázek 17.4. Definice runlevelů
l0:0:wait:/sbin/rc shutdown l1:S1:wait:/sbin/rc single l2:2:wait:/sbin/rc nonetwork l3:3:wait:/sbin/rc default l4:4:wait:/sbin/rc default l5:5:wait:/sbin/rc default l6:6:wait:/sbin/rc reboot
Řádek definující runlevel 3, opět, používá skript rc pro nastartování služeb (nyní s volbou default). Opět si všimněte že argument rc se shoduje se jménem podadresáře /etc/runlevels.
Když skript rc skončí, proces init se rozhodne které virtuální konzole by měly být aktivovány a které příkazy je potřeba na konzolích spustit:
Obrázek 17.5. Definice virtuánlích konzolí
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
Viděli jste že proces init používá systém číslování k rozhodnutí které runlevely by měly být aktivovány. Runlevel je stav ve kterém váš systém běží a obsahuje skupinu skriptů (runlevel skripty nebo initskripty) které musí být spuštěny pokud chcete do tohoto runlevelu přejít.
V Gentoo existuje sedm definovaných runlevelů: tři z nich jsou interní a čtyři uživatelské. Interní runlevely se nazývají sysinit, shutdown a reboot a dělají přesně to co znamenají jejich jména: inicializaci systému, vypnutí systému a restart systému.
Uživatelské runlevely jsou ty které používají podadresáře /etc/runlevels: boot, default a nonetwork a single. Runlevel boot nastartuje nutné systémové služby používané všemi ostatními runlevely. Zbývající tři runlevely se liší pouze v tom které služby spouští: default je používán pro každodenní používání, nonetwork je používán v případě že nepotřebujete připojení k síti, a single je používán pokud potřebujete opravit systém.
Skripty spouštěné procesem rc se nazývají inicializační skripty. Každý skript v /etc/init.d může být spouštěn s argumenty start, stop, restart, pause, zap, status, ineed, iuse, needsme, usesme nebo broken.
Pro spuštění, ukončení nebo restart služby (a všech závislých služeb) lze použít volby start, stop a restart:
Zastaveny nebo restartovány jsou pouze ty služby které příslušnou službu potřebují. Další související služby (ty které ji používají ale nepotřebují) jsou ponechány.
Pokud chcete zastavit službu, ale nikoliv služby které na ní závisí, můžete použít volbu pause:
Pokud chcete zjisti stav služby (spuštěná, zastavená, pozastavená, ...) můžete použít argument status:
Pokud informace o stavu říká že služba běží, ale vy víte že nikoliv, můžete informaci o stavu resetovat na "zastavena" pomocí volby zap:
Pokud vás zajímá jaké služby jsou spojené s určitou službou, můžete použít volby iuse nebo ineed. Volba ineed vypíše služby nutné pro korektní funkci služby, a volba iuse naopak zobrazí seznam služeb které mohou být službou používány, ale nejsou nutné pro korektní funkci.
Podobně se můžete zeptat které služby danou službu vyžadují (volba needsme) nebo používají (volba usesme):
Obrázek 17.11. Zobrazení seznamu služeb které pro svůj běh vyžadují potfix
# /etc/init.d/postfix needsme
Konečně, můžete se zeptat které závislosti služba vyžaduje a které přitom chybí:
Inicializační systém Gentoo používá k rozhodnutí v jakém pořadí je potřeba služby spouštět závislostní strom. Protože toto je nutná úloha kterou by uživatelé neměli dělat ručně, vytvořili jsme nástroje které ulehčí administraci runlevelů a initskriptů.
Pomocí programu rc-update můžete přidávat a odebírat z runlevelu. Nástroj rc-update poté automaticky spustí skript depscan.sh který znovu vytvoří závislostní strom.
Během instalace Gentoo už jste přidávali skripty do default runlevelu. V té době jste ještě nemuseli vědět co volba default znamená, ale nyní už to víte. Skript rc-update navíc vyžaduje ještě jeden argument definující akci: add, del nebo show.
Pro přidání nebo odebrání inicializačního skriptu stačí skriptu rc-update předat argument add nebo del, následovaný jménem init skriptu a runlevelu. Například:
Příkaz rc-update show zobrazí všechny dostupné init skripty a seznam runlevelů ve kterých budou spouštěny:
Init skripty mohou být dosti složité. Z toho důvodu není vhodné aby uživatelé tyto inicializační skripty přímo upravovali, protože by to bylo náchylné k chybám. Možnost konfigurace takových služeb je však důležitá. Například byste mohli chtít službě předávat více voleb.
Dalším důvodem pro umístění konfigurace mimo inicializační skript je možnost aktualizace inicializačních skriptů bez obav že přijdete o své nastavení.
Gentoo poskytuje skutečně jednoduchý způsob jak takové služby konfigurovat: každý skript který může být konfigurován má konfigurační soubor v /etc/conf.d. Například inicializační skript apache2 (nazývaný /etc/init.d/apache2) má konfigurační soubor s názvem /etc/conf.d/apache2, který může obsahovat volby které chcete při startu předat serveru Apache 2:
Takový konfigurační soubor obsahuje jen a pouze proměnné (stejně jako /etc/make.conf), díky čemuž je konfigurace služeb velice jednoduchá. Tento přístup také umožňuje připojit podrobnější informace o proměnných (formou komentářů).
Ne. Psaní init skriptů obvykle není potřeba neboť Gentoo poskytuje hotové init skripty pro všechny poskytované služby. Avšak možná jste nainstalovali některou službu bez použití Portage, v kterémžto případě nejspíše budete muset vytvořit vlastní init skript.
Nepoužívejte init skript dodávaný se službou pokud není výslovně určen pro Gentoo: init skripty Gentoo nejsou kompatibilní s init skripty pro ostatní distribuce!
Základní schéma init skriptu je uvedeno níže.
Obrázek 17.16. Základní schéma init skriptu
#!/sbin/runscript depend() { (Dependency information) } start() { (Commands necessary to start the service) } stop() { (Commands necessary to stop the service) } restart() { (Commands necessary to restart the service) }
Každý init skript vyžaduje definici funkce start(). Všechny ostatní funkce jsou nepovinné.
Existují dva druhy závislostí které můžete definovat: use a need. Jak již bylo uvedeno, závislost need je striktnější než use závislost. Za uvedením typu závislosti uveďte službu na které vaše služba závisí, nebo virtuální závislost.
Virtuální závislost je závislost kterou služba poskytuje, ale která není poskytována výhradně touto službou. Váš init skript může záviset na systémovém loggery, ale existuje mnoho systémových logů (metalogd, syslog-ng, sysklogd, ...). Protože nepotřebujete všechny (žádný rozumný systém nepoužívá všechny tyto loggery najednou) stačí zajistit že všechny tyto služby poskytují (anglicky "provide") virtuální závislost.
Podívejme se na informace o závislostech pro službu postfix.
Jak vidíte, služba postfix:
vyžaduje (virtuální) závislost net (ta je poskytována, například, init skriptem /etc/init.d/net.eth0)
používá (virtuální) závislost logger (ta je poskytována, například, init skriptem /etc/init.d/syslog-ng)
používá (virtuální) závislost dns (ta je poskytována, například, init skriptem /etc/init.d/named)
poskytuje (virtuální) závislost mta (což je obvyklá virtuální závislost poskytovaná mail servery)
V některých případech sice službu nevyžadujete, ale pokud je v systému dostupná a na stejném runlevelu tak ji můžete chtít spustit dříve (či později) než jinou službu (všimněte si podmínek - nejedná se o žádnou závislost mezi službami a jedná se pouze o služby ve stejném runlevelu). Toho můžete docílit pomocí voleb before a after.
Podívejme se například na službu Portmap:
Přitom můžete použít standardní znak "*" kterým označíte všechny služby v daném runlevelu, ačkoliv tento postup nedoporučujeme.
Kromě depend() potřebujete nadefinovat také funkci start(). Ta obsahuje všechny příkazy potřebné k inicializaci vaší služby. doporučujeme vám používat funkce ebegin a eend k informování uživatele o tom co se děje:
Obrázek 17.20. Příklad funkce start()
start() { ebegin "Starting my_service" start-stop-daemon --start --quiet --exec /path/to/my_service eend $? }
Pokud se chcete podívat na další příklady funkce start(), podívejte se do zdrojového kódu dostupných init skriptů v adresáři /etc/init.d. Navíc existuje skvělá manuálová stránka pro start-stop-daemon:
Další funkce které můžete definovat jsou stop() a restart(). Tyto funkce nemusíte definovat! Náš init systém je dostatečně inteligentní na to aby si tyto služby doplnil sám, pokud používáte start-stop-daemon.
Pokud chcete aby init skript podporoval více voleb než jen ty které jsme právě uvedli, musíte přidat tuto volbu do proměnné opts, a vytvořit funkci se stejným jménem jako je volba. Například pokud chcete přidat volbu restartdelay:
Pro to aby váš skript podporoval konfigurační soubor v /etc/conf.d nemusíte udělat vůbec nic: pokud je váš skript spuštěn jsou automaticky načteny následující soubory (tj. je možno používat v nich definované proměnné):
/etc/conf.d/<your init script>
/etc/conf.d/basic
/etc/rc.conf
Také, pokud váš init skript poskytuje virtuální závislost (jako je například net), bude načten také soubor asociovaný s touto závislostí (čili například /etc/conf.d/net).
Obsah
Abstrakt
S Gentoo můžete jednoduše spravovat proměnné prostředí na vašem systému. Tato kapitola vysvětluje jak na to a popisuje často používané proměnné.
Proměnná prostředí je pojmenovaný objekt obsahující informace využívané jednou nebo více aplikacemi. Mnoho uživatelů (a zejména těch kteří jsou v Linuxu noví) to považuje za podivné nebo neovladatelné. To je však velký omyl: používáním proměnných prostředí lze jednoduše měnit nastavení jedné nebo více aplikací.
V následující tabulce je uveden seznam proměnných používaných Linuxovým systémem společně s popisem jejich použití. Pod tabulkou jsou uvedeny příklady použití.
PATH | Tato proměnná obsahuje dvojtečkou oddělovaný seznam adresářů ve kterých systém hledá spustitelné soubory. Pokud zadáte jméno spustitelného souboru (jako jsou například ls, rc-update nebo emerge) a tento soubor není umístěn v některém z uvedených adresářů, váš systém program nespustí (pokud k němu nezadáte celou cestu, jako je například /bin/ls). |
ROOTPATH | Má stejný význam jako PATH, ale obsahuje pouze adresáře které mají být kontrolovány pokud příkaz zadal root. |
LDPATH | Osahuje seznam adresářů oddělovaných dvojtečkou ve kterých dynamický linker hledá knihovny. |
MANPATH | Osahuje seznam adresářů oddělovaných dvojtečkou ve kterých příkaz man hledá manuálové stránky. |
INFODIR | Osahuje seznam adresářů oddělovaných dvojtečkou ve kterých příkaz info hledá info stránky. |
PAGER | Proměnná obsahující cestu k programu používanému pro listování obsahem souborů (například less nebo more). |
EDITOR | Tato proměnná obsahuje cestu k programu používanému k úpravě obsahu souborů (například nano nebo vi). |
KDEDIRS | Tato proměnná obsahuje seznam adresářů oddělených dvojtečkou, které obsahují materiál specifický pro KDE. |
CLASSPATH | Proměnná obsahuje seznam adresářů oddělených dvojtečkou, které obsahují třídy jazyka Java (Java classes). |
CONFIG_PROTECT | Proměnná obsahuje seznam adresářů oddělovaných mezerou, které mají být chráněny systémem Portage během aktualizace. |
CONFIG_PROTECT_MASK | Proměnná obsahuje seznam adresářů oddělovaných mezerou, které nemají být chráněny systémem Portage během aktualizace. |
Níže najdete příklad definice všech těchto proměnných:
Obrázek 18.1. Vzorové definice
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
Aby byly definice těchto proměnných centralizovány, Gentoo zavádí adresář /etc/env.d, ve kterém najdete mnoho souborů pojmenovaných například 00basic, 05gcc, atd. které obsahují proměnné potřebné aplikací uvedenou v jejich jméně.
Například, když jste nainstalovali gcc, byl balíčkem automaticky vytvořen soubor 05gcc obsahující definice následujících proměnných:
Obrázek 18.2. /etc/env.d/05gcc
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"
Jiné distribuce vám říkají abyste definice proměnných prostředí měnili nebo přidávali v souboru /etc/profile nebo na jiných místech. Gentoo vám (a Portage) naopak zjednodušuje údržbu a správu proměnných prostředí aniž byste se museli starat o spoustu souborů obsahujících proměnné prostředí.
Například během aktualizace gcc je aktualizován i soubor /etc/env.d/05gcc bez nutnosti zásahu uživatele.
To není výhoda pouze pro Portage, ale i pro vás jako uživatele. V některých případech můžete být požádáni o globální nastavení některé proměnné. Jako příklad uvedeme proměnnou http_proxy. Namísto abychom se mazali se souborem /etc/profile, můžete jednoduše vytvořit soubor (/etc/env.d/99local) a vložit definici/e do něj:
Pokud budete pro všechny svoje proměnné používat stejný soubor, budete mít stále přehled o tom jaké proměnné jste nadefinovali sami.
Několik souborů v /etc/env.d definuje proměnnou PATH. To není chyba - když spustíte env-update, spojí těchto několik definic do jedné než aktualizuje proměnné prostředí, takže je jednoduché pro balíčky (nebo uživatele) přidávat svoje vlastní proměnné prostředí aniž by se dostali do sporu s již existujícími hodnotami.
Skript env-update spojí hodnoty v abecedním pořadí souborů /etc/env.d. To je důvod proč spousta souborů v /etc/env.d začíná číslem.
Obrázek 18.4. Pořadí aktualizace používané skriptem env-update
00basic 99kde-env 99local +-------------+----------------+-------------+ PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin"
Až spustíte env-update, vytvoří tento skript všechny proměnné prostředí a umístí je do souboru /etc/profile.env (který je používán souborem /etc/profile). Vytáhne také informace pro proměnnou LDPATH a umístí je do souboru /etc/ld.so.conf. Poté spustí ldconfig a znovu vytvoří soubor /etc/ld.so.cache používaný dynamickým linkerem.
Pokud chcete se efekt úpravy proměnných projevil okamžitě po spuštění env-update, spusťte následující příkaz který aktualizuje vaše prostředí. Uživatelé kteří si Gentoo instalovali sami si tento příkaz patrně budou pamatovat z instalačních instrukcí:
Obrázek 18.6. Aktualizace proměnné PATH pro lokální použití v ~/.bashrc
PATH="${PATH}:/home/my_user/bin"
Někdy je potřeba ještě omezenější definice proměnné prostředí. Můžete například potřebovat spouštět binární soubory z vámi vytvořeného dočasného adresáře a nechcete kvůli té chvilce upravovat soubory ~/.bashrc nebo ~/.bash_profile.
V tom případě můžete definovat proměnnou PATH v aktuálním sezení pomocí příkazu export. Dokud se neodhlásíte, proměnná prostředí bude obsahovat tuto dočasnou hodnotu.