Pastaba :
Šis dokumentas negalioja ir nebėra daugiau palaikomas.
|
„Gentoo Linux“ x86 vadovas
Turinys:
-
„Gentoo“ diegimas
Šioje dalyje jūs išmoksite kaip įdiegti „Gentoo“ jūsų sistemoje.
-
Apie „Gentoo Linux“ diegimą
Šis skyrius supažindina jus su diegimo būdu, aprašytu šiame vadove.
-
Teisingų diegimo priemonių pasirinkimas
Jūs galite įdiegti „Gentoo“ daugybe būdų. Šiame skyriuje aiškinama, kaip
įdiegti „Gentoo“, naudojant minimalų diegimo CD, nors diegimas naudojant
diegimo LiveCD taip pat yra galimas.
-
Jūsų tinklo konfigūravimas
Kad galėtumėte parsisiųsti naujausius išeities tekstus, jūs turėsite suderinti
tinklą.
-
Diskų paruošimas
Norėdami įdiegti „Gentoo“, privalote sukurti reikalingus skirsnius. Šiame
skyriuje aprašoma, kaip suskaidyti standųjį diską tolesniam naudojimui.
-
„Gentoo“ diegimo rinkmenų diegimas
„Gentoo“ diegimas veikia naudojant stage3 tar archyvą. Šiame skyriuje aprašomas
stage3 tar archyvo išpakavimas ir „Portage“ konfigūravimas.
-
Gentoo pagrindinės sistemos diegimas
Po stage3 diegimo ir konfigūravimo, galutinis rezultatas yra tas, kad jūs
savo žinioje turite bazinę „Gentoo“ sistemą. Šiame skyriuje paaiškinama, kaip
pažengti iki tokios būsenos.
-
Branduolio konfigūravimas
„Linux“ branduolys yra kiekvieno platinamojo paketo pagrindas. Šiame skyriuje
aiškinama, kaip susikonfigūruoti branduolį.
-
Sistemos konfigūravimas
Jūs turite paredaguoti keletą svarbių konfigūracinių rinkmenų. Šiame skyriuje
gausite šių rinkmenų apžvalgą ir paaiškinimą kaip tęsti.
-
Būtinų sistemos įrankių diegimas
Šiame skyriuje mes padėsime jums pasirinkti ir įsidiegti kai kuriuos svarbius
įrankius.
-
Įkrovos tvarkyklės konfigūravimas
Egzistuoja keletas įkrovos tvarkyklių x86 architektūrai. Kiekviena iš jų turi
nuosavą konfigūravimo būdą. Mes pravesime jus per įkrovos tvarkyklės
konfigūravimo jūsų poreikiams procesą.
-
„Gentoo“ diegimo užbaigimas
Viskas beveik jau padaryta. Mes tik sukursime vieną (ar daugiau) vartotojų jūsų
sistemai.
-
Kur eiti nuo čia?
Dabar jūs turite savo „Gentoo“ sistemą, bet kas toliau?
-
Darbas su „Gentoo“
Išmokite, kaip dirbti su „Gentoo“: programinės įrangos diegimas, kintamųjų
keitimas, „Portage“ elgsenos keitimas ir pan.
-
„Portage“ įvadas
Šiame skyriuje aiškinami „paprasti“ žingsniai, kuriuos vartotojas būtinai
turėtų žinoti, kad galėtų prižiūrėti savo sistemos programinę įrangą.
-
USE vėliavėlės
USE vėliavėlės yra labai reikšmingas „Gentoo“ aspektas. Iš šio skyriaus jūs
išmoksite dirbti su USE vėliavėlėm ir suprasite kaip USE vėliavėlės sąveikauja
su jūsų sistema.
-
„Portage“ funkcijos
Atraskite tokias „Portage“ funkcijas, kaip paskirstyto kompiliavimo palaikymas,
ccache ir daugiau.
-
Pirminio paleidimo scenarijai
„Gentoo“ naudoja specialius pirminio paleidimo scenarijus, kurie, nepaisant
kitų savybių, leidžia priklausomybių nutarimus ir virtualius pirminio paleidimo
scenarijus. Šiame skyriuje aiškinami visi šie aspektai ir aiškinama, kaip
elgtis su šiais scenarijais.
-
Aplinkos kintamieji
Naudodami „Gentoo“, jūs galite lengvai tvarkyti aplinkos kintamuosius savo
sistemai. Šiame skyriuje aiškinama, kaip tai daryti, taip pat aprašomi ir
dažniausiai naudojami kintamieji.
-
Darbas su „Portage“
Šioje dalyje pateikiamas detalus „Portage“, „Gentoo“ programinės įrangos
valdymo įrankio, aprašymas.
-
Rinkmenos ir katalogai
Jeigu norite detaliai žinoti „Portage“, jūs turite žinoti, kur ji saugo savo
rinkmenas ir duomenis.
-
Konfigūravimas per kintamuosius
„Portage“ yra pilnai konfigūruojama per įvairius kintamuosiu, kuriuos jūs
galite nustatyti konfigūracinėje rinkmenoje arba kaip aplinkos kintamąjį.
-
Programinės įrangos atšakų maišymas
„Gentoo“ pateikia programinę įrangą, atskirtą į keletą atšakų, priklausomai nuo
stabilumo ir architektūrų palaikymo. „Programinės įrangos atšakų maišymas“
informuoja jus, kaip šios atšakos gali būti konfigūruojamos, ir kaip jūs galite
individualiai nepaisyti šio atskyrimo.
-
Papildomi „Portage“ įrankiai
„Portage“ pateikiama su keletu papildomų įrankių, kurie gali padaryti jūsų
„Gentoo“ patyrimą dar geresniu. Skaitykite toliau, kad sužinotumėte, kaip
naudotis dispatch-conf ir kitais įrankiais.
-
Nukrypimas nuo oficialaus medžio
„Nukrypimas nuo oficialaus medžio“ pateikia jums keletą patarimų ir gudrybių
kaip naudotis jūsų nuosavu „Portage“ medžiu, kaip sinchronizuoti tik tas
kategorijas, kurių jūs norite, įsikelti paketus ir daugiau.
-
„Gentoo“ tinklo konfigūravimas
Lengvai suprantamas „Gentoo“ tinklo konfigūravimo vadovas.
-
Pradžia
-
Papildoma konfigūracija
-
Modulinis tinklas
-
Belaidis tinklas
-
Funkcionalumo pridėjimas
-
Tinklo valdymas
A. „Gentoo“ diegimas
1. Apie „Gentoo Linux“ diegimą
1.a. Įžanga
Sveiki!
Visų pirma, sveiki atvykę į „Gentoo“. Jūs įžengsite į pasirinkimų ir galimybių
pasaulį. „Gentoo“ viskas yra pasirenkama. Kai diegiate „Gentoo“, galite rinktis
kelis kartus -- jūs patys galite pasirinkti, kiek jūs norite kompiliuoti, kaip
norite diegti „Gentoo“, kokio sistemos žurnalizavimo įrankio jūs norite ir pan.
„Gentoo“ yra greitas, modernus „Linux“ platinamasis paketas neapkrautu ir
lanksčiu dizainu. „Gentoo“ yra sukurta laisvos programinės įrangos pagrindu ir
neslepia nuo vartotojų, kas yra po dangčiu. „Portage“, paketų priežiūros
sistema, kurią naudoja „Gentoo“, yra parašyta „Python“ programavimo kalba, kas
reiškia, kad jūs galite lengvai žiūrėti ir keisti pirminį tekstą. „Gentoo“
paketų priežiūros sistema naudoja pirminį tekstą (nors yra ir iš anksto
sukompiliuotų paketų palaikymas), ir „Gentoo“ konfigūravimas vyksta naudojant
įprastas tekstines rinkmenas. Kitaip tariant, atvirumas visur.
Labai svarbu, kad jūs suprastumėte, kad pasirinkimai ir yra tai, kas
padeda „Gentoo“ gyvuoti. Mes stengiamės nepiršti jums nieko, ko jūs nemėgstate.
Jeigu jūs jaučiate, kad mes tai darome, prašome apie tai pranešti.
Kaip sudarytas diegimas?
„Gentoo“ diegimas gali būti pavaizduotas kaip 10 veiksmų procedūra, atitinkanti
2 - 11 skyrius. Kiekvienas veiksmas pasibaigia tam tikroje būsenoje:
-
Po 1-ojo veiksmo jūs esate veikiančioje aplinkoje, parengtoje „Gentoo“
diegimui;
-
Po 2-ojo veiksmo jūsų interneto sujungimas yra paruoštas „Gentoo“ diegimui;
-
Po 3-ojo veiksmo jūsų standieji diskai yra parengti jūsų „Gentoo“ diegimui;
-
Po 4-ojo veiksmo jūsų diegimo aplinka yra parengta, ir jūs esate pasirengę
pakeisti šakninį katalogą į naujosios aplinkos;
-
Po 5-ojo veiksmo yra įdiegti pagrindiniai paketai, kurie yra vienodi visuose
„Gentoo“ diegimuose;
-
Po 6-ojo veiksmo jūs esate sukompiliavę savo „Linux“ branduolį;
-
Po 7-ojo veiksmo jūs esate parašę daugumą savo „Gentoo“ sistemos
konfigūracinių rinkmenų;
-
Po 8-ojo veiksmo būtiniausi sistemos įrankiai (kuriuos jūs galite pasirinkti
iš dailaus sąrašo) yra idiegti;
-
Po 9-ojo veiksmo jūsų pasirinkta įkrovos tvarkyklė yra įdiegta ir
sukonfigūruota, ir jūs esate prisijungę į savo naująjį „Gentoo“;
-
Po 10-ojo veiksmo jūsų „Gentoo Linux“ aplinka yra parengta tyrinėjimui.
Kai jums pateikiamas koks nors pasirinkimas, mes stengiamės pateikti argumentus
„už“ ir „prieš“. Mes tuomet pratęsime su numatytuoju pasirinkimu, antraštėje
pažymėtu „Numatyta: “. Kitos galimybės pažymėtos „Alternatyva: “.
Nemanykite, kad numatyta yra tai, ką mes rekomenduojame. Tai yra, mūsų
nuomone, tai, ką naudos daugelis naudotojų.
Kartais jūs galite pasirinkti ir pasirinktiną veiksmą. Tokie veiksmai pažymėti
„Pasirinktina: " ir nėra provalomi „Gentoo“ diegimui. Tačiau, kai kurie
pasirinktini veiksmai yra priklausomi nuo ankstesnio jūsų pasirinkimo. Mes jus
informuosime, kai taip nutiks ir kai jūs padarysite pasirinkimą, ir prieš
pasirinktino veiksmo aprašymą.
Kokie yra mano pasirinkimai?
Jūs galite įdiegti „Gentoo“ daugybe skirtingų būdų. Galite parsisiųsti ir
įsidiegti iš vieno iš mūsų diegimo kompaktinių diskų, iš esamo „Linux“
platinamojo paketo, iš pakraunamo CD (tokio, kaip Knoppix), iš įkeltos iš
interneto aplinkos, iš išvadavimo lanksčiojo diskelio ir pan.
Šis dokumentas apima diegimą, naudojant „Gentoo“ diegimo CD arba, tam tikrais
atvejais, įkeltį iš interneto. Šiame diegime manoma, kad jūs norite įdiegti
naujausias esamas kiekvieno paketo versijas. Jei norite atlikti diegimą be
interneto sujungimo, turėtumėte skaityti „Gentoo“ 2008.0 vadovus, kuriuose yra
nurodymai aplinkai be interneto prisijungimo.
Taip pat reikėtų pastebėti, kad jei jūs planuojate naudoti GRP („Gentoo
Reference Platform“ -- rinkinį iš anksto sukompiliuotų paketų, skirtų
tiesioginiam naudojimui iškart po Gentoo įdiegimo), jūs privalote sekti
„Gentoo“ 2008.0 vadovų nurodymais.
Jei reikia pagalbos kituose diegimo metoduose, prašome skaityti mūsų „Alternatyvaus diegimo vadovą“. Mes taip
pat pateikiame „Gentoo“ diegimo
patarimų ir gudrybių dokumentą, kurį taip pat būtų pravartu pasiskaityti.
Jei jūs jaučiate, kad esami diegimo nurodymai yra per daug detalūs, galite
laisvai naudotis mūsų „Greitojo diegimo vadovu“ iš mūsų dokumentacijos išteklių, jei toks dokumentas
yra turimas jūsų architektūrai.
Jūs taip pat turite keletą galimybių: galite kompiliuoti visiškai visą savo
sistemą arba naudoti iš anksto sukompiliuotą aplinką ir turėti savo „Gentoo“
aplinką paruoštą ir veikiančią per kelias akimirkas. Ir, žinoma, jūs turite
tarpinį sprendimą, kuomet jūs nekompiliuojate visko, o pradedate nuo pusiau
parengtos sistemos.
Sunkumai?
Jeigu radote problemą diegime (arba diegimo dokumentacijoje), prašome aplankyti
mūsų riktų sekimo sistemą ir
patikrinti, ar riktas yra žinomas. Jei ne, prašome sukurti jam pranešimą apie
riktą, kad mes galėtume juo pasirūpinti. Nebijokite plėtotojų, kurie yra
paskirti jūsų riktams -- paprastai jie žmonių nevalgo.
Taip pat reikėtų pastebėti, nors dokumentas, kurį jūs skaitote, yra specifinis
kiekvienai architektūrai, jame taip pat bus nurodymų ir kitoms architektūroms.
Tai yra dėl to, kad didelės „Gentoo“ vadovo dalys naudoja išeities tekstą,
kuris bendras visoms architektūroms (norint išvengti perdėtų pastangų ir
plėtojimo išteklių bado). Mes pasistengsime išlaikyti tai iki minimumo, kad
išvengtumėme painiavos.
Jei jūs nesate tikri, ar problema yra dėl nadotojo kaltės (kai kurias klaidas
jūs padarėte nepaisant atidaus dokumentacijos skaitymo), ar tai yra programinės
įrangos problema (kai kurias klaidas mes padarėme nepaisant atidaus
diegimo/dokumentacijos bandymo), jūs galite laisvai prisijungti prie #gentoo
IRC kanalo irc.freenode.net tinkle. Žinoma, esate mielai laukiami ir kitais
atvejais taip pat :)
Jei turite klausimą apie Gentoo, patikrinkite mūsų dažniausiai užduodamus klausimus, pasiekiamus iš
„Gentoo“ dokumentacijos. Jūs taip pat galite
pažiūrėti DUK
mūsų forumuose. Jei negalite rasti atsakymo, tada paklauskite mūsų #gentoo IRC
kanale, irc.freenode.net tinkle. Taip, kai kurie iš mūsų yra keistuoliai, kurie
būna IRC :-)
2. Teisingų diegimo priemonių pasirinkimas
2.a. Aparatinės įrangos reikalavimai
Įžanga
Prieš pradedant, pirmiausia pateiksime sąrašą aparatinės įrangos reikalavimų,
reikiamų sėkmingam „Gentoo“ įdiegimui.
Aparatinės įrangos reikalavimai
|
Minimalus CD |
LiveCD |
| Pagrindinis procesorius |
i486 ar naujesnis |
i686 ar naujesnis |
| Atmintis |
64 MB |
256 MB |
| Vieta standžiajame diske |
1.5 GB (išskyrus mainų skirsnio vietą) |
| Mainų skirsnio vieta |
Mažiausiai 256 MB |
2.b. „Gentoo“ diegimo kompaktiniai diskai
Įžanga
„Gentoo“ diegimo kompaktiniai diskai yra pradinės įkelties kompaktiniai
diskai, kuriuose yra savaime nepertraukiama „Gentoo“ aplinka. Jie leidžia jums
įkelti „Linux“ iš CD. Per įkelties procesą yra aptinkama jūsų aparatinė įranga
ir įkeliamos tinkamos tvarkyklės. Jos yra palaikomos „Gentoo“ plėtotojų.
Visi diegimo kompaktiniai diskai leidžia jums įvykdyti įkeltį, suderinti
tinklą, suskaidyti standųjį diską ir pradėti „Gentoo“ diegimą iš interneto.
Šiuo metu mes teikiame du diegimo kompaktinius diskus, kurie yra vienodai
tinkami „Gentoo“ diegimui, jei planuojate atlikti diegimą iš interneto,
naudojant naujausias esamų programinių paketų versijas.
Svarbu:
Jei jūs norite diegti „Gentoo“ be veikiančio interneto sujungimo ar norėtumėte
naudotis viena iš pateikiamų diegimo programų, prašome naudotis diegimo
nurodymais, aprašytais „Gentoo“ 2008.0 vadovuose.
|
Diegimo kompaktiniai diskai, kuriuos mes šiuo metu teikiame yra:
-
„Gentoo“ minimalus diegimo CD, mažas, neniekingas, įkeliamasis CD,
kurio vienintelis tikslas yra įkelti sistemą, paruošti tinklą ir pratęsti
„Gentoo“ diegimą.
-
„Gentoo“ diegimo LiveCD yra viskas, ko jums reikia norint įdiegti
„Gentoo“. Jame pateikiama grafinė aplinka, grafinė bei konsolinė diegimo
programa, kuri jums automatiškai vykdo diegimą, ir, žinoma, diegimo
nurodymai jūsų architektūrai.
Norėdami jums padėti pasirinkti reikiamą diegimo kompaktinį diską, mes parašėme
kiekvieno diegimo CD svarbiausius pranašumus ir trūkumus.
„Gentoo“ minimalus diegimo CD
Minimalus diegimo CD yra pavadintas install-x86-minimal-2008.0.iso ir užima
tik 57 MB vietos diske. Galite naudoti šį diegimo CD
„Gentoo“ diegimui, bet tik su veikiančiu interneto sujungimu.
| Minimalus diegimo CD |
Argumentai „už“ ir „prieš“ |
| + |
Mažiausias siuntimas |
| - |
Nėra nei stage3 tar archyvo, nei „Portage“ atvaizdo, nei iš anksto
sukompiliuotų programų paketų, todėl nėra tinkamas diegimui be interneto
sujungimo
|
„Gentoo“ diegimo LiveCD
Diegimo LiveCD yra pavadintas livecd-i686-installer-2008.0-r1.iso ir užima
655 MB. Šį diegimo kompaktinį diską galite naudoti
„Gentoo“ diegimui, ir galite jį naudoti net „Gentoo“ diegimui be veikiančio
interneto sujungimo.
| Diegimo LiveCD |
Argumentai „už“ ir „prieš“ |
| + |
Turi viską, ko reikia. Jūs galite įdiegti net be interneto sujungimo.
|
| - |
Milžiniškas siuntimas |
Stage3 archyvas
Stage3 tar archyve yra minimali „Gentoo“ aplinka, tinkama pratęsti „Gentoo“
diegimą, vadovaujantis šio vadovo nurodymais. Anksčiau „Gentoo“ vadove buvo
aprašytas diegimas, naudojant vieną iš trijų stage tar archyvų. Nors „Gentoo“
vis dar teikia stage1 ir stage2 archyvus, oficialiame diegimo metode naudojamas
stage3 archyvas. Jei esate susidomėję „Gentoo“ diegimo atlikimu, naudojant
stage1 ar stage2 tar archyvą, prašome perskaityti „Gentoo“ DUK Kaip diegti „Gentoo“ naudojant stage1 ar stage2
tar archyvą?
Stage3 tar archyvus galima atsisiųsti iš releases/x86/2008.0/stages/ bet kurioje iš oficialių „Gentoo“ dubliuojamųjų
tinklaviečių, bet LiveCD jie nėra pateikiami.
2.c. Atsisiųskite, įsirašykite ir įkelkite „Gentoo“ diegimo CD
Diegimo kompaktinių diskų atsisiuntimas ir įsirašymas
Jūs pasirinkote naudoti „Gentoo“ diegimo CD. Pirmiausia pradėsime atsisiųsdami
ir įsirašydami pasirinktą diegimo CD. Mes anksčiau svarstėme apie kelis esamus
diegimo kompaktinius diskus, bet kur juos galima rasti?
Jūs galite atsisiųsti bet kurį mūsų diegimo kompaktinį diską iš vienos iš mūsų
dubliuojamųjų tinklaviečių. Diegimo
kompaktiniai diskai yra releases/x86/2008.0/installcd/
kataloge.
Šiame kataloge rasite ISO rinkmenas. Tai yra pilni CD atvaizdai, kuriuos galite
įsirašyti į įrašomąjį kompaktinį diską.
Tuo atveju, jei norite žinoti, ar jūsų atsisiųsta rinkmena nėra pažeista,
galite patikrinti jos MD5 kontrolinę sumą ir palyginti ją su mūsų pateikta
MD5 kontroline suma (kaip antai install-x86-minimal-2008.0.iso.DIGESTS). Jūs galite patikrinti MD5 kontrolinę sumą
md5sum įrankiu „Linux/Unix“ aplinkoje arba md5sum įrankiu, skirtu „Windows“.
Kitas būdas patikrinti atsisiųstos rinkmenos tinkamumą - tai pasinaudoti
„GnuPG“ įrankiu kriptografinio parašo, kurį mes pateikiame, patikrinimui
(rinkmena, kurios pavadinimas baigiasi .asc). Atsisiųskite parašo
rinkmeną ir gaukite viešąjį raktą:
Kodo sąrašas 3.1: Viešojo rakto gavimas |
$ gpg --keyserver subkeys.pgp.net --recv-keys 17072058
|
Dabar patikrinkite parašą:
Kodo sąrašas 3.2: Kriptografinio parašo tikrinimas |
$ gpg --verify <parašo rinkmena> <atsisiųsta iso rinkmena>
|
Norėdami įsirašyti atsisiųstą ISO rinkmeną į kompaktinį diską, jūs turite
pasirinkti raw-įrašymą. Kaip tai padaryti visiškai priklauso nuo naudojamos
programos. mes aptarsime cdrecord ir K3B; daugiau informacijos
galite rasti mūsų „Gentoo“ DUK.
-
Naudodami cdrecord, jūs turite paprasčiausiai parašyti cdrecord
dev=/dev/hdc <atsisiųsta iso rinkmena> (pakeiskite
/dev/hdc jūsų CD-RW įrenginio keliu).
-
Jei naudojate K3B, pasirinkite Tools > Burn CD Image.
Tuomet galite rasti jūsų ISO rinkmeną „Image to Burn“ srityje. Galiausiai
spragtelėkite Start.
Diegimo CD įkrova
Vos tik įsirašysite savo diegimo CD, laikas jį įsikelti. Išimkite visus
kompaktinius diskus iš savo CD įrenginių, perkraukite sistemą ir iššaukite
BIOS. Tai paprastai yra padaroma spaudinėjant DEL, F1 ar ESC klavišus,
priklausomai nuo jūsų BIOS. Pakeiskite BIOS įkėlos tvarką taip, kad CD-ROM būtų
bandomas prieš standųjį diską. Tai dažniausiai būna „CMOS Setup“ skyriuje. Jei
to nepadarysite, jūsų sistema tiesiog persileis iš standžiojo disko,
ignoruodama CD-ROM.
Dabar įdėkite diegimo CD į CD-ROM įrenginį ir perkraukite sistemą. Jūs
turėtumėte pamatyti įkėlos eilutę. Šiame ekrane galite paspausti Enter įkėlos
proceso pradžiai su numatytomis parinktimis arba įkelti diegimo CD su
tinkintomis įkėlos parinktimis, nurodydami branduolį, tada įkėlos parinktis ir
paspausdami Enter.
Nurodydami branduolį? Taip, mes teikiame kelis branduolius savo diegimo
kompaktiniose diskuose. Numatytasis yra gentoo. Kiti branduoliai yra
specifinei aparatinei įrangai ir -nofb variantams, kurie išjungia
framebuffer.
Žemiau rasite trumpą turimų branduolių apžvalgą:
| Branduolys |
Aprašymas |
| gentoo |
Numatytasis 2.6 branduolys su kelių centrinių procesorių palaikymu |
| gentoo-nofb |
Tas pats kaip ir gentoo, bet be framebuffer palaikymo |
| memtest86 |
Klaidų jūsų vietinėje operatyviojoje atmintinėje tikrinimas |
Jūs taip pat galite pateikti branduoliui parinktis. Jos atstovauja
pasirinktinas nuostatas, kurias jūs galite, jei norite, įjungti ar išjungti.
Aparatinės įrangos parametrai:
- acpi=on
-
Įkelia ACPI palaikymą, o kompaktinis diskas įkrovos metu paleidžia acpid
tarnybą. To reikia tik jei tinkamam jūsų sistemos darbui reikia ACPI.
Hyperthreading palaikymui šio parametro nereikia.
- acpi=off
-
Visiškai pasyvina ACPI. Tai naudinga kai kurioms senoms sistemoms ir
privaloma, norint naudoti APM. Šis parametras pasyvins bet kokį jūsų
procesoriaus Hyperthreading palaikymą.
- console=X
-
Sukonfigūruoja nuosekliosios konsolės prieigą kompaktiniam diskui. Pirmasis
parametras yra įrenginys, x86 architektūroje paprastai ttyS0. Po to nurodomi
prisijungimo parametrai, atskirti kableliais. Numatytieji parametrai yra
9600,8,n,1.
- dmraid=X
-
Leidžia „device-mapper“ RAID posistemei pateikti parametrus. Šie turėtų būti
pateikti kabutėse.
- doapm
-
Įkelia APM tvarkyklės palaikymą. Kartu turite naudoti acpi=off.
- dopcmcia
-
Įkelia PCMCIA ir Cardbus aparatinės įrangos palaikymą, o kompaktinis diskas
įkrovos metu paleidžia pcmcia ir cardmgr tarnybas. Reikalinga tik įkrovai iš
PCMCIA/Cardbus įrenginių.
- doscsi
-
Įkelia daugumos SCSI valdiklių palaikymą. Taip pat reikalinga įkrovai iš
daugumos USB įrenginių, kadangi jie naudoja branduolio SCSI posistemę.
- sda=stroke
-
Leidžia kurti skirsnius visame standžiajame diske, net jei jūsų BIOS
nepalaiko didelės talpos diskų. Šis parametras naudojamas tik kompiuteriuose
su senu BIOS. Pakeiskite „sda“ įrenginiu, kuriam reikia šio parametro.
- ide=nodma
-
Branduolyje priverstinai pasyvina DMA. Reikalinga kai kuriems IDE lustų
rinkiniams bei kai kuriems CDROM įrenginiams. Jei jūsų sistemai kyla problemų
nuskaitant iš jūsų IDE CDROM įrenginio, pabandykite šį parametrą. Taip pat
pasyvina numatytųjų „hdparm“ nuostatų vykdymą.
- noapic
-
Pasyvina APIC („Advanced Programmable Interrupt Controller“), esantį naujose
pagrindinėse plokštėse. Senoje aparatinėje įrangoje gali sukelti problemų.
- nodetect
-
Pasyvina visą automatinį aptikimą, atliekamą kompaktinio disko, įskaitant
įrenginių automatinį aptikimą bei DHCP zondavimą (probing). Naudinga
netinkamai veikiančio CD ar tvarkyklės derinimui (debugging).
- nodhcp
-
Pasyvina DHCP zondavimą aptiktose tinklo plokštėse. Naudinga tinklams su vien
tik statiniais kompiuterių adresais.
- nodmraid
-
Pasyvina „device-mapper“ RAID palaikymą, naudojamą, pavyzdžiui, integruotiems
IDE/SATA RAID valdikliams.
- nofirewire
-
Pasyvina Firewire modulių įkėlimą. Šis parametras turėtų būti naudojamas tik
jei jūsų Firewire aparatinė įranga kelia problemų įkraunant kompaktinį diską.
- nogpm
-
Pasyvina „gpm“ pelės konsolėje palaikymą.
- nohotplug
-
Įkrovos metu pasyvina „hotplug“ ir „coldplug“ paleidimo scenarijus. Naudinga
netinkamai veikiančio CD ar tvarkyklės derinimui (debugging).
- nokeymap
-
Pasyvina klavišų išdėstymo (keymap) pasirinkimą, naudojamą pasirinkti kitus
nei US klaviatūros išdėstymus.
- nolapic
-
Pasyvina vietinį APIC vienam procesoriui pritaikytuose branduoliuose.
- nosata
-
Pasyvina „Serial ATA“ modulių įkėlimą. Naudojama, jei jūsų sistemai kyla
problemų su SATA posisteme.
- nosmp
-
Pasyvina SMP („Symmetric Multiprocessing“) branduoliuose, kuriuose aktyvintas
SMP. Naudinga kai kurių tvarkyklių ir pagrindinių plokščių problemų,
susijusių su SMP, derinimui.
- nosound
-
Pasyvina garso palaikymą ir garsio (volume) nustatymą. Naudinga sistemoms,
kuriose garso palaikymas kelia problemų.
- nousb
-
Pasyvina automatinį USB modulių įkėlimą. Naudinga problemų, susijusių su USB,
derinimui.
- slowusb
-
Įkrovos proceso metu prideda kelias papildomas pauzes lėtiems USB CDROM
įrenginiams, tokiems kaip IBM BladeCenter.
Tomų/Įrenginių valdymas:
- doevms
-
Aktyvina „IMB's pluggable EVMS (Enterprise Volume Management System)“
palaikymą. Nesaugu naudoti kartu su „lvm“.
- dolvm
-
Akyvina Linux loginių tomų valdymą (Logical Volume Management). Nesaugu
naudoti kartu su „evms“.
Kiti parametrai:
- debug
-
Aktyvina derinimo kodą. Išvestis gali pasidaryti netvarkinga, kadangi ekrane
parodoma labai daug informacijos.
- docache
-
Įkelia visą vykdymo laiko kompaktinio disko dalį į operatyviąją atmintinę.
Tai leidžia jums atjungti /mnt/cdrom ir prijungti kitą kompaktinį diską.
Šiam parametrui reikia, kad turėtumėte mažiausiai dvigubai talpesnę
nei kompaktinio disko dydis operatyviąją atmintinę.
- doload=X
-
Priverčia „initial ramdisk“ įkelti visus išvardintus modulius bei jų
priklausomybes. Pakeiskite „X“ modulio pavadinimu.
Keli moduliai gali būti pateikti atskiriant juos kableliu.
- dosshd
-
Įkrovos metu paleidžia „sshd“ tarnybą, naudingą nuotoliniams diegimams.
- passwd=foo
-
Nustato pagrindinį (roo) slaptažodį į užrašą po lygybės ženklo. To reikia,
nurodant „dosshd“ parametrą, kadangi pagrindinis (root) slaptažodis
užšifruojamas.
- noload=X
-
Priverčia „initial ramdisk“ praleisti nurodyto modulio, kuris galbūt kelia
problemų, įkėlimą. Sintaksė tokia pati, kaip ir parametro „doload“.
- nonfs
-
Pasyvina „portmap“/„nsfmount“ paleidimą įkrovos metu.
- nox
-
Priverčia LiveCD, kuriame aktyvinta „X“ grafinė aplinka, ne automatiškai
paleisti „X“, o vietoje to palikti komandinę eilutę.
- scandelay
-
Priverčia kompaktinį diską padaryti 10 sekundžių pauzes po kai kurių įkrovos
proceso dalių, kad leistų lėtesniems įrenginiams inicijuotis ir pasiruošti
naudojimui.
- scandelay=X
-
Leidžia sekundėmis nurodyti delsimą po kei kurių įkrovos proceso dalių, kad
lėtesniems įrenginiams būtų leista inicijuotis ir pasiruošti naudojimui.
Pakeiskite „X“ pauzės trukmės (sekundėmis) skaičiumi.
Pastaba:
Kompaktinis diskas į „no*“ parinktis atsižvelgs pirmiau nei į „do*“ parinktis,
taigi jūs galite perrašyti bet kurią parinktį, nurodydami jas tikslia tvarka.
|
Dabar įkelkite savo CD, pasirinkite branduolį (jei jūs nesate patenkinti
numatytuoju gentoo branduoliu) ir įkėlos parinktis. Pavyzdžiui, mes
parodysime jums kaip įkelti gentoo branduolį su dopcmcia kaip
branduolio parametrais:
Kodo sąrašas 3.3: Diegimo CD įkėla |
boot: gentoo dopcmcia
|
Tada jūs būsite pasveikinti įkėlos ekranu ir pažangos juosta. Jei diegiate
„Gentoo“ sistemoje su ne US klaviatūra, įsitikinkite, kad tuojau pat paspaudėte
Alt-F1, kad persijungtumėte į išplėstinę veikseną ir sekite nurodymus. Jeigu
per 10 sekundžių nieko nepasirenkama, bus priimta numatytoji (US) klaviatūra,
ir įkėlos procesas tęsis toliau. Kai tik bus užbaigtas įkėlos procesas, būsite
automatiškai prijungti prie „Live“ „Gentoo Linux“ kaip „root“, pagrindinis
naudotojas. Jūs turėtumėte turėti root („#“) raginimą einamajame pulte, taip
pat galite persijungti į kitus pultus, spausdami Alt-F2, Alt-F3 ir Alt-F4.
Grįžkite į tą, nuo kurio pradėjote, paspausdami Alt-F1.
Dabar tęskite su skyriumi „Papildomas aparatinės įrangos
konfigūravimas“
Papildomas aparatinės įrangos konfigūravimas
Diegimo kompaktinio disko paleidimo metu, jis bando aptikti visus jūsų
aparatinius įtaisus ir įkelia tinkamus branduolio modulius jūsų aparatinės
įrangos palaikymui. Daugeliu atvejų, jis padaro labai gerą darbą. Tačiau, kai
kuriais atvejais, jis gali automatiškai neįkelti jums reikiamų branduolio
modulių. Jei automatinis PCI aptikimas praleido kokią nors jūsų sistemos
aparatinę įrangą, jūs turėsite įkelti tinkamus branduolio modulius rankiniu
būdu.
Kitame pavyzdyje mes mėginame įkelti 8139too modulį (tam tikrų rūšių
tinklo sąsajų palaikymui):
Kodo sąrašas 3.4: Branduolio modulių įkėlimas |
# modprobe 8139too
|
Pasirinktina: naudotojų paskyros
Jei jūs planuojate duoti prieigą prie savo diegimo aplinkos kitiems žmonėms,
arba norite bendrauti internetu, naudodami irssi, be pagrindinio
naudotojo privilegijų (saugumo pagrindais), turite sukurti reikiamas naudotojų
paskyras ir pakeisti pagrindinio narotojo (root) slaptažodį.
Pagrindinio naudotojo (root) slaptažodžio pakeitimui naudokite paslaugų
programą passwd:
Kodo sąrašas 3.5: Pagrindinio naudotojo (root) slaptažodžio keitimas |
# passwd
New password:
Re-enter password:
|
Naudotojo paskyros sukūrimui pirmiausia įvedame jo duomenis, po to jo
slaptažodį. Šioms užduotims naudojame useradd ir passwd. Kitame
pavyzdyje mes sukuriame naudotoją, vardu "jonas".
Kodo sąrašas 3.6: Narotojo paskyros sukūrimas |
# useradd -m -G users jonas
# passwd jonas
New password:
Re-enter password:
|
Jūs galite pasikeisti savo naudotojo identifikatorių iš root į naujai sukurto
naudotojo, naudodami su:
Kodo sąrašas 3.7: Naudotojo identifikatoriaus keitimas |
# su - jonas
|
Pasirinktina: dokumentacijos peržiūra diegimo metu
Jei jūs norite žiūrėti „Gentoo“ vadovą (ar iš kompaktinio disko, ar internetu)
diegimo metu, įsitikite, kad jūs sukūrėte nartotojo paskyrą (žiūrėkite Pasirinktina: naudotojų Paskyros). Tada paspauskite
Alt-F2, kad patektumėte į naują terminalą, ir prisijunkite.
Jeigu norite žiūrėti dokumentaciją kompaktiniame diske, jos skaitymui galite
tuojau pat paleisti lynx:
Kodo sąrašas 3.8: Dokumentacijos kompaktiniame diske peržiūra |
# lynx /mnt/cdrom/docs/html/index.html
|
Tačiau pageidaujama, kad jūs naudotumėte „Gentoo“ vadovo internetinį variantą,
kadangi jis bus naujesnis negu pateiktasis kompaktiniame diske. Jūs jį galite
žiūrėti taip pat naudodami lynx, bet tik po skyriaus Jūsų tinklo
konfigūravimas užbaigimo (kitaip negalėsite prisijungti prie interneto, kad
pažiūrėtumėte dokumentą):
Kodo sąrašas 3.9: Dokumentacijos internete peržiūra |
# lynx http://www.gentoo.org/doc/en/handbook/handbook-x86.xml
|
Galite grįžti į savo pradinį terminalą paspausdami Alt-F1.
Pasirinktina: SSH tarnybos paleidimas
Jei jūs norite „Gentoo“ diegimo metu duoti kitiems naudotojams prieigą prie
jūsų kompiuterio (galbūt todėl, kad tie naudotojai padės jums diegti „Gentoo“
ar net darys tai už jus), turite sukurti jiems vartotojo paskyrą ir galbūt
net pateikti jiems jūsų pagrindinio naudotojo (root) slaptažodį (darykite tai
tiktai jeigu jūs visiškai pasitikite tuo naudotoju).
Kad paleistumėte SSH tarnybą, įvykdykite šią komandą:
Kodo sąrašas 3.10: SSH tarnybos paleidimas |
# /etc/init.d/sshd start
|
Kad galėtumėte naudoti sshd, pirmiausia turite sukonfigūruoti savo tinklą.
Tęskite su skyriumi Jūsų tinklo
konfigūravimas.
3. Jūsų tinklo konfigūravimas
3.a. Automatinis tinklo aptikimas
Gal jis jau veikia?
Jei jūsų kompiuteris yra prijungtas prie Ethernet tinklo, kuriame dirba DHCP
tarnybinė stotis, tai labai tikėtina, kad jūsų kompiuterio tinklo nuostatos jau
yra suderintos automatiškai. Jei tinklas jau veikia, tai jūs galite naudotis
daugeliu diegimo CD disko komandų, kurioms reikalingas tinklo ryšys. Tai būtų
ssh, scp, ping, irssi, wget ir links,
ir kitos programos.
Jei tinklo nuostatos jau yra suderintos, tai komanda /sbin/ifconfig
ekrane turėtų parodyti ne tik lo bet ir papildomų tinklo sąsajų, tokių, kaip
eth0, sąrašą bei jų parametrus:
Kodo sąrašas 1.1: /sbin/ifconfig komandos rezultatas, suderinus tinklo nuostatas |
# /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
|
Papildomai: nurodykite tarpinės tarnybinės stoties nuostatas
Jei interneto paslauga jums teikiama per tarpinę tarnybinę stotį (proxy), tai
diegimo metu jums gali tekti nurodyti tarpinės tarnybinės stoties nuostatas.
Tai nėra sudėtinga, jums tereikia nustatyti sistemos kintamąjį, kuriame būtų
saugoma tarpinės tarnybinės stoties informacija.
Daugeliu atvejų pakanka tiesiog aprašyti kintamąjį, naudojant tarnybinės
stoties adresą. Tarkime tūsų tarpinės tarnybinės stoties adresas yra
proxy.gentoo.org, o darbinė jungtis 8080.
Kodo sąrašas 1.2: Tarpinių tarnybinių stočių aprašymas |
# export http_proxy="http://proxy.gentoo.org:8080"
# export ftp_proxy="ftp://proxy.gentoo.org:8080"
# export RSYNC_PROXY="proxy.gentoo.org:8080"
|
Jei tarnybinei stočiai būtina nurodyti vartoto vardą ir slaptažodį, tai
kintamąjį būtina aprašyti tokiu būdu:
Kodo sąrašas 1.3: Vartotojo vardo ir slapražodžio nurodymas tarpinės tarnybinės stoties kintamajam |
http://vartotojas:slaptazodis@proxy.gentoo.org:8080
|
Tinklo nuostatų patikrinimas
Norėdami patikrinti ar veikia tinklo ryšys - pabandykite pasinaudoti komanda
ping. Jei ši programa gali susisiekti su jūsų interneto paslaugų tiekėjo
DNS tarnybine stotimi (nurodyta /etc/resolv.conf rinkmenoje) ir
kokia nors jums žinoma interneto svetaine, tai jūsų kompiuterio tinklo
nuostatos yra teisingos ir jis gali jungtis prie Interneto.
Kodo sąrašas 1.4: Tolesnis tinklo ryšio patikrinimas |
# ping -c 3 www.gentoo.org
|
Jei jau galite naudotis interneto ryšiu, tai galite praleisti tolesnį skyrių ir
pereiti prie skyriaus Diskinių kaupiklių
paruošimas. Jei tinklas neveikia - skaitykite toliau.
3.b. Automatinis tinklo konfigūravimas
Jei tinklas savaime nepradėjo veikti, tai galite pasitelkti kai kuriuose
diegimo diskuose pateikiamus tinklo derinimo įrankius: net-setup
(bevieliams arba įprastiems tinklams), adsl-setup (ADSL paslaugų
vartotojams) arba pptp (PPTP paslaugų vartotojams - turimas x86, amd64,
alpha, ppc ir ppc64 architektūroms).
Jei jūsų turimame diegimo diske nėra nei vieno iš šių įrankių ar tinklo ryšio
vis dar nepavyko suderinti atverskite skyrių Rankinis
tinklo derinimas.
Numatyta: pasitelkti net-setup
Paprasčiausias būdas suderinti tinklo ryšį, jei jis nebuvo suderintas
automatiškai - sužadinti net-setup pusprogramį:
Kodo sąrašas 2.1: Pusprogramio net-setup sužadinimas |
# net-setup eth0
|
Sužadintas net-setup pusprogramis pateiks jums keletą klausimų apie
jūsų tinklo ryšius. Pusprogramiui baigus darbą jūs turėtumėte turėti veikiantį
tinklo ryšį. Norėdami tuo įsitikinti - pakartokite anksčiau aprašytus tinklo
bandymus. Jei testų rezultatai bus teigiami - sveikiname! Jūsų kompiuteris yra
parengtas „Gentoo“ diegimui. Galite praleisti likusį skyriaus dalį ir pereiti
prie skyriaus Diskinių kaupiklių
paruošimas.
Jei jūsų tinklo ryšys vis dar neveikia, tęskite, skaitydami skyrių Rankinis tinklo derinimas.
Alternatyva: naudoti PPP
Numačius, kad prisijungimui prie interneto gali reikėti PPPoE paslaugos, į
diegimo CD diskus (visoms sistemoms) buvo įtrauktas ppp ryšio paketas.
Norėdami suderinti ryšį sužadinkite pppoe-setup scenarijų. Pastarasis
paprašys nurodyti „Ethernet“ tinklo sąjają, kuri yra prijungta prie ADSL
modemo, jūsų naudotojo vardą bei slaptažodį, DNS tarnybinių stočių IP adresus
ir pasiteiraus ar norite aktyvuoti bazinę interneto užkardą ar ne.
Kodo sąrašas 2.2: ppp naudojimas |
# pppoe-setup
# pppoe-start
|
Jei ryšys neveikia - atidžiai patikrinkite ir įsitikinkite, kad teisingai
įvedėte vartotojo vardą ir slaptažodį. Šią informaciją rastite
/etc/ppp/pap-secrets arba /etc/ppp/chap-secrets
rinkmenose. Taip pat įsitikinkite, kad nurodėte teisingą tinklo sąsają. Jei
jūsų tinklo sąsajos įranginys neegzistuoja - įkraukite reikiamus tinklo
įrangos modulius. Tokiu atveju atverkite skyrių Rankinis
tinklo derinimas, kuriame aiškinama, kaip įkrauti reikiamus tinklo
posistemio modulius.
Jei ryšys veikia gerai, tęskite atvėrę skyrių Diskinių kaupiklių paruošimas.
Alternatyva: Naudoti PPTP
Jei jums reikia PPTP ryšio - jūs galite pasitelkti pptpclient programą,
kurią rasite diegimo CD diske. Tačiau prieš sužadindami programą, įsitikinkite,
kad jūsų kompiuterio konfigūracija yra teisinga. Pataisykite
/etc/ppp/pap-secrets arba /etc/ppp/chap-secrets
ir įrašykite į juos teisingą vartotojo vardo bei slaptažodžio derinį:
Kodo sąrašas 2.3: Rinkmenos /etc/ppp/chap-secrets redagavimas |
# nano -w /etc/ppp/chap-secrets
|
Vėliau, jei reikia, pataisykite rinkmeną /etc/ppp/options.pptp:
Kodo sąrašas 2.4: Rinkmenos /etc/ppp/options.pptp redagavimas |
# nano -w /etc/ppp/options.pptp
|
Pabaigę derinimą tiesiog sužadinkite pptp (kartu nurodydami parametrus,
kurių negalima nustatyti rinkmenoje options.pptp) tam, kad
prisijungtumėte prie tarnybinės stoties:
Kodo sąrašas 2.5: Prisijungimas prie dial-in tarnybinės stoties |
# pptp <server ip>
|
Toliau atverskite skyrių Diskinių kaupiklių
paruošimas.
3.c. Rankinis tinklo derinimas
Reikiamų tinklo modulių įkrovimas.
Įkraunant kompiuterį iš diegimo CD disko, automatiškai yra bandoma aptikti visą
kompiuterio įrangą ir įkrauti jai reikiamus branduolio modulius. Dažniausiai
tai pavyksta, tačiau ne visuomet. Tokiu atveju jums trūkstamus branduolio
modulius teks įkrauti patiems.
Jei net-setup ar pppoe-setup pusprogramiams nepavyko suderinti
tinklo ryšio, tai labai tikėtina, kad šios programos paprasčiausiai nesugebėjo
aptikti tinklo sąsajos. Tokiu atveju tinklo plokštės branduolio modulius teks
įkrauti patiems.
Norėdami sužinoti kokie tinklo posistemio branduolio moduliai pateikiami
diegimo CD diske pasitelkite komandą ls:
Kodo sąrašas 3.1: Pateikiamų modulių sąrašo gavimas |
# ls /lib/modules/`uname -r`/kernel/drivers/net
|
Jei surandate tvarkyklę, tinkankčią jūsų tinklo prokštei, pasitelkite
modprobe programą, kuri įkraus reikiamą branduolio modulį:
Kodo sąrašas 3.2: Branduolio modulio įkrovimas modprobe programa |
# modprobe pcnet32
|
Norėdami patikrinti, ar jūsų tinklo plokštė jau yra atpažinta, pasitelkite
ifconfig komandą. Atpažinta tinklo plokštė turėtų būti parodyta maždaug
taip:
Kodo sąrašas 3.3: Sėkmingas tinklo plokštės atpažinimas |
# 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)
|
Tačiau, jei ekrane matote tokią klaidą, tinklo plokštės atpažinti nepavyko:
Kodo sąrašas 3.4: Nesėkmingas tinklo plokštės atpažinimas |
# ifconfig eth0
eth0: error fetching interface information: Device not found
|
Jei kompiuteryje yra keletas tinklo plokščių, jos bus vadinamos eth0,
eth1 ir t.t. Įsitikinkite, kad tinklo plokštė, kuria norėsite naudotis
tikrai veikia ir nepamirškite naudoti būtent jos pavadinimą. Pavyzdžiuose
laikysime, kad planuojama naudoti pirmąją, t.y. eth0 tinklo plokštę.
Tarę, kad jums pavyko atpažinti savo kompiuterio tinklo plokštę, jūs galite
pakartoti nuostatų derinimą, pasitelkdami net-setup ar pppoe-setup
(pastarosios programos dabar jau turėtų veikti). Na, o užsispyrusiems toliau
aiškinsime, kaip suderinti tinklo sąsajas rankiniu būdu.
Pasirinkite vieną iš tolimesnių skyrių, atitinkantį jūsų tinklo tipą:
Naudoti DHCP
DHCP (Dynamic Host Configuration Protocol) technologija leidžia automatiškai
gauti visą tinklo informaciją (IP adresą, tinklo kaukę, transliacijos,
kelvedžio, vardų tarnybinės stoties adresus ir t.t.). Ši sistema veikia tik
tuomet, kai jūsų tinkle veikia DHCP tarnybinė stotis ar jūsų interneto
paslaugų teikėjas pateikia DHCP paslaugą. Norėdami, kad tinklo plokštės būtų
autoamatiškai suderintos, pasitelkite dhcpcd:
Kodo sąrašas 3.5: Naudoti dhcpcd |
# dhcpcd eth0
# dhcpcd -HD eth0
|
Jei suderinti pavyko (pabandykite sužadinti ping komandą, nurodydami kokią
nors interneto tarnybinę stotį, pavyzdžiuiGoogle), tai tinklas yra suderintas, todėl
galite praleisti likusią skyriaus dalį ir tęsti diegimą atvėrę skyrių Diskinių kaupiklių paruošimas.
Bevielio ryšio tinklo suderinimas
Pastaba:
Bevielio tinklo derinimo programa iwconfig yra įtraukta tik į x86, amd64
ir ppc diegimo CD diskus. Norėdami, galite suderinti bevielio ryšio tinklą ir
kitose sistemose. Derinimo instrukcijas rasite linux-wlan-ng
projekto dokumentuose.
|
Jei jūs naudojate įprastą bevielio tinklo plokštę (802.11), tai jums
greičiausiai prireiks pirmiausia suderinti bevielio ryšio nuostatas, iki jūs
galėsite derinti kitas. Norėdami pamatyti esamas bevielio ryšio tinklo
plokštės nuostatas pasitelkite iwconfig. Sužadinę iwconfig jūs
galite pamatyti maždaug tokį vaizdą:
Kodo sąrašas 3.6: Esami bevielio ryšio tinklo sąsajos parametrai |
# iwconfig eth0
eth0 IEEE 802.11-DS ESSID:"GentooNode"
Mode:Managed Frequency:2.442GHz Access Point: 00:09:5B:11:CC:F2
Bit Rate:11Mb/s Tx-Power=20 dBm Sensitivity=0/65535
Retry limit:16 RTS thr:off Fragment thr:off
Power Management:off
Link Quality:25/10 Signal level:-51 dBm Noise level:-102 dBm
Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx
excessive retries:237 Invalid misc:350282 Missed beacon:84
|
Pastaba:
Kai kurios bevielio ryšio tinklo plokštės gali vadintis ne eth0, o
wlan0 ar ra0. Sužadinę iwconfig programą be jokių
parametrų pamatysite jūsų bevielio ryšio sąsajos pavadinimą.
|
Daugeliui vartotojų tėra tik du parametrai, kuriuos gali prireikti pakeisti.
Tai ESSID (dar žinomas, kaip bevielio tinklo vardas) arba WEP raktas. Jei
paminėti ESSID ir prieigos taško (Access point) adresas priklauso jūsų
prieigos stotelei ir jūs nenaudojate WEP, tai jūsų bevielis tinklo ryšys jau
veikia. Jei jums reikia pakeisti ESSID ar pridėti WEP kodavimo raktą, jūs
galite pasitelkti šias komandas:
Pastaba:
Jeigu jūsų bevielis tinklas veikia su WPA ar WPA2, jums reikės naudoti
wpa_supplicant. Daugiau informacijos apie bevielio tinklo konfigūravimą
„Gentoo Linux“ galite rasti „Gentoo“ vadovo skyriuje „Bevielis tinklas“.
|
Kodo sąrašas 3.7: ESSID ir/arba WEP raktų įrašymas |
# iwconfig eth0 essid GentooNode
# iwconfig eth0 key 1234123412341234abcd
# iwconfig eth0 key s:some-password
|
Norėdami pamatyti bevielio tinklo nuostatas pakartotinai sužadinkite
iwconfig programą. Suderinę bevielio tinklo ryšį galite pereiti prie IP
lygio tinklo nuostatų derinimo, kurios aprašomos tolimesniame skyriuje,
(Tinklo terminologijos aiškinimas) arba
pasitelkite seniau paminėtą net-setup įrankį.
Tinklo terminologijos aiškinimas
Pastaba:
Jei jūs žinote savo kompiuterio IP adresą, transliavimo adresą, tinklo kaukę ir
vardų tarnybinės stoties adresus, tai galite praleisti šį poskyrį ir pereiti
prie skyriaus Naudoti ifconfig ir route.
|
Jei anksčiau paminėtais būdais nepavyko suderinti tinklo ryšio - jums teks
suderinti jūsų tinklo ryši patiems. Tai nėra sunku, tačiau pirmiausia jums
reikės susipažinti su kompiuterinių tinklų terminologija. Šių žinių jums
prireiks, kad galėtumėte sėkmingai suderinti savo tinklo ryšį. Perskaitę šį
poskyrį jūs žinosite kas yra kelvedis (gateway), kam
reikalinga tinklo kaukė (netmask), kaip suformuojamas
transliavimo (broadcast) adresas ir kam reikalinga vardų
tarnybinė stotis (nameserver).
Tinkle kiekvienas kompiuteris atpažįstamas pagal jo IP adresą
(Internetinio Protokolo adresą). Šis adresas, tai 4 skaičių nuo 0 iki 255
kombinacija. Na, bent jau taip ji pateikiama žmonėms. Kompiuteriuose šis
adresas sudarytas iš 32 bitų (vienetų ir nulių). Štai pavyzdys:
Kodo sąrašas 3.8: IP adreso pavyzdys |
IP Adresas (skaičiai): 192.168.0.2
IP Adresas (bitai): 11000000 10101000 00000000 00000010
-------- -------- -------- --------
192 168 0 2
|
Toks IP adresas yra unikalus kiekvienam kompiuteriui, visame tam
kompiuteriui prieinamame tinkle. Tai reiškia, kad kiekvienas kompiuteris,
prie kurio jūs galite prisijungti turi turėti unikalų IP adresą. Tam, kad
atskirti kompiuterius tinklo viduryje ir išorėje - IP adresas yra padalintas į
dvi dalis: tinklo ir kompiuterio.
Adresas suskaidomas pasitelkus tinklo kaukę, kuri sudaryta iš vienetų
ir nulių sekos. Ta IP adreso dalis, kurią atitinka tinklo kaukės vienetai yra
tinklo dalis, o likusi kompiuterio. Kaip ir IP adresas - tinklo kaukė, taip
pat gali būti užrašyta skaičių kombinacija.
Kodo sąrašas 3.9: Tinklo/kompiuterio adreso atskyrimo pavyzdys |
IP adresas: 192 168 0 2
11000000 10101000 00000000 00000010
Tinklo kaukė: 11111111 11111111 11111111 00000000
255 255 255 0
+--------------------------+--------+
Tinklas Kompiuteris
|
Kitaip tariant 192.168.0.14 adresas taip pat priklauso šiam tinklui, tačiau
192.168.1.2 jau yra kito tinklo adresas.
Transliavimo adresas tai IP adresas, kurio tinklo dalis atitinka jūsų
tinklo adresą, o kompiuterio dalis užpildyta vienetais. Kiekvienas jūsų tinklo
įrenginys laukia duomenų, ateinančių šiam adresui. Tai iš tiesų yra viešios
transliacijos adresas.
Kodo sąrašas 3.10: Transliacijos adresas |
IP adresas: 192 168 0 2
11000000 10101000 00000000 00000010
Transliacijos: 11000000 10101000 00000000 11111111
192 168 0 255
+--------------------------+--------+
Tinklas Kompiuteris
|
Tam, kad galėtumėte naršyti internete - jums reikia žinoti koks kompiuteris
dalina interneto ryšį. Šis tinklo įrenginys vadinamas kelvedžiu.
Jis niekuo nesiskiria nuo kitų tinklo įrenginių ir jam suteikiamas įprastas IP
adresas (pavyzdžiui 192.168.0.1).
Kaip jau minėjome kiekvienas tinklo kompiuteris turi turtėti savo IP adresą.
Tam, kad kompiuterį galėtumėte pasiekti lengviau įsimenamu vardu, o ne IP
adresu jums reikalinga paslauga, kuri pagal nurodytą vardą (pavyzdžiui
dev.gentoo.org) pateikia jį atitinkantį IP adresą (pavyzdžiui
64.5.62.82). Tokia paslauga vadinama vardų paslauga ir norėdami ja
pasinaudoti - turite nurodyti reikiamas vardų tarnybines stotis
/etc/rosolv.conf rinkmenoje.
Kartais tinklo kelvedis taip pat veikia ir kaip vardų tarnybinė stotis,
priešingu atveju jūs turėsite nurodyti vardų tarnybines stotis, kurias pateikia
jūsų interneto paslaugų teikėjas.
Apibendrinant, norėdami tęsti tinklo derinimą - jūs turite žinoti šią
informaciją:
| Tinklo komponentas |
Pavyzdys |
| Jūsų IP adresas |
192.168.0.2 |
| Tinklo kaukė |
255.255.255.0 |
| Transliavimo adresas |
192.168.0.255 |
| Kelvedis |
192.168.0.1 |
| Vardų tarnybinė(s) stotis(ys) |
195.130.130.5, 195.130.130.133 |
Naudoti ifconfig ir route
Tinklo suderinimas susideda iš trijų etapų. Pirmiausia, pasitelkus
ifconfig, kompiuteriui suteikiamas IP adresas. Po to nustatomas duomenų
kelias iki kelvedžio route pagalba. Galiausiai derinimas pabaigiamas į
/etc/resolv.conf rinkmeną įrašant jūsų vardų tarnybinių stočių
IP adresus.
Norint tinklo plokštei priskirti IP adresą, jums reikės nurodyti IP adresą,
tinklo kaukę ir transliacijos adresą. Tai žinodami sužadinkite žemiau
pateikiamą komandą pakeisdami ${IP_ADDR} jūsų IP adresu,
${BROADCAST} jūsų transliacijos adresu ir ${NETMASK} jūsų tinklo
kauke:
Kodo sąrašas 3.11: Naudoti ifconfig |
# ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
|
Dabar suderinkite duomenų maršrutą naudodami route. Pakeiskite
${GATEWAY} jūsų tinklo kelvedžio IP adresu:
Kodo sąrašas 3.12: Naudoti route |
# route add default gw ${GATEWAY}
|
Atverkite /etc/resolv.conf jūsų mėgiama tekstų rengykle (pavyzdyje
naudosime nano):
Kodo sąrašas 3.13: Rinkmenos /etc/resolv.conf sukūrimas |
# nano -w /etc/resolv.conf
|
Rinkmenoje įrašykite jūsų vardų tarnybinę stotį ar stotis, pasinaudodami
pavyzdžiu, kaip šablonu. Pildydami rinkmenos turinį pakeiskite
${NAMESERVER1} ir ${NAMESERVER2} jūsų naudojamų vardų
tarnybinių stočių adresais:
Kodo sąrašas 3.14: /etc/resolv.conf šablonas |
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}
|
Viskas. Belieka patikrinti tinklo ryšį, sužadinus ping komandą ir nurodžius
kokią nors interneto tarnybinę stotį (pavyzdžiui
Google). Jei komanda sulaukia atsako -
sveikiname, jūs galite diegti „Gentoo“. Tęskite, atvėrę skyrių Diskinių kaupiklių paruošimas.
4. Diskų paruošimas
4.a. Įvadas į blokinius įrenginius
Blokiniai įrenginiai
Pirmiausiai apžvelgsime „Gentoo Linux“ bei bendruosius „Linux“ sistemų diskinių
įrenginių aspektus, įskaitant ir „Linux“ rinkmenų sistemas, skirsnius bei
blokinius įrenginius. Susipažinę su diskais bei rinkmenų sistemomis bei jų
ypatybėmis, galėsite tęsti „Gentoo Linux“ diegimą, sukurdami būsimosios jūsų
sistemos skirsnius bei rinkmenų sistemas.
Pradžiai susipažinkime su blokiniais įrenginiais. Turbūt dažniausiai
sutinkamas blokinis įrenginys yra pirmąjį IDE diskinį kaupiklį įvardijantis
įrenginys: /dev/sda. Naudojant naują libata technologiją ir SCSI,
ir Serial ATA diskai yra vadinami /dev/sd*; net IDE diskai pagal
naują libata technologiją įvardijami /dev/sd*. Jeigu naudojate
seną technologiją, jūsų pirmasis IDE diskas yra /dev/hda.
Blokiniai įrenginiai pateikia abstrakčią fizinio diskinio kaupiklio sąsają.
Vartotojo programos gali kreiptis į diskinį kaupiklį, nesigilindamos nei į jo
tipą (IDE, SCSI), nei į kitus galimus ypatumus. Programai diskinis kaupiklis
pateikiamas kaip vienas masyvas, sudarytas iš laisvai adresuojamų 512 baitų
dydžio blokų.
Skirsniai
Nors teoriškai „Linux“ sistema gali naudoti visą jūsų kompiuterio diską, tačiau
beveik niekada to nėra daroma. Vietoje to, vienas blokinis įrenginys yra
suskaidomas į keletą mažesnių ir lengviau apdorojamų blokinių įrenginių, kurie
x86 architektūros kompiuteriuose yra vadinami disko
skirsniais.
Disko skirsniai yra skirstomi į tris tipus: pirminis, išplėstinis
ir loginis
Pirminis skirsnis yra tas skirsnis, kuris yra aprašomas pagrindiniame
įkrovos sektoriuje (MBR - „Master Boot Record“). Kadangi MBR yra labai mažas,
jam tėra paskirta tik 512 baitų, todėl jame galima aprašyti ne daugiau keturių
pirminių skirsnių (nuo /dev/sda1 iki /dev/sda4).
Išplėstinis skirsnis yra tam tikro tipo pirminis skirsnis (t.y. jis turi
būti vienas iš keturių pirminių skirsnių), kuriame gali būti sukuriami
papildomi skirsniai. Sudarant asmeninio kompiuterio disko skaidymo standartą
tokio skirsnio nebuvo numatyta, tačiau ilgainiui keturių disko skirsnių tapo
per mažai. Dėl šios priežasties buvo nuspręsta sukurti naują skirsnio tipą,
kuriame galima būtų sukurti papildomus skirsnius ir tuo pačiu neprarasti
suderinamumo su senesnėmis sistemomis.
Loginis skirsnis yra skirsnis, sukurtas išplėstinio skirsnio viduje. Šie
skirsniai aprašomi ne MBR sektoriuje, tačiau pačio skirsnio viduje.
Sudėtingesnės laikmenos
x86 architektūros diegimo kompaktiniai diskai yra suderinami su
EVMS ir LVM2 sistemomis. EVMS ir LVM2 leidžia padidinti skirsnių sudarymo
lankstumą. Nors diegimo nurodymuose daugiausia dėmesio yra skiriama įprastiems
skirsniams, tačiau tie, kuriems gali reikėti EVMS ir LVM2 sistemų, galės jomis
pasinaudoti.
4.b. Skirsnių schemos sudarymas
Įprastinis skaidymas skirsniais
Jei jūs nenorite sudaryti nuosavos skaidymo į skirsnius schemos, tai galite
naudotis šiame vadove pateikiama skaidymo schema:
| Skirsnis |
Rinkmenų sistema |
Dydis |
Aprašas |
| /dev/sda1 |
ext2 |
32M |
Įkrovos skirsnis |
| /dev/sda2 |
(swap) |
512M |
Virtualios atmintinės (Swap) skirsnis |
| /dev/sda3 |
ext3 |
Likusi disko dalis |
Pagrindinis sistemos (root) skirsnis |
Jei jus domina kokio dydžio ir kiek skirsnių reikia sukurti, tai skaitykite
toliau. Priešingu atveju tęskite diegimą, sudarydami kompiuterio disko
skirsnius, atvertę Disko skaidymas, naudojant fdisk.
Kiek daug ir kokių didelių?
Skirsnių skaičius labai priklauso nuo aplinkos, kurioje bus naudojamas
kompiuteris. Pavyzdžiui, jei kompiuteryje planuojate sukurti daug vartotojų,
tai norėdami padidinti saugumą ir palengvinti rezervinių kopijų darymą
greičiausiai kursite atskirą skirsnį /home katalogui. Jei naująją
„Gentoo“ sistemą planuojate naudoti kaip pašto tarnybinę stotį, tai
/var, kuriame yra saugomas visos pašto žinutės, turėtų būti
atskirame skirsnyje. Priežastis tokia pati, kaip ir /home atveju:
didesnis saugumas ir paprastesnis archyvavimas. Kurdami skirsnius
/usr tikrai paskirkite daug vietos, vien „Portage“ sistemos medis,
be papildomų išeities tekstų, užims daugiau nei 500 MB.
Kaip matote, disko vietos skaidymas labai priklauso nuo to, ką norite pasiekti.
Atskiri skirsniai ar tomai suteikia šiuos privalumus:
-
Kiekvienam skirsniui ar tomui galite pasirinkti geriausiai veikiančią
rinkmenų sistemą.
-
Visai sistemai nepritrūks disko vietos, jei kokia nors blogai veikianti
programa pradės be saiko rašyti duomenis į disko skirsnį ar tomą.
-
Jei reikia, rinkmenų sistemos patikrinimo laiką galima sumažinti, vienu metu
tikrinant keletą skirsnių. Tiesa, tikrinimo laikas labiau sutrumpėja,
naudojant keletą diskų, o ne keletą skirsnių.
-
Sistemos saugumas gali būti padidintas, dalį skirsnių ar tomų prijungiant tik
skaitymui (read-only), neleidžiant keisti vartotojo teisių (nosuid, setuid
atributai ignoruojami) ar uždraudžiant programų vykdymą iš šių rinkmenų
(noexec, vykdymo atributai ignoruojami) ir pan.
Tačiau skaidymas į skirsnius turi vieną didelį trūkumą: blogai suskaidžius gali
susidaryti situacija, kai viename skirsnyje bus daug laisvos vietos, o kitame
jos jau truks. Be to, reikia nepamiršti, kad SCSI ir SATA diskiniams
kaupikliams numatyta ne daugiau 15 skirsnių.
Žemiau pateiksime pavyzdinį 20 GB disko skaidymą į skirsnius. Šis kompiuteris
buvo naudojamas, kaip demonstracinis nešiojamasis kompiuteris, kuriame veikė
WWW, pašto tarnybos, naudojama GNOME vartotojo aplinka ir t.t.:
Kodo sąrašas 2.1: Rinkmenų sistemų naudojimo pavyzdys |
$ df -h
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext3 509M 132M 351M 28% /
/dev/sda2 ext3 5.0G 3.0G 1.8G 63% /home
/dev/sda7 ext3 7.9G 6.2G 1.3G 83% /usr
/dev/sda8 ext3 1011M 483M 477M 51% /opt
/dev/sda9 ext3 2.0G 607M 1.3G 32% /var
/dev/sda1 ext2 51M 17M 31M 36% /boot
/dev/sda6 swap 516M 12M 504M 2% <not mounted>
|
/usr skirsnis beveik pilnas (83% užimta), tačiau po to, kai yra
įdiegiama visa reikiama programinė įranga, duomenų kiekis /usr
skirsnyje taip nedidėja. Nors atrodytų, kad /var skirsniui
paskirti 2 GB disko vietos yra kiek per daug, tačiau nepamirškite, kad
„Portage“ sistema /var naudoja programų kompiliavimo metu. Jei
/var norite paskirti mažiau, tarkime 1 GB, tai jums teks pakeisti
PORTAGE_TMPDIR kintamojo reikšmę /etc/make.conf rinkmenoje
ir nurodyti skirsnį, turintį daug laisvos vietos. Jos tikrai prireiks
kompiliuojant ypač dideles programas, tokias kaip „OpenOffice“.
4.c. Disko skaidymas, naudojant fdisk
Žemiau paaiškinsime, kaip sudaryti anksčiau aprašytą pavyzdinį skaidymą į
skirsnius:
| Skirsnis |
Aprašas |
| /dev/sda1 |
Įkrovos skirsnis |
| /dev/sda2 |
Virtualios atmintinės (Swap) skirsnis |
| /dev/sda3 |
Pagrindinis (Root) skirsnis |
Pakeiskite skaidymą į skirsnius pagal jūsų poreikius.
Peržiūrėti dabartinį skaidymą į skirsnius
fdisk yra populiarus ir daug galimybių suteikiantis disko skaidymo
įrankis. Sužadinkite fdisk jūsų pasirinktam diskui (pavyzdyje naudosime
/dev/sda):
Kodo sąrašas 3.1: fdisk sužadinimas |
# fdisk /dev/sda
|
Sužadinus fdisk, jus pasitiks maždaug tokia komandinė eilutė:
Kodo sąrašas 3.2: fdisk komandinė eilutė |
Command (m for help):
|
Parašykite komandą p, kad pamatytumėte esamą skirsnių lentelę:
Kodo sąrašas 3.3: Pavyzdinis disko skaidinys |
Command (m for help): p
Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 14 105808+ 83 Linux
/dev/sda2 15 49 264600 82 Linux swap
/dev/sda3 50 70 158760 83 Linux
/dev/sda4 71 2184 15981840 5 Extended
/dev/sda5 71 209 1050808+ 83 Linux
/dev/sda6 210 348 1050808+ 83 Linux
/dev/sda7 349 626 2101648+ 83 Linux
/dev/sda8 627 904 2101648+ 83 Linux
/dev/sda9 905 2184 9676768+ 83 Linux
Command (m for help):
|
Pavyzdyje aprašomame diske yra sukurti septyni skirsniai su „Linux“ rinkmenų
sistemomis (žymimomis „Linux“) ir vienas virtualiosios atmintinės skirsnis
(pažymėtas „Linux swap“).
Skirsnių šalinimas
Pirmiausia pašalinkime visus disko skirsnius. Skirsnio pašalinimui surinkite
komandą d. Pavyzdžiui /dev/sda1 ištrynimui:
Kodo sąrašas 3.4: Skirsnio šalinimas |
Command (m for help): d
Partition number (1-4): 1
|
Įvykdžius šią komandą, skirsnis yra pažymimas šalinimui. Nors jis dar nėra
pašalintas, tačiau skirsnių lentelėje (iškviečiamoje komanda p) jis jau
nebebus rodomas. Skirsniai bus pašalinti, tik įrašius visus skirsnių lentelės
pakeitimus į diską. Taigi suklydę ir pašalinę ne tą skirsnį, kurį norėjote,
galite nutraukti skaidymą, neišsaugodami pakeitimų. Tiesiog surinkite komandą
q ir spauskite „Enter“.
Norėdami iš tiesų pašalinti visus skirsnius, nuosekliai peržiūrėkite skirsnių
lentelę, surinkdami p ir šalindami reikiamus skirsnius, rinkdami komandą
d ir nurodydami likusio skirsnio numerį. Galiausiai turėtų likti tuščia
skirsnių lentelė:
Kodo sąrašas 3.5: Tuščia skirsnių lentelė |
Disk /dev/sda: 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):
|
Taigi, turėdami vis dar atmintyje saugomą tuščią skirsnių lentelę, jau esame
pasiruošę sukurti naujus skirsnius. Pavyzdyje naudosime anksčiau minėtą
skirsnbių lentelę, todėl, jei nenorite lygiai tokio pat skaidinio, nesekite šių
instrukcijų paraidžiui!
Įkrovos skirsnio sukūrimas
Pirmiausia sukursime mažą įkrovos skirsnį. Sukurkime naują skirsnį surinkę
komandą n ir komanda p nurodykime, kad tai turi būti pirminis
skirsnis. Tai turėtų būti pirmasis skirsnis, taigi vėliau spauskite 1.
Paprašius įvesti pirmojo cilindro numerį, tiesiog spauskite „Enter“. Paprašius
nurodyti paskutinio cilindro numerį, nurodykite +32M, taip pranešdami
programai, kad norite sukurti 32 MB dydžio skirsnį ir nustatykite jam
įkraunamojo vėliavėlę:
Kodo sąrašas 3.6: Įkrovos skirsnio sukūrimas |
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):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
|
Sukūrę naują skirsnį ir įvedę komandą p, turėtumėte matyti štai tokią
skirsnių lentelę:
Kodo sąrašas 3.7: Įkrovos skirsnis sukurtas |
Command (m for help): p
Disk /dev/sda: 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/sda1 1 14 105808+ 83 Linux
|
Šis skirsnis turi būti įkraunamasis. Norėdami perjungti aktyvaus skirsnio žymą,
surinkite komandą a ir nurodykite kurio skirsnio aktyvumo žymą norite
pakeisti. Mūsų atveju, tai 1. Surinkus komandą p dar kartą,
pamatysite, kad pirmasis skirsnis „Boot“ stulpelyje yra pažymėtas
*.
Virtualios atmintinės skirsnio kūrimas
Dabar sukurkime virtualiosios amtintinės skirsnį. Tam dar kartą surinkite
komandą n ir paspaudę p nurodykite, kad norite sukurti pirminį
skirsnį. Paspaudę 2, nurodykite, kad „fdisk“ sukurtų antrąjį pirminį
skirsnį. Mūsų atveju, tai /dev/sda2. Paprašius nurodyti pirmąjį
cilindrą tiesiog spauskite „Enter“, paprašius paskutiniojo, nurodykite
+512M, kad būtų sukurtas 512 MB dydžio skirsnis. Sukūrę naują skirsnį,
pakeiskite jo tipą, davę komandą t ir parašę 2 nurodykite, kad
reikia keisti antrojo pirminio skirsnio tipą. Paprašius nurodyti naują skirsnio
tipą, parašykite 82, tokiu būdu paversdami skirsnį į „Linux swap“ tipą.
Pabaigus šiuos žingsius, komanda p turėtų rodyti maždau tokią skirsnių
lentelę:
Kodo sąrašas 3.8: Skirsnių sarašas, sukūrus virtualios atmintinės skirsnį |
Command (m for help): p
Disk /dev/sda: 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/sda1 * 1 14 105808+ 83 Linux
/dev/sda2 15 81 506520 82 Linux swap
|
Pagrindinio (root) skirsnio kūrimas
Galiausiai sukurkime pagrindinį skirsnį. Tam komanda n sukurkite skirsnį
ir paspaudę p liepkite kurti pirminį skirsnį. Paspaudę 3
nurodykite, kad tai bus trečiasis pirminis skirsnis, šiuo atveju
/dev/sda3. Paprašius įvesti pirmąjį skirsnio cilindrą, spauskite
„Enter“. Paprašius nurodyti paskutinį skirsnio cilindrą, taip pat spauskite
„Enter“, taip sukursite skirsnį, užimantį visą likusią disko dalį. Sukūrus
visus skirsnius ir davus komandą p išspausdinti skirsnių lentelę,
turėtumėte pamatyti maždaug tokį vaizdą:
Kodo sąrašas 3.9: Skirsnių lentelė, sukūrus pagrindinį skirsnį |
Command (m for help): p
Disk /dev/sda: 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/sda1 * 1 14 105808+ 83 Linux
/dev/sda2 15 81 506520 82 Linux swap
/dev/sda3 82 3876 28690200 83 Linux
|
Disko skaidinio išsaugojimas
Norėdami išsaugoti disko skaidinį ir išeiti iš fdisk, surinkite komandą
w.
Kodo sąrašas 3.10: Išsaugoti ir išeiti iš „fdisk“ |
Command (m for help): w
|
Sukūrę skirsnius, galite tęsti diegimą, skaitydami skyrių Rinkmenų sistemų kūrimas skirsnyje.
4.d. Rinkmenų sistemų kūrimas
Įvadas
Sukurtuose skirsniuose dabar reikia sudaryti rinkmenų sistemas. Jei jums ne
itin rūpi, kokią rinkmenų sistemą rinktis, ir manote, kad jums tiks įprastinės
rinkmenų sistemos, siūlomos šiame vadove, tai galite tęsti diegimą, atvertę
Rinkmenų sistemos sūkurimas skirsnyje
skyrių. Jei norite daugiau sužinoti apie rinkmenų sistemas - skaitykite toliau.
Rinkmenų išdėstymo sistemos
„Linux“ branduolys palaiko įvairias rinkmenų išdėstymo sistemas. Mes
apžvelgsime ext2, ext3, ReiserFS, XFS ir JFS, nes jos yra „Linux“ sistemose
dažniausiai naudojamos rinkmenų išdėstymo sistemos.
ext2 yra laiko patikrinta „Linux“ sistema, tačiau joje nėra numatyta
galimybė vesti metaduomenų žurnalą. Tai reiškia, jog įkrovos metu vykdoma ext2
rinkmenų išdėstymo sistemos patikra gali užtrukti gana ilgai. Šiuo metu yra
sukurta ne viena naujesnė, įvykių žurnalą vedanti rinkmenų sistema, kuri gali
būti patikrinta žymiai greičiau, taigi ir labiau rekomenduotina nei įvykių
žurnalo nevedanti sistema. Tuo pačiu galima gerokai sutrumpinti kompiuterio
įkrovą, jei rinkmenų sistema buvo palikta neapibrėžtoje būsenoje.
ext3 yra žurnalinė ext2 rinkmenų išdėstymo sistemos versija, kurioje
numatytas metaduomenų žurnalas, leidžiantis greitą atkūrimą. Joje taip pat
numatyta galimybė vesti pilną arba nuoseklų duomenų žurnalą. Šioje rinkmenų
išdėstymo sistemoje naudojamas HTree principu sudaromas indeksas, leidžiantis
užtikrinti reikiamą rinkmenų išdėstymo sistemos spartą beveik visais atvejais.
Ext3 rinkmenų išdėstymo sistema rekomenduojama visoms platformoms, bet kokiai
paskirčiai.
JFS yra IBM sukurta didelio našumo žurnalinė rinkmenų išdėstymo sistema.
JFS yra lengva, greita ir patikima dvejetainio medžio (B+tree) struktūromis
paremta rinkmenų išdėstymo sistema, gerai veikianti įvairiomis sąlygomis.
ReiserFS yra dvejetainio medžio (B+tree) struktūromis paremta žurnalinė
rinkmenų išdėstymo sistema, visumoje pasižyminti geru veikimu, ypač kai dirbama
su daugybe mažų rinkmenų, tačiau didesniu centrinio procesoriaus ciklų kiekiu.
Atrodo, jog ReiserFS plėtojama mažiau nei kitos rinkmenų išdėstymo sistemos.
XFS yra žurnalinė rinkmenų išdėstymo sistema, vedanti metaduomenų
žurnalą, kurioje numatyta nemažai naudingų funkcijų. Ji gerai pritaikyta
sistemos poreikių augimui patenkinti. Atrodo, jog XFS yra mažiau atlaidi
įvairioms aparatinėms problemoms.
Rinkmenų sistemos sukūrimas skirsnyje
Rinkmenų sistemos sukūrimui skirsnyje ar disko tome yra po atskirą įrankį,
kiekvienai iš rinkmenų sistemų:
| Rinkmenų sistema |
Sukūrimo komanda |
| ext2 |
mke2fs |
| ext3 |
mke2fs -j |
| reiserfs |
mkreiserfs |
| xfs |
mkfs.xfs |
| jfs |
mkfs.jfs |
Pavyzdžiui, norėdami įkrovos skirsnyje (mūsų pavyzdyje /dev/sda1)
sudaryti ext2, o pagrindiniame skirsnyje (mūsų pavyzdyje
/dev/sda3) ext3 rinkmenų sistemas, turėtumėte rašyti:
Kodo sąrašas 4.1: Rinkmenų sistemos kūrimas skirsnyje |
# mke2fs /dev/sda1
# mke2fs -j /dev/sda3
|
Sudarykime rinkmenų sistemas naujai sukurtuose skirsniuoses (ar loginiuose
tomuose).
Virtualios atmintinės skirsnio sužadinimas
mkswap, tai komanda virtualios atmintinės skirsnio suformavimui:
Kodo sąrašas 4.2: Virtualios atmintinės suformavimas |
# mkswap /dev/sda2
|
Virtualios atmintinės skirsnio aktyvavimas swapon:
Kodo sąrašas 4.3: Virtualios atmintinės skirsnio aktyvavimas |
# swapon /dev/sda2
|
Sukurkite ir aktyvuokite virtualios atmintinės skirsnį aukščiau minėtomis
komandomis.
4.e. Prijungimas
Jūsų kompiuterio diskas suskaidytas į skirsnius ir juose jau yra sudarytos
rinkmenų sistemos. Beliko tik prijungti šiuos skirsnius. Tam pasitelkite
mount komandą. Nepamirškite sukurti katalogus kiekvienam skirsniui, kurį
planuojate prijugnti prie bendros rinkmenų sistemos. Kaip pavyzdį prijunkime
pagrindinį ir įkrovos skirsnį:
Kodo sąrašas 5.1: Skirsnių prijungimas |
# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot
|
Pastaba:
Jei norite /tmp įkurdinti atskirame skirsnyje, nepamirškite
prijungus pakeisti šio skirsnio teisių, įvykdydami komandą: chmod 1777
/mnt/gentoo/tmp. Tas pats galioja ir /var/tmp.
|
Sistemos darbui taip pat reikės prijungti proc rinkmenų sistemą (virtualią
sąsają su sistemos branduoliu) /proc kataloge. Tačiau pirmiausia į
skirsnius reikia įrašyti visas trūkstamas rinkmenas.
Tęskite diegimą, atvertę „Gentoo“ diegimo
rinkmenų įrašymas skyrių.
5. „Gentoo“ diegimo rinkmenų diegimas
5.a. Stage tar archyvo diegimas
Datos/Laiko nustatymas
Prieš pradedant, reikia patikrinti kompiuterio datos/laiko nuostatas ir jas
atnaujinti. Blogai nustatytas laikrodis gali sukelti keistų problemų ateityje!
Datos/laiko patikrinimui, paleiskite date:
Kodo sąrašas 1.1: Datos/laiko tikrinimas |
# date
Fri Mar 29 16:21:18 UTC 2005
|
Jeigu data/laikas atvaizduoti blogai, pakeiskite juos naudodamiesi date
MMDDhhmmYYYY sintakse (Mėnuo, Diena, h - valanda,
minutė ir Y - metai). Dabar turėtumėte naudoti UTC laiką. Savo
laiko juostą galėsite nurodyti vėliau. Pavyzdžiui, nustatome datą į kovo
mėnesio 29 dienos, 16:21 2005 metais:
Kodo sąrašas 1.2: UTC datos/laiko nustatymas |
# date 032916212005
|
Apsisprendimas
Tolimesnis žingsnis yra stage3 tar archyvo įdiegimas į sistemą. Jūs
galite parsisiųsti archyvą iš interneto arba, jeigu naudojatės vienu iš
„Gentoo“ universaliųjų CD arba LiveDVD, galite nukopijuoti archyvą iš pačio
disko. Jeigu jūs turite „Gentoo“ universalų CD ar LiveDVD, ir norimas stage tar
archyvas yra jame, siųstis stage tar archyvą iš interneto būtų tik laiko/srauto
švaistymas, kadangi šie stage tar archyvai yra vienodi. Dažniausiai komanda
uname -m gali būti panaudota apsisprendimui, kurią stage rinkmeną
siųstis.
Minimalūs CD ir LiveCD neturi jokio stage3 archyvo, tačiau LiveDVD - turi.
5.b. Numatyta: Stage iš interneto naudojimas
Stage tar archyvo siuntimas
Nueikite į „Gentoo“ įrengimo tašką, kuris yra įrengtas jūsų rinkmenų išdėstymo
sistemoje (greičiausiai tai bus /mnt/gentoo):
Kodo sąrašas 2.1: Ėjimas į „Gentoo“ įrengimo tašką |
# cd /mnt/gentoo
|
Priklausomai nuo jūsų įdiegimo laikmenos, jūs turit keletą įrankių su kuriais
galite atsisiųsti stage tar archyvą. Jeigu turite links, tada galite
tuoj pat naršyti „Gentoo“ atvaizdų
sąrašą ir pasirinkti atvaizdą arčiausiai jūsų.
Jeigu jūs neturite links, tada jūs turėtumėte turėti lynx.
Jeigu jūs turite išėjimą į internetą pro įgaliotąjį serverį, eksportuokite
kintamuosius http_proxy ir ftp_proxy:
Kodo sąrašas 2.2: Įgaliotojo serverio informacijos nustatymas lynx programai |
# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"
|
Mes dabar manysime, kad jūs turite links.
Pasirinkite releases/x86/2008.0/ katalogą. Ten jūs
turėtumėte matyti visas esamas stage rinkmenas savo architektūrai (jos gali
būti įkeltos direktorijose, pavadintose atskirų poarchitektūrių pavadinimais).
Pasirinkite vieną archyva ir paspauskite D, kad parsisiųstumėte. Kai
siuntimas baigsis, paspauskite Q, kad išeitumėte iš naršyklės.
Dauguma kompiuterio naudotojų turėtų naudoti stage3-i686-2008.0.tar.bz2
stage3 archyvą. Visi modernūs kompiuteriai yra laikomi i686. Jeigu jūs
naudojatės senu kompiuteriu, galite pasitikrinti suderinamų su i686 procesorių
sąrašą vikipedijoje. Seniems procesoriams, tokiems kaip Pentium, K5, K6
ar Via C3 ir panašiems reikia labiau daugybinio x86 stage3. Procesoriai,
senesni nei i486 nėra palaikomi.
Kodo sąrašas 2.3: Naršymas po atvaizdų sąrašą naršykle links |
# links http://www.gentoo.org/main/en/mirrors.xml
# links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml
|
Įsitikinkite, kad jūs atsisiuntėte stage3 tar archyvą - diegimai,
naudojant stage1 arba stage2 tar archyvus, yra nebepalaikomi.
Jeigu norite patikrinti, ar nėra pažeistas parsisiųstas arhyvas, naudokite
md5sum ir palyginkite išvedinį su MD5 kodu, pateikiamu kartu su archyvu
jūsų pasirinktame atvaizde.
Kodo sąrašas 2.4: Stage tar archyvo tikrinimas |
# md5sum -c stage3-i686-2008.0.tar.bz2.DIGESTS
stage3-i686-2008.0.tar.bz2: OK
|
Stage tar archyvo išpakavimas
Dabar išpakuokite parsisiųstą archyvą į jūsų sistemą. Naudosime tar
įrankį, kadangi tai pats papraščiausiai būdas:
Kodo sąrašas 2.5: Stage išpakavimas |
# tar xvjpf stage3-*.tar.bz2
|
Įsitikinkite, kad naudojate tas pačias parinktis (xvjpf). Parinktis
x reiškia extract (išskleisti), v reiškia verbose
(detaliai), kad matytumėte, kas vyksta išskleidimo metu (nebūtina), parinktis
j - bzip2 archyvo išpakavimas, p - rezervuoti prieigos
teises ir paskutinysis f nurodo, kad mes norime išskleisti archyvą, o
ne standartinį įvedinį.
Dabar, kai stage įdiegtas, teskite diegimą su skyriumi
„Portage“ diegimas
5.c. „Portage“ diegimas
„Portage“ momentinės kopijos išpakavimas
Dabar jūs turite įdiegti „Portate“ momentinę kopiją, rinkmenų kolekciją, kuri
informuoja „Portage“, kokią programinę įrangą jūs galite įdiegti, kokie yra
esami profiliai ir t.t.
Atsisiųskite ir įsidiekite „Portage“ momentinę kopiją
Eikite į įrengimo tašką, kur jūs prijungėte jūsų rinkmenų išdėstymo sistemą
(tikriausiai /mnt/gentoo):
Kodo sąrašas 3.1: Patekimas į „Gentoo“ prijungimo tašką |
# cd /mnt/gentoo
|
Paleiskite links (arba lynx) ir eikite į mūsų „Gentoo“ atvaizdų sąrašą. Pasirinkite
atvaizdą, artimiausią jums, ir atverkite snapshots/ katalogą. Iš
ten atsisiųskite naujausią „Portage“ momentinę kopiją
(portage-latest.tar.bz2), ją pažymėdami ir paspausdami D.
Kodo sąrašas 3.2: Naršymas po „Gentoo“ atvaizdų sąrašą |
# links http://www.gentoo.org/main/en/mirrors.xml
|
Dabar užverkite savo naršyklę paspausdami Q. Dabar turėsite „Portage“
momentinę kopiją, patalpintą /mnt/gentoo.
Jei norite patikrinti atsisiųstos momentinės kopijos vientisumą, naudodami
md5sum palyginkite išvedinį su MD5 kontroline suma, pateikta atvaizde.
Kodo sąrašas 3.3: „Portage“ momentinės kopijos vientisumo tikrinimas |
# md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK
|
Toliau išskleisime „Portage“ momentinę kopiją į jūsų rinkmenų išdėstymo
sistemą. Įsitikinkite, kad jūs naudojate tiksliai tokią pačią komandą;
paskutinioji parinktis yra didžioji C, ne c.
Kodo sąrašas 3.4: „Portage“ momentinės kopijos išskleidimas |
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
|
5.d. Kompiliavimo parinkčių konfigūravimas
Įžanga
Kad optimizuotumėte „Gentoo“, galite nustatyti keletą kintamųjų, kurie įtakoja
„Portage“ elgseną. Visi tie kintamieji gali būti nustatyti kaip aplinkos
kintamieji (naudojant export), bet tai nėra pastovu. Nustatymų
išlaikymui Portage jums pateikia /etc/make.conf, Portage
konfigūracinę rinkmeną. Šią rinkmeną mes dabar ir redaguosime.
Pastaba:
Komentuotą visų įmanomų kintamųjų sąrašą galite rasti
/mnt/gentoo/etc/make.conf.example. Sėkmingam „Gentoo“ įdiegimui
turėsite nustatyti tik žemiau paminėtus kintamuosius.
|
Paleiskite savo megiamą redaktorių (šiame vadove mes naudojame nano),
taigi mes galėsime keisti optimizavimo kintamuosius, kuriuos mes aptarsime
toliau.
Kodo sąrašas 4.1: /etc/make.conf atvėrimas |
# nano -w /mnt/gentoo/etc/make.conf
|
Kaip jūs tikriausiai pastebėjote, make.conf.example rinkmena yra
sudaryta bendru būdu: komentuotos eilutės prasideda „#“, kitos eilutės
apibrėžia kintamuosius naudojant sintaksę KINTAMASIS="turinys".
Rinkmena make.conf naudoja tokią pačia sintaksę. Kelietas tų
kintamųjų aptariami toliau.
CHOST
CHOST kintamasis paskelbia informaciją apie kompiuterį jūsų sistemai.
Šis kintamasis turėtų jau būti nustatytas teisingos vertės.
Neredaguokite jo, kadangi tai gali sulaužyti jūsų sistemą. Jeigu
kintamasis CHOST jums neatrodo teisingas, galbūt jūs naudojate netinkamą
stage3 tar archyvą.
CFLAGS ir CXXFLAGS
Kintamieji CFLAGS ir CXXFLAGS apibrėžia optimizavimo vėliavėles
atitinkamai gcc C ir C++ kompiliatoriams. Nors mes paparastai nustatome
juos čia, maksimalų našumą jūs gausite, tik jeigu jūs optimizuosite šias
vėliavėles atskirai kiekvienai programai. Taip yra todėl, kad kiekviena
programa yra skirtinga.
make.conf jūs turėtumėte nustatyti optimizavimo vėliavėles,
kurios, jūsų manymu, padarys jūsų sistemą bendrai labiausiai
optimizuotą. Nenustatinėkite eksperimentinių nuostatų šiame kintamajame; nuo
per daug optimizavimo programos gali blogai veikti (nulūžti arba, kas netgi
blogiau, blogai veikti).
Mes neaiškinsime visų įmanomų optimizavimo parinkčių. Jeigu jūs norite žinoti
jas visas, skaitykite GNU
internetinį(-ius) žinyną(-us) arba gcc informacinį puslapį
(info gcc -- veikia tik veikiančioje „Linux“ sistemoje). Pačioje
make.conf.example rinkmenoje yra daugybė pavyzdžių ir
informacijos; nepamirškite paskaityti ir jos.
Pirmoji nuostata yra -march= arba -mcpu= veliavėlė, kuri nurodo
architektūros pavadinimą. Galimos parinktys yra apibūdintos (kaip komentarai)
rinkmenoje make.conf.example.
Antroji yra -O vėliavėlė (tai yra didžioji O, ne nulis), kuri nurodo
gcc optimizavimo klasės veliavėlę. Galimos klasės yra s (dydžio
optimizavimui), 0 (nulis - jokių optimizacijų), 1, 2 arba
3 - daugiau greičio optimizavimo vėliavėlių (kiekvienoje klasėje yra tos
pačios vėliavėlės ir keli priedai papildomai). -O2 yra rekomenduojama.
Kita populiari optimizavimo vėliavėlė yra -pipe (naudoti kanalus vietoje
laikinųjų rinkmenų komunikacijai tarp skirtingų kompiliavimo etapų). Ji neturi
jokio poveikio sugeneruotam kodui.
-fomit-frame-pointer (kuris nelaiko kadro rodyklės registre funkcijoms,
kurioms to nereikia) naudojimas gali turėti rimtų atgarsių programos derinime
(debugging).
Kai apibrėžiate CFLAGS ir CXXFLAGS, jūs turėtumėte derinti kelias
optimizavimo vėliavėles. Numatytosios reikšmės, esančios stage3 archyve, kurį
jūs išpakavot, turėtų būti pakankamai geros. Šis pavyzdys tėra tik pavyzdys:
Kodo sąrašas 4.2: Apibrėžiame CFLAGS ir CXXFLAGS kintamuosius |
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="${CFLAGS}"
|
MAKEOPTS
MAKEOPTS kintamuoju jūs nustatote, kiek lygiagrečių kompiliavimų turėtų
būti diegiant programą. Geras pasirinkimas yra jūsų centrinių procesorių (CPU)
skaičius plius vienas, tačiau šis nurodymas nėra visada tikslus.
Kodo sąrašas 4.3: MAKEOPTS reguliariai, vieno centrinio procesoriaus, sistemai |
MAKEOPTS="-j2"
|
Pasiruošt, dėmesio, marš!
Atnaujinkite nuostatas jūsų /mnt/gentoo/etc/make.conf rinkmenoje
ir išsaugokite (nano naudotojai turėtų paspausti Ctrl-X). Dabar
jūs pasiruošę tęsti ties skyriumi „Gentoo“
pagrindinės sistemos diegimas.
6. Gentoo pagrindinės sistemos diegimas
6.a. Chrooting
Pasirinktinai: Pasirenkame Veidrodžius
Norėdami greitai parsisiųsti išeities kodą, rekomenduojame pirmiausia
pasirinkti greičiausią parsisiuntimo veidrodį. Portage bazė pasižiūrės į
rinkmenoje make.conf esantį kintamąjį GENTOO_MIRRORS ir nuskaitys
jo reikšmę, t.y. nuskaitys veidrodinio šaltinio adresą. Taip pat jūs galite
panaršyti mūsų veidrodinių šaltinių
sąrašą ir paieškoti veidrodžio (veidrodžių), kurie yra arčiausiai jūsų
(tie, kurie dažniausiai minimi yra greičiausi). Bet mes siūlome jums patogų
įrankį, pavadintą mirrorselect, kuris leidžia jums patogia programos
sąsaja pasirinkti norimą veidrodį.
Kodo sąrašas 1.1: GENTOO_MIRRORS kintamojo parinkimui naudojame mirrorselect |
# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
|
Perspėjimas:
Nesirinkite IPv6 veidrodžių. Mūsų baziniai variantai šiuo metu nepalaiko IPv6
protokolo.
|
Kitas svarbus nustatymas yra rinkmenoje make.conf SYNC kintamasis.
Šis kintamasis laiko rsync serverio adresą, kurį jūs naudojate kai atnaujinate
Portage medį (ebuild rinkmenas, skriptus, kurie laiko visą reikalingą
informaciją, reikalingą Portage bazei norint parsisiųsti ir įdiegti programinę
įrangą). Jūs galite pats nustatyti SYNC kintamojo reikšmę arba pasinaudoti
mirrorselect įrankiu:
Kodo sąrašas 1.2: Pasirenkame rsync serverio veidrodį naudodami mirrorselect |
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
|
Po to kai paleistie mirrorselect, rekomenduojame patikrinti reikšmes
rinkmenoje /mnt/gentoo/etc/make.conf!
Kopijuojame DNS Informaciją
Vieną dalyką, kurį reikia būtinai padaryti prieš pereinant į naują aplinką, yra
DNS informacijos nukopijavimas į rinkmeną /etc/resolv.conf. Jūs
turite tai padaryti, jei norite būti tikras, kad galėsite naudotis tinklu po
to, kai pereisite į naują aplinką. Rinkmena /etc/resolv.conf laiko
vardinių serverių (nameserver) adresus jūsų tinklui.
Kodo sąrašas 1.3: Kopijuojame DNS informaciją |
# cp -L /etc/resolv.conf /mnt/gentoo/etc/
|
Prijungiame /proc ir /dev rinkmenų išdėstymo sistemas
Prijungiame /proc rinkmenų išdėstymo sistemą prie
/mnt/gentoo/proc, kad leistume diegimui naudoti branduolio
teikiamą informaciją naujai aplinkai. Tada prijungiame /dev
rinkmenų sistemą.
Kodo sąrašas 1.4: Prijungiame /proc ir /dev |
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
|
Įeiname į naująją Aplinką
Jau visi skaidiniai yra inicializuoti ir pagrindinė aplinka įdiegta, todėl
dabar laikas įeiti į naująją aplinką, kurią atskyrėme (chrooting) nuo
senosios. Tai reiškia, kad mes pakeisime esamą diegimo aplinką (Diegimo CD arba
kitų diegimo laikmenų) į jūsų įdiegtą sistemą (tiksliau pavadinus, dalinai
įdiegtą sistemą).
Šis izoliavimas yra daromas trimis žingsniais. Pirmiausia, mes pakeisime
šakninį katalogą iš / (iš diegimo laikmenos) į
/mnt/gentoo katalogą (esančią jūsų skaidiniuose), naudodami
chroot komandą. Tada mes sukursime naująją aplinką naudodami
env-update komandą, kuri savaime sukurs aplinkos kintamuosius.
Galiausiai, užkrausime visus kintamuosius į atmintį, naudodami komandą
source.
Kodo sąrašas 1.5: Sukuriame naująją aplinką |
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"
|
Sveikiname! Pagaliau Jūs esate savo Gentoo Linux sistemoje. Aišku tai dar toli
nuo pabaigos, vien jau dėl to, kad liko dar keletas skyrių perskaityti :-)
6.b. Nustatinėjame Portage bazę
Atnaujiname Portage medį
Dabar jūs turėtumėte atnaujinti naujausia versija savo Portage medį. Komanda
emerge --sync tai atlieka už jus.
Kodo sąrašas 2.1: Atnaujiname Portage medį |
# emerge --sync
# emerge --sync --quiet
|
Jeigu jūs esate už ugniasienės, kuri blokuoja rsync srautą, jūs galite naudoti
emerge-webrsync komandą, kuri parsiųs ir instaliuos portage bazės vaizdą
už jus.
Jeigu jūs būsite įspėti, kad nauja Portage versija jau yra ir kad jūs galite ją
įdiegti, tai dabar ir padarykite, pasinaudoję emerge --oneshot portage.
Pasirenkame teisingą profilį
Pirmiausia trumpas aprašymas.
Profilio pasirinkimas yra kertinis akmuo Gentoo sistemoje. Ne vien dėl to, kad
nurodome numatytąsias reikšmes CHOST, CFLAGS ir kitus svarbius kintamuosius,
tai svarbu ir todėl, kad nustatysime tam tikrą paketų naudojimo versiją. O visa
tai yra sukurta Gentoo kūrėjų.
Anksčiau profiliai naudotojų nebuvo liečiami. Taciau gali būti tam tikrų
situacijų, kai jūs galite nuspręsti, kad profilio pakeitimas yra reikalingas.
Jūs galite pažiūrėti, kokį profilį dabar naudojate, įvykdydami tokią komandą:
Kodo sąrašas 2.2: Patikriname sistemos profilį |
# ls -FGg /etc/make.profile
lrwxrwxrwx 1 48 Apr 8 18:51 /etc/make.profile -> ../usr/portage/profiles/default/linux/x86/2008.0
|
Numatytasis profilis jums pateiks „Linux“ 2.6 branduoliu besiremiančia sistemą.
Tai yra rekomenduojamas numatytasis profilis, bet jūs turite ir kito profilio
pasirinkimo galimybę.
Taip pat kai kurioms architektūroms yra desktop ir server
poprofiliai. Pažiūrėkite 2008.0/ profilyje, kad nustatytumėte, ar
jūsų architektūrai jie yra. Galite pažiūrėti desktop profilio
make.defaults, kad nustatytumėte, ar jis jums tinka.
Po profilių savo architektūrai /usr/portage/profiles/ peržiūros,
galite naudoti kitokį, jei norite:
Kodo sąrašas 2.3: Profilių keitimas |
# ln -snf /usr/portage/profiles/<profile name> /etc/make.profile
|
Pastaba:
Poprofilis developer skirtas būtent „Gentoo Linux“ plėtojimo užduotims.
Jis nėra skirtas padėti nustatyti bendras plėtojimo aplinkas.
|
Konfigūruojame USE kintamajį
USE yra vienas iš galingiausių Gentoo sistemos teikiamų vartotojams
kintamųjų. Daugelis programų gali būti sukompiliuotos su arba be tam tikrų
palaikymų, priedų. Pavyzdžiui, keletas programų gali būti sukompiliuotos su
gtk palaikymu arba su qt palaikymu. Kitos programos gali būti sukompiliuotos su
arba be SSL palaikymu. Kai kurios programos gali būti sukompiliuotus su
grafinio buferio palaikymu (svgalib) vietoj X11 palaikymo (X-serverio).
Daugelis distribucijų kompiliuoja savo paketus su kiek įmanoma daugiau
palaikymų, priedų, taip padidindami programos dydį ir krovimosi laiką, jau
nekalbant apie nežmoniškus kiekius priklausomybių. Su Gentoo sistema Jūs galite
nustatyti su kokiais palaikymas paketai bus sukompiliuoti. Šioje vietoje
svarbiausias vaidmuo atitenka USE kintamajam.
USE kintamajame jūs nustatysite raktažodžius, kurie yra surišti su
kompiliavimo pasirinktimis. Pavyzdžiui, ssl bus sukompiliuotas su ssl
palaikymu programose, kurios palaiko tai. -X pašalins X-serverio
palaikymą (atkreipkite dėmesį į minusą prieš raktažodį, tai rodo, kad
palaikymas nebus kompiliuojamas). gnome gtk -kde -qt3 -qt4 sukompiliuos
programas su gnome (ir gtk) palaikymu ir be kde (ir qt) palaikymo, kas
padarys jūsų sistemą orientuotą į GNOME.
Numatytieji USE nustatymai yra laikomi rinkmenoje
make.defaults jūsų profilyje. Jūs rasite rinkmenas
make.defaults kataloge, kurį nurodo /etc/make.profile
rinkmena. Numatytasis USE nustatymai yra rinkmenoje
make.defaults. Ką jūs padėsite į /etc/make.conf, tai
yra atskirai paskaičiuojama nuo numatytųjų nustatymų. Jeigu jūs pridedate
kažkokį nustatymą į USE, tada jis yra įtraukiams į numatytųjų sarašą.
Jeigu pašalinate ką nors iš USE (padėdami minusą prieš raktažodį), tai
bus pašalinta ir iš numatytųjų sąrašo (jeigu jis apskritai ten buvo įtrauktas).
Niekada nepridėkite nieko patys į rinkmeną
/etc/make.profile; Tai bus perrašyta, kai jūs atnaujinsite Portage
bazę!
Pilną USE aprašymą galima rasti antroje Gentoo Handbook dalyje,
USE vėliavėlės. Pilnas USE vėliavėlių
aprašymą galima rasti pačioje sistemoje rinkmenoje
/usr/portage/profiles/use.desc.
Kodo sąrašas 2.4: Peržiūrime galima USE vėliavėlias |
# less /usr/portage/profiles/use.desc
|
Kaip pavyzdį parodysime USE nustatymus KDE-tipo sistemai su DVD, ALSA ir
CD įrašymo palaikymais:
Kodo sąrašas 2.5: Atidarome /etc/make.conf |
# nano -w /etc/make.conf
|
Kodo sąrašas 2.6: USE nustatymai |
USE="-gtk -gnome qt3 qt4 kde dvd alsa cdr"
|
Pasirinktinai: glibc lokalės
Jūs greičiausiai naudosite vieną arba dvi lokales savo sistemoje. Lokales,
kurių jums reikės, galite nurodyti rinkmenoje /etc/locale.gen.
Kodo sąrašas 2.7: Atidarykite /etc/locale.gen |
# nano -w /etc/locale.gen
|
Žemiau pateiktos lokalės yra pavyzdžiai kaip gauti anglų (Jungtinių Amerikos
Valstijų) ir vokiečių (Vokietijos) kalbų palaikymą su įvairiais simbolių
formatais (tokiais kaip UTF-8)
Kodo sąrašas 2.8: Nurodyme savo lokales |
en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
|
Kitas žingsnis - locale-gen paleidimas. Jis sugeneruos visas lokales,
kurias jūs nurodėte /etc/locale.gen rinkmenoje.
Dabar pereikime prie skyriaus Konfigūruojame
branduolį.
7. Branduolio konfigūravimas
7.a. Laiko juosta
Pirmiausia jums reikia pasirinkti savo laiko juostą, kad jūsų sistema žinotų,
kur ji yra. Savo laiko juostos ieškokite /usr/share/zoneinfo,
tuomet nukopijuokite ją į /etc/localtime. Prašytume vengti
/usr/share/zoneinfo/Etc/GMT* laiko juostų, kadangi jų pavadinimai
neparodo juostų, kurių tikitės. Pavyzdžiui, GMT-8 iš tiesų yra
GMT+8.
Kodo sąrašas 1.1: Nustatome laiko juostoą |
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/GMT /etc/localtime
|
7.b. Pirminių tekstų įdiegimas
Branduolio pasirinkimas
Visų platinamųjų paketų pagrindas yra „Linux“ branduolys. Tai yra lygmuo tarp
naudotojo programų ir jūsų sistemos aparatinės įrangos. „Gentoo“ tiekia savo
naudotojams kelis galimus branduolio pirminius tekstus. Pilnas sąrašas su
aprašymais yra „Gentoo“ branduolio
vadove.
x86 architektūros sistemoms turime gentoo-sources
(branduolio pirminis tekstas, papildytas papildomomis funkcijomis).
Pasirinkite savo branduolio pirminį tekstą ir įdiekite jį, naudodami
emerge.
Kodo sąrašas 2.1: Branduolio pirminio teksto diegimas |
# emerge gentoo-sources
|
Kai pažiūrėsite į /usr/src, turėtumėte pamatyti nuorodą, pavadintą
linux, nurodančią į jūsų branduolio pirminį tekstą. Šiuo atveju
įdiegtas branduolio pirminis tekstas nurodo į gentoo-sources-2.6.24-r5. Jūsų versija gali būti kitokia, atminkite tai.
Kodo sąrašas 2.2: Žiūrime branduolio pirminio teksto nuorodą |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.24-r5
|
Dabar laikas sukonfigūruoti ir sukompiliuoti jūsų branduolio pirminį tekstą.
Galite tam naudoti genkernel, kuris sukompiliuos daugybinį branduolį,
kuris naudojamas diegimo CD. Tačiau mes pirmiausia paaiškinsime „rankinį“
konfigūravimą, kadangi tai yra geriausias būdas optimizuoti aplinką.
Jei norite rankiniu būdu sukonfigūruoti branduolį, pereikite prie skyriaus Numatyta: Rankinis konfigūravimas. Jeigu norite naudoti
genkernel, vietoje to turėtumėte skaityti Alternatyva: genkernel naudojimas.
7.c. Numatyta: Rankinis konfigūravimas
Įvadas
Rankinis branduolio konfigūravimas dažnai minimas kaip pati sudėtingiausia
procedūra, kurią „Linux“ naudotojas turi atlikti. Nieko klaidingesnio ir būti
negali -- po poros branduolių konfigūravimo net nebepamenate, kad tai buvo
sunku ;)
Tačiau vienas dalykas yra tiesa: jūs privalote žinoti savo sistemą, kai
pradedate konfigūruoti branduolį rankiniu būdu. Dauguma informacijos gali būti
surinkta įdiegus pciutils (emerge pciutils), kuriame yra lspci.
Jūs galite naudoti lspci ir dabar pakeisto šakninio katalogo aplinkoje.
Galite nesibaimindami ignoruoti pcilib perspėjimus (pavyzdžiui, „pcilib:
cannot open /sys/bus/pci/devices), kuriuos pateikia lspci. Kitu atveju
galite naudoti lspci nepakeisto šakninio katalogo aplinkoje.
Rezultatas bus toks pats. Galite įvykdyti ir lsmod, kad pažiūrėtumėte,
kokius branduolio modulius naudoja diegimo CD (tai gali būti puiki užuomina,
ką aktyvinti).
Dabar pereikite į savo branduolio pirminio teksto katalogą ir įvykdykite
make menuconfig. Taip paleisite „ncurses“ pagrindu veikiantį sąrankos
meniu.
Kodo sąrašas 4.12: menuconfig sužadinimas |
# cd /usr/src/linux
# make menuconfig
|
Jūs būsite pasveikintas keletu konfigūracijos dalių. Pirmiausia išvardysime
kelias parinktis, kurias jūs privalote aktyvinti (kitaip „Gentoo“ neveiks arba
be papildomų pakeitimų veiks netinkamai).
Būtinų parinkčių aktyvinimas
Įsitikinkite, kad kiekviena tvarkyklė, kuri yra esminė sistemos įkrovai (tokia
kaip SCSI valdiklis, ...) yra įkompiliuota į branduolį, o ne kaip
modulis, kitaip jūsų sistema pilnai neužsikraus.
Dabar pasirinkite tinkamą procesoriaus šeimą:
Kodo sąrašas 3.2: Procesoriaus šeimos pasirinkimas |
Processor type and features --->
(Athlon/Duron/K7) Processor family
|
Dabar pasirinkite File Systems ir pažymėkite rinkmenų išdėstymo
sistemas, kurias jūs naudojate. Nekompiliuokite jas kaip modulius,
kitaip jūsų „Gentoo“ sistema negalės prijungti jūsų skirsnių. Pažymėkite ir
Virtual memory bei /proc file system.
Kodo sąrašas 3.3: Reikiamų rinkmenų išdėstymo sistemų pažymėjimas |
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> JFS filesystem support
<*> Second extended fs support
<*> XFS filesystem support
|
Jei naudojate PPPoE prisijungimui prie interneto ar naudojatės telefoniniu
(dial-up) modemu, jums reikės šių parinkčių branduolyje:
Kodo sąrašas 3.4: PPPoE reikalingų tvarkyklių pažymėjimas |
Device Drivers --->
Networking Support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
|
Dvi glaudinimo parinktys nepakenks, bet nėra būtinos, PPP over Ethernet
parinktis, kuri gali būti panaudota tik sukonfigūravus ppp naudoti PPPoE
branduolio veikseną, taip pat nebūtina.
Jei jums to reikia, nepamirškite į branduolį įtraukti savo tinklo plokštės
palaikymo.
Jeigu turite Intel centrinį procesorių, palaikantį HyperThreading (tm) arba
turite daugiaprocesorinę sistemą, turėtumėte aktyvinti „Symmetric
multi-processing support“:
Kodo sąrašas 3.5: SMP palaikymo aktyvinimas |
Processor type and features --->
[*] Symmetric multi-processing support
|
Pastaba:
Daugiabranduolinėse sistemose kiekviemas branduolys laikomas vienu
procesoriumi.
|
Jei turite daugiau nei 4GB operatyviosios atminties (RAM), privalote aktyvinti
„High Memory Support (64G)“.
Jei naudojate USB įvesties prietaisus (kaip klaviatūra ar pelė), nepamirškite
aktyvinti ir jų:
Kodo sąrašas 3.6: USB įvesties prietaisų aktyvinimas |
Device Drivers --->
[*] HID Devices --->
<*> USB Human Interface Device (full HID) support
|
Jei norite PCMCIA palaikymo savo nešiojamajam kompiuteriui, nepamirškite
aktyvinti palaikymo PCMCIA plokštės tiltui, esančiam jūsų sistemoje:
Kodo sąrašas 3.7: PCMCIA palaikymo aktyvinimas |
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support
<*> 16-bit PCMCIA support
[*] 32-bit CardBus support
--- PC-card bridges
<*> CardBus yenta-compatible bridge support (NEW)
<*> Cirrus PD6729 compatible bridge support (NEW)
<*> i82092 compatible bridge support (NEW)
<*> i82365 compatible bridge support (NEW)
<*> Databook TCIC host bridge support (NEW)
|
Kai baigsite branduolio konfigūravimą, tęskite su skyriumi Kompiliavimas ir diegimas.
Kompiliavimas ir diegimas
Dabar, kai jūsų branduolys sukonfigūruotas, laikas sukompiliuoti ir įdiegti jį.
Užverkite sąranką ir pradėkite kompiliavimo procesą:
Kodo sąrašas 3.8: Branduolio kompiliavimas |
# make && make modules_install
|
Kai branduolio kompiliavimas baigiasi, nukopijuokite branduolio atvaizdą į
/boot. Naudokite kokį tik norite pavadinimą, kurį laikote tinkamu
jūsų branduolio pasirinkimui ir atsiminkite jį, kadangi jums prireiks jo
vėliau, kai konfigūruosite savo įkrovos tvarkyklę. Nepamirškite pakeisti
kernel-2.6.24-gentoo-r5 į savo branduolio pavadinimą ir versiją.
Kodo sąrašas 3.9: Branduolio diegimas |
# cp arch/i386/boot/bzImage /boot/kernel-2.6.24-gentoo-r5
|
Dabar tęskite ties skyriumi Branduolio
moduliai.
7.d. Alternatyva: genkernel naudojimas
Jei skaitote šį skyrių, pasirinkote naudoti mūsų genkernel scenarijų
savo branduolio konfigūravimui.
Dabar, kai jūsų branduolio pirminio teksto medis įdiegtas, laikas sukompiliuoti
savo branduolį naudojant mūsų genkernel scenarijų automatiniam
branduolio sukūrimui. genkernel branduolį sukonfigūruoja beveik
identišku būdu kaip yra sukonfigūruotas mūsų diegimo CD branduolys. Tai
reiškia, kad kai jūs naudojate genkernel savo branduolio sukūrimui, jūsų
sistema paprastai aptiks visą jūsų aparatinę įrangą įkrovos metu, kaip daro ir
mūsų diegimo CD. Kadangi genkernel nereikalauja jokio rankinio branduolio
konfigūravimo, tai yra idealus sprendimas tiems naudotojams, kurie nepatogiai
jaučiasi konfigūruodami nuosavus branduolius.
Dabar pažiūrėkime kaip naudoti genkernel. Pirmiausia įdiekite genkernel paketą:
Kodo sąrašas 4.1: genkernel diegimas |
# emerge genkernel
|
Po to nukopijuokite branduolio sąranką, naudotą diegimo CD ten, kur genkernel
ieško numatytosios branduolio sąrankos:
Kodo sąrašas 4.2: Diegimo CD branduolio sąrankos kopijavimas |
# zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
|
Dabar sukompiliuokite branduolio išeities tekstus įvykdydami komandą
genkernel all. Tačiau atminkite, kad šis kompiliavimas truks gana ilgai,
kadangi genkernel kompiliuoja branduolį, kuris palaiko beveik visą
įmanomą aparatinę įrangą.
Pastebėkite ir tai, kad jeigu jūsų įkrovos skirsnis naudoja ne ext2 ar ext3
rinkmenų išdėstymo sistemą, jums gali prireikti rankiniu būdu sukonfigūruoti
savo branduolį naudojant komandą genkernel --menuconfig all ir pridėti
savo rinkmenų išdėstymo sistemos palaikymą į branduolį (t.y. ne
kaip modulį). EVMS2 ar LVM2 naudotojai tikriausiai norės pridėti --evms2
ar --lvm2 argumentą.
Kodo sąrašas 4.3: genkernel paleidimas |
# genkernel all
|
Kai genkernel baigia darbą, bus sukurtas branduolys, pilnas modulių
rinkinys ir pradinis pagrindinis diskas (initrd). Mes panaudosime
branduolį ir initrd vėliau, kai konfigūruosime įkrovos tvarkyklę. Užsirašykite
branduolio (kernel) ir initrd pavadinimus, kadangi jū reikės kuriant įkrovos
tvarkyklės konfigūracinę rinkmeną. initrd pasileis iškart po įkrovos, kad
atliktų aparatinės įrangos automatinį aptikimą (taip pat kaip diegimo CD) prieš
pasileidžiant jūsų „tikrajai“ sistemai.
Kodo sąrašas 4.4: Sukurto branduolio atvaizdo ir initrd pavadinimų tikrinimas |
# ls /boot/kernel* /boot/initramfs*
|
7.e. Branduolio moduliai
Modulių konfigūravimas
Modulius, kurių automatinio įkėlimo norėtumėte, turėtumėte įrašyti į
/etc/modules.autoload.d/kernel-2.6. Galite pridėti ir papildomas
parinktis, jei norite.
Kad pamatytumėte visus esamus modulius, įvykdykite šią find komandą.
Nepamirškite pakeisti „<branduolio versija>“ į savo ką tik sukompiliuoto
branduolio versiją:
Kodo sąrašas 5.1: Visų esamų modulių peržiūra |
# find /lib/modules/<branduolio versija>/ -type f -iname '*.o' -or -iname '*.ko'
|
Pavyzdžiui, kad automatiškai būtų įkeltas 3c59x.o modulis, paredaguokite
kernel-2.6 rinkmeną ir joje įveskite modulio pavadinimą.
Kodo sąrašas 5.2: /etc/modules.autoload.d/kernel-2.6 redagavimas |
# nano -w /etc/modules.autoload.d/kernel-2.6
|
Kodo sąrašas 5.3: /etc/modules.autoload.d/kernel-2.6 |
3c59x
|
Tęskite diegimą su skyriumi Jūsų sistemos
konfigūravimas.
8. Sistemos konfigūravimas
8.a. Rinkmenų išdėstymo sistemos informacija
Kas yra fstab?
„Linux“ sistemoje visi skirsniai (partitions) turi būti aprašyti
/etc/fstab rinkmenoje. Šioje rinkmenoje yra tų skirsnių jungties
vietos (kur jie yra matomi rinkmenų išdėstymo sistemos struktūroje), kaip jie
turi būti prijungti ir su kokiomis specialiomis parinktimis (prijungiamas
automatiškai ar ne, naudotojai gali juos prijungti ar ne ir t.t.).
Kuriame /etc/fstab
/etc/fstab naudoja specialią sintaksę. Kiekviena eilutė sudaryta
iš šešių laukelių, kurie yra atskirti tarpais, tabuliacija arba maišytai.
Kiekvienas laukas turi savo reikšmę:
- Pirmas laukas aprašo skirsnį (kelią iki įrenginio rinkmenos)
-
Kitas laukas nurodo prijungimo tašką, kur skaidinys bus prijungtas
-
Trečias laukas nurodo, kokią rinkmenų išdėstymo sistemą naudoja
skaidinys
-
Ketvirtas laukas nurodo, kokios prijungimo parinktys naudojamos
programos mount prijungiant skaidinį. Kadangi kiekviena rinkmenų
išdėstymo sistema turi nuosavas skaidinio prijungimo parinktis, raginame
paskaityti mount žinyno puslapį (man mount), jei norite detalesnės
informacijos. Prijungimo parinktys yra skiriamos kableliais.
-
Penktas laukas yra naudojamas dump programos, kad apibrėžtų ar
skirstinys naudos dump funkciją ar ne. Paprastai jūs galite palikti
šiame lauke 0 (nulį).
-
Šeštas laukas yra naudojamas nusakyti programai fsck, kokia tvarka
turėtų būti tikrinama rinkmenų išdėstymo sistema, jei sistema buvo
netinkamai išjungta. Pagrindinė (root) rinkmenų išdėstymo sistema turi turėti
reikšmę 1, o kitos turėtų turėti reikšmę 2 (arba 0,
jeigu rinkmenų išdėstymo sistemos tikrinti nereikia).
Svarbu:
Pradinė /etc/fstab rinkmena, pateikiama „Gentoo“ sistemos,
nėra taisyklinga fstab rinkmena. Jūs turite sukurti nuosavą
/etc/fstab:
|
Kodo sąrašas 1.1: Atidarykite /etc/fstab |
# nano -w /etc/fstab
|
Pasižiūrėkime, kaip reiktų parašyti tinkamas parinktis /boot
skirsniui. Tai yra tik pavyzdys, todėl, jeigu nesukūrėte ar negalėjote sukurti
/boot, nekopijuokite jo.
Mūsų pradiniame x86 architektūros skirsnių pavyzdyje
/boot dažniausiai yra /dev/sda1 skirsnis
su ext2 rinkmenų išdėstymo sistema. Jis turi būti patikrintas krovimosi
metu, todėl parašome:
Kodo sąrašas 1.2: /boot eilutės pavyzdys rinkmenoje /etc/fstab |
/dev/sda1 /boot ext2 defaults 1 2
|
Kai kurie naudotojai nenori, kad jų /boot skaidinys būtų
automatiškai prijungtas, tam, kad pagerintų sistemos saugumą. Tokie naudotojai
turėtų pakeisti defaults reikšmę į noauto. Šitai reiškia, kad jūs
rankiniu būdu turite prijungti skaidinį kiekvieną kartą, kai norite jį naudoti.
Pridėkite taisykles, atitinkančias jūsų skirsnių struktūrą ir papildykite
taisyklėmis savo CD-ROM įrenginiams ir, žinoma, kitiems skirsniams ar diskams,
jei tokių yra.
Dabar naudokitės šiuo pavyzdžiu, kad sukurtumėte savąją
/etc/fstab rinkmeną.
Kodo sąrašas 1.3: Pilnas /etc/fstab pavyzdys |
/dev/sda1 /boot ext2 defaults,noatime 1 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext3 noatime 0 1
/dev/cdrom /mnt/cdrom auto noauto,user 0 0
|
auto parinktis leidžia mount komandai spėti, kokią yra rinkmenų
išdėstymo sistema (rekomenduojama naudoti keičiamoms laikmenoms, kadangi jos
gali būti sukurtos su viena iš daugelio rinkmenų išdėstymo sistemų).
user parinktis leidžia paprastiems vartotojams (neturintiems root
teisių) prijungti kompaktinius diskus.
Našumo pagerinimui daugelis naudotojų turėtų pridėti noatime jungties
parametrą, kuris pagreitina sistemą, kadangi nėra registruojami prieigos laikai
(vis vien dažniausiai jų ir nereikia).
Dar kartą patikrinkite savo /etc/fstab, išsaugokite ir uždarykite.
8.b. Tinklo informacija
Kompiuterio vardas, srities vardas ir t.t.
Vienas iš pasirinkimų, tenkantis naudotojui, tas, kad jis turi sugalvoti savo
Asmeniniam Kompiuteriui vardą. Tai atrodo visai nesuku padaryti, bet
daugybė naudotojų susiduria su sunkumais parenkant tinkamą vardą savo
AK. Tam, kad reikalai judėtų greičiau, primename, kad bet koks vardas galės
būti pakeistas vėliau. Jei nieko kito nesugalvojate, galite paprasčiausiai
pavadinti tux vardu, o simbolinį adresų srities pavadinimą (domain)
homenetwork vardu.
Kodo sąrašas 2.1: Kompiuterio vardo nustatymas |
# nano -w /etc/conf.d/hostname
HOSTNAME="tux"
|
Toliau, jeigu jums reikia simbolinio adresų srities pavadinimo
(domainname), nustatykite jį rinkmenoje /etc/conf.d/net.
Srities jums reikia tik tuomet, jeigu jūsų interneto tiekėjas ar tinklo
administratorius taip sako arba jeigu jūs turite DNS, o ne DHCP serverį. Jei
jūsų tinklas nustatytas DHCP, dėl DNS ar srities pavadinimų neturėtumėte
jaudintis.
Kodo sąrašas 2.2: Nustatome simbolinį adresų srities pavadinimą |
# nano -w /etc/conf.d/net
dns_domain_lo="homenetwork"
|
Pastaba:
Jei pasirinkote nenustatinėti srities pavadinimo (domainname), galite
atsikratyti „This is kompiuterio_vardas.(none)“ žinučių savo prisijungimo lange
paredaguodami /etc/issue. Paprasčiausiai ištrinkite simbolių seką
.\O iš tos rinkmenos.
|
Jeigu jūs turite NIS adresą (jeigu nežinote kas tai yra, tai greičiausiai tokio
ir neturite), jums taip pat reikia jį apibrėžti:
Kodo sąrašas 2.3: Nustatome NIS srities pavadinimą |
# nano -w /etc/conf.d/net
nis_domain_lo="my-nisdomain"
|
Pastaba:
Išsamiau apie DNS ir NIS konfigūravimą galite paskaityti pavyzdžiuose
/etc/conf.d/net.example rinkmenoje. Savo DNS/NIS nuostatų valdymui
palengvinti galite įsidiegti openresolv.
|
Nustatinėjame jūsų tinklą
Prieš sušukdami „Ei, mes jau turime veikiantį tinklą“, turėtumėte prisiminti,
kad tinklas, kurį jūs paleidote „Gentoo“ diegimo pradžioje yra skirtas tik
diegimui. O dabar mes nustatysime tinklą jūsų „Gentoo“ sistemai.
Pastaba:
Daugiau detalesnės informacijos apie tinklą, įskaitant sudėtingesnius dalykus,
tokius kaip bonding, bridging, 802.1Q VLAN ar bevielis tinklas, galite rasti
skyriuje „Gentoo“ tinklo paruošimas“.
|
Visa tinklo informacija yra rinkmenoje /etc/conf.d/net. Čia
naudojama konkreti sintaksė, o ne intuityvi, jeigu nežinote kaip nustatyti
tinklą rankiniu būdu. Tačiau nebijokite, mes viską paaiškinsime. Pilnas
pavyzdys su komentarais ir daugeliu kitų konfiguracijų yra rinkmenoje
/etc/conf.d/net.example.
DHCP naudojamas kaip kaip pradinis nustatymas. Kad DHCP veiktų, turite įdiegti
DHCP kliento programą. Tai aprašyta skyriuje „Būtinų sistemos įrankių
diegimas“. Nepamirškite įdiegti DHCP kliento programos.
Jeigu jums reikia nustatyti savo tinklo prisijungimą dėl specifinių DHCP
parinkčių ar dėl to, kad jūs nenaudojate DHCP apskritai, tada atidarykite
/etc/conf.d/net savo mėgstamu redaktoriumi (šiame pavyzdyje
naudojamas nano):
Kodo sąrašas 2.4: Atidarome /etc/conf.d/net rinkmeną |
# nano -w /etc/conf.d/net
|
Toliau jūs matysite tokią rinkmeną (komentarus čia pateikiame išverstus):
Kodo sąrašas 2.5: Numatytas /etc/conf.d/net |
# Šis pradinis nustatymas automatiškai naudos DHCP betkokiems net.*
# scenarijams kataloge /etc/init.d. Norėdami sukurti ir nustatyti tinklą
# pilnai, prašome peržiūrėti /etc/conf.d/net.example ir išsaugoti
# nustatymus /etc/conf.d/net (šioje rinkmenoje :]!)
|
Įveskite savo IP adresą, tinklo kaukę (netmask) ir tinklo sietuvą (gateway).
Jums reikia nustatyti abu config_eth0 ir routes_eth0:
Kodo sąrašas 2.6: Rankiniu būdu nustatome IP informaciją eth0 tinklo plokštei |
config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default via 192.168.0.1" )
|
Norėdami naudoti DHCP ir pridėti specifines DHCP nuostatos, apibrėžkite
config_eth0 ir dhcp_eth0:
Kodo sąrašas 2.7: Automatiškas IP adreso gavimas eth0 plokštei |
config_eth0=( "dhcp" )
dhcp_eth0="nodns nontp nonis"
|
Prašome perskaityti /etc/conf.d/net.example norėdami sužinoti
visas galimas parinktis.
Jeigu jūs turite keletą tinklo plokščių, pakartokite aukščiau paminėtus punktus
nuostatoms config_eth1, config_eth2, ir t.t.
Dabar išsaugokite konfiguraciją ir uždarykite rinkmeną.
Automatiškas tinklo paleidimas krovimosi metu
Tam, kad aktyvuotumėte tinklo sąsajas krovimosi metu, jums reikia įdėti jas į
numatytąjį krovimosi lygį (runlevel).
Kodo sąrašas 2.8: net.eth0 pridėjimas į numatytą paleidžiamąjį lygį |
# rc-update add net.eth0 default
|
Jeigu jūs turite kelias tinklo kortas, jums reikia sukurti atitinkamus
paleidimo scenarijus net.eth1, net.eth2 ir t.t. Tam
galite naudoti ln komandą:
Kodo sąrašas 2.9: Papildomų paleidimo scenarijų sukūrimas |
# cd /etc/init.d
# ln -s net.lo net.eth1
# rc-update add net.eth1 default
|
Užrašykite tinklo informaciją
Jums reikia pranešti „Linux“ sistemai apie savo tinklą. Tai yra aprašoma
rinkmenoje /etc/hosts ir padeda nukreipti kompiuterių vardus į IP
adresus kompiuterių, kurie neatsiliepia pagal jūsų vardų serverį. Jūs turite
apibrėžti savo sistemą. Taip pag galite apibrėžti kitas savo tinklo sistemas,
jeigu nenorite diegti nuosavos vidinės DNS sistemos.
Kodo sąrašas 2.10: Atidarome /etc/hosts |
# nano -w /etc/hosts
|
Kodo sąrašas 2.11: Užpildome tinklo informaciją |
127.0.0.1 tux.homenetwork tux localhost
192.168.0.5 jenny.homenetwork jenny
192.168.0.6 benny.homenetwork benny
|
Išsaugokite ir išeikite iš redaktoriaus.
Jeigu jūs neturite PCMCIA kortos, jūs galite pereiti prie skyriaus „Sisteminė informacija“. PCMCIA-vartotojai turėtų
perskaityti kitą straipsnį apie PCMCIA.
Nebūtina: Padarykite PCMCIA kortą veikiančią
PCMCIA naudotojai turėtų primiausia įdiegti pcmcia-cs paketą.
Kodo sąrašas 2.12: Įdiegiame pcmcia-cs paketą |
# emerge pcmciautils
|
8.c. Sisteminė informacija
Pagrindinio (root) naudotojo slaptažodis
Pirmiausia nustatysime pagrindiniam (root) naudotojui slaptažodį parašydami
komandą:
Kodo sąrašas 3.1: Nustatome pagrindiniam (root) naudotojui slaptažodį |
# passwd
|
Sisteminė informacija
„Gentoo“ naudoja /etc/rc.conf rinkmeną bendriems sistemos
nustatymams. Atsidarykite rinkmeną /etc/rc.conf ir mėgaukitės
visais komentarais joje :)
Kodo sąrašas 3.2: Atidarome /etc/rc.conf |
# nano -w /etc/rc.conf
|
Kai užbaigsite nustatinėti /etc/rc.conf, išsaugokite ir
išeikite iš jo.
Kaip matote, rinkmenoje yra nemažai komentarų, padedančių atlikti būtinus
nustatymus. Jūs galite sukonfigūruoti savo sistemą, kad ji naudotų unicode,
taip pat nustatyti pagrindinį redaktorių ar darbo aplinkos valdytoją (tokius
kaip gdm ar kdm).
„Gentoo“ naudoja rinkmeną /etc/conf.d/keymaps klaviatūros
nustatymams saugoti. Paredaguokite jį, kad parinktumėte klaviatūrai teisingus
nustatymus.
Kodo sąrašas 3.3: Atidarome /etc/conf.d/keymaps |
# nano -w /etc/conf.d/keymaps
|
Atkreipkite dėmesį į KEYMAP kintamąjį. Jeigu pasirinksite neteisingą
KEYMAP, jūs gausite keistus rezultatus, kai spausdinsite su klaviatūra.
Kai baigsite konfigūruoti /etc/conf.d/keymaps, išsaugokite ir
uždarykite.
„Gentoo“ naudoja /etc/conf.d/clock rinkmeną laikrodžio parinktims
nustatyti. Redaguokite ją pagal savo poreikius.
Kodo sąrašas 3.4: Atidarome /etc/conf.d/clock |
# nano -w /etc/conf.d/clock
|
Jeigu jūsų kompiuterio laikrodis naudoja UTC laiką, jums reikia įrašyti
CLOCK="local" į rinkmeną. Kitu atveju jūs pastebėsite, kad jūsų
laikrodis netikslus.
Jūs turėtumėte nustatyti laiko zoną, kurią anksčiau nukopijavote į
/etc/localtime, kad vėlesni sys-libs/timezone-data paketo
naujinimai galėtų atnaujinti /etc/localtime automatiškai.
Pavyzdžiui, jeigu naudojote GMT laiko zoną, turėtumėte pridėti
TIMEZONE="GMT"
Kai baigsite nustatinėti /etc/conf.d/clock, išsaugokite ir
uždarykite rinkmeną.
Tęskite ties skyriumi „Būtinų sistemos įrankių
diegimas“.
9. Būtinų sistemos įrankių diegimas
9.a. Sistemos žurnalizavimo įrankis
Kai kurių įrankių nėra stage3 tar archyve, nes keli paketai teikia
vienodą funkcionalumą. Dabar visiškai priklauso nuo jūsų, kuriuos pasirinksite
įdiegti.
Pirmasis įrankis, dėl kurio turite apsispręsti, turi teikti žurnalizavimo
galimybes jūsų sistemai. „Unix“ ir „Linux“ turi puikias žurnalizavimo istorijos
galimybes -- jei norite, galite žurnalizuoti viską, kas vyksta jūsų sitemoje į
žurnalų rinkmenas. Tai vykdoma sistemos žurnalizavimo įrankio pagalba.
„Gentoo“ siūlo keletą sistemos žurnalizavimo įrankių. Tai yra sysklogd,
kuris yra tradicinis sistemos žurnalizavimo tarnybų rinkinys, syslog-ng,
pažangus sistemos žurnalizavimo įrankis, ir metalog, kuris yra labai
konfigūruotinas sistemos žurnalilzavimo įrankis. Kiti gali būti prieinami per
„Portage“ - mūsų esamų paketų skaičius didėja kasdien.
Jei planuojate naudoti sysklogd ar syslog-ng, po to turbūt
norėsite įsidiegti logrotate, kadangi tie sistemos žurnalizavimo
įrankiai neteikia jokių žurnalų rinkmenų kaitaliojimo įrankių.
Kad įdiegtumėte pasirkinktą sistemos žurnalizavimo įrankį, įdiekite jį komandos
emerge pagalba, ir pridėkite jį į numatytąjį įkrovos lygį, pasinaudodami
rc-update. Kitame pavyzdyje parodomas syslog-ng įdiegimas.
Žinoma, pakeiskite savo sistemos žurnalizavimo įrankiu.
Kodo sąrašas 1.1: Sistemos žurnalizavimo įrankio diegimas |
# emerge syslog-ng
# rc-update add syslog-ng default
|
9.b. Nebūtina: Cron tarnyba
Kita yra cron tarnyba. Nors ji yra nebūtina ir nėra privaloma jūsų sistemai,
yra išmintinga ją įdiegti. Tačiau kas yra cron tarnyba? Cron tarnyba vykdo
suplanuotas komandas. Ji yra labai paranki, jei jūs turite reguliariai vykdyti
kokią nors komandą (pavyzdžiui kasdien, kas savaitę ar kas mėnesį).
Gentoo siūlo tris galimas cron tarnybas: dcron, fcron ir
vixie-cron. Bet kurio iš jų diegimas yra panašus į sistemos
žurnalizavimo įrankio. Tačiau, dcron ir fcron reikalauja
papildomos konfigūracijos komados, t.y. crontab /etc/crontab. Jei jūs
nežinote ką pasirinkti, naudokite vixie-cron.
Diegimui be tinklo sujungimo mes teikiame tik vixie-cron. Jeigu jūs
norite kitos cron tarnybos, galite palaukti ir įdiegti ją vėliau.
Kodo sąrašas 2.1: Cron tarnybos diegimas |
# emerge vixie-cron
# rc-update add vixie-cron default
# crontab /etc/crontab
|
9.c. Nebūtina: Rinkmenų indeksavimas
Jeigu norite indeksuoti savo sistemos rinkmenas, kad galėtumėte greitai jas
rasti, naudodamiesi locate įrankiu, turite įdiegti
sys-apps/slocate.
Kodo sąrašas 3.1: Slocate diegimas |
# emerge slocate
|
9.d. Rinkmenų išdėstymo sistemos įrankiai
Priklausomai nuo to, kokią rinkmenų išdėstymo sistemą naudojate, turite įdiegti
reikiamas rinkmenų išdėstymo sistemos paslaugų programas (rinkmenų išdėstymo
sistemos vientisumo tikrinimui, papildomų rinkmenų išdėstymo sistemų kūrimui ir
t.t.). Turėkite omenyje, jog įrankiai, skirti ex2/ext3 rinkmenų išdėstymo
sistemų valdymui (e2fsprogs) jau įdiegti kaip sistemos dalis.
Šioje lentelėje yra įrankių, kuriuos jums reikia įdiegti, jei naudojate tam
tikrą rinkmenų išdėstymo sistemą, sąrašas:
| Rinkmenų išdėstymo sistema |
Įrankis |
Diegimo komanda |
| XFS |
xfsprogs |
emerge xfsprogs |
| ReiserFS |
reiserfsprogs |
emerge reiserfsprogs |
| JFS |
jfsutils |
emerge jfsutils |
Jei jūs esate EVMS naudotojas, jūs taip pat galite įdiegti evms:
Kodo sąrašas 4.1: EVMS įrankių diegimas |
# USE="-gtk" emerge evms
|
USE="-gtk" užkirs kelią priklausomybių įdiegimui. Jeigu jūs norėsite
aktyvuoti grafinius evms įrankius, vėliau jūs galėsite evms
perkompiluoti.
9.e. Tinklo įrankiai
Jei jums nereikia jokių papildomų įrankių tinklui (tokių kaip ppp ar dhcp
klientas), tęskite su skyriumi Įkrovos
tvarkyklės konfigūravimas.
Nebūtina: DHCP kliento diegimas
Jei jums reikia, kad „Gentoo“ IP adresą jūsų tinklo sąsajai gautų automatiškai,
savo sistemoje turite įdiegti dhcpcd (ar bet kurią kitą DHCP kliento
programą -- esamų DHCP kliento programų sąrašą žiūrėkite skyriuje „Modulinis tinklas“). Jiegu to nepadarysite
dabar, po „Gentoo“ įdiegimo jūs galite nebeprisijungti prie interneto!
Kodo sąrašas 5.1: dhcpcd diegimas |
# emerge dhcpcd
|
Nebūtina: PPPoE kliento diegimas
Jei jums reikia ppp, kad prisijungtumėte prie tinklo, turite jį įdiegti.
Kodo sąrašas 5.2: ppp diegimas |
# emerge ppp
|
Dabar tęskite su skyriumi Įkrovos tvarkyklės
konfigūravimas.
10. Įkrovos tvarkyklės konfigūravimas
10.a. Pasirinkimas
Įvadas
Dabar, kai jūsų branduolys sukonfigūruotas ir sukompiliuotas ir būtiniausi
sistemos konfigūraciniai failai teisingai užpildyti, laikas įdiegti programą,
kuri užkraus branduolį, kai jūs paleisite sistemą. Tokia programa vadinama
įkrovos tvarkykle.
x86 architektūrai „Gentoo Linux“ teikia GRUB ir LILO.
Tačiau prieš įdiegdami įkrovos tvarkyklę, informuosime jus, kaip sukonfigūruoti
kadrų buferį (žinoma, jei jūs norite jo). Su kadrų buferiu galite paleisti
„Linux“ komandinę eilutę su (apribotomis) grafinėmis galimybėmis (pavyzdžiui,
gražios įkrovos užsklandos, kurią teikia „Gentoo“, naudojimas).
Nebūtina: Kadrų buferis (framebuffer)
Jeigu sukonfiguravote branduolį su kadrų buferio palaikymu (arba
naudojote genkernel numatytąją sąranką), galite jį aktyvuoti pridėdami
vga ir/arba video sakinį į savo įkrovos tvarkyklės konfigūracinį
failą.
Pirmiausia jums reikia žinoti, kokio tipo kadrų buferio įtaisą naudojate. Jei
naudojate branduolio medį su „Gentoo“ pataisomis (tokį kaip
gentoo-sources), jūs turite galimybę pažymėti uvesafb kaip
VESA tvarkyklę (šiame branduolyje tai yra numatytoji parinktis).
Jei taip ir yra, jūs naudojate uvesafb ir neturite nustatyti
vga sakinio. Kitu atveju naudojate vesafb tvarkyklę ir
turite nustatyti vga sakinį.
vga sakinys kontroliuoja jūsų vesafb kadrų buferio skiriamąją
gebą ir spalvų gylį. Kaip nurodyta rinkmenoje
/usr/src/linux/Documentation/fb/vesafb.txt (kuri įdiegiama, kai
jūs įsidiegiate branduolio pirminio teksto paketą), juo turite nurodyti VESA
numerį, atitinkantį pageidaujamą skiriamąją gebą ir spalvų gylį.
Šioje lentelėje surašytos galimos skiriamosios gebos ir spalvų gyliai bei
atitinkamos vertės, kurias turite nurodyti vga sakinyje.
|
640x480 |
800x600 |
1024x768 |
1280x1024 |
| 256 |
0x301 |
0x303 |
0x305 |
0x307 |
| 32k |
0x310 |
0x313 |
0x316 |
0x319 |
| 64k |
0x311 |
0x314 |
0x317 |
0x31A |
| 16M |
0x312 |
0x315 |
0x318 |
0x31B |
video sakinys kontroliuoja kadrų buferio vaizdavimo parinktis. Jame
reikia nurodyti kadrų buferio tvarkyklę, o po jos valdymo sakinius, kuriuos
norite aktyvinti. Visi kintamieji surašyti rinkmenoje
/usr/src/linux/Documentation/fb/vesafb.txt. Dažniausiai naudojamos
parinktys:
| Nuostata |
Paaiškinimas |
| ywrap |
Tariama, kad vaizdo plokštė gali apsukti savo atmintį (t.y. pratęsti nuo
pradžios, kai priartėjama prie pabaigos)
|
| mtrr:n
|
Nustatyti MTRR registrus. n gali būti:
0 - pasyvinta
1 - nepasiekiama
2 - write-back
3 - write-combining
4 - write-through
|
| mode |
(tik uvesafb)
Nustatyti skiriamąją gebą, spalvų gylį ir atnaujinimo dažnį. Pavyzdžiui,
1024x768-32@85 1024x768 skiriamajai gebai, 32 bitų spalvų gyliui ir
85 Hz atnaujinimo dažniui.
|
Tų dviejų sakinių rezultatas galėtų būti kažkas panašaus į vga=0x318
video=vesafb:mtrr:3,ywrap arba
video=uvesafb:mtrr:3,ywrap,1024x768-32@85. Užsirašykite šias nuostatas,
jų greitai prireiks.
Dabar pratęskite įdiegdami GRUB arba LILO.
10.b. Numatyta: GRUB naudojimas
GRUB terminologijos supratimas
Norint perprasti GRUB, svarbiausia yra suprasti, kaip GRUB nurodomi standieji
diskai ir skirsniai. Jūsų „Linux“ skirsnis /dev/sda1 GRUB'e
tikriausiai bus pavadintas (hd0,0). Pastebėkite lenktinius
skliaustus aplink hd0,0 - jie privalomi.
Standieji diskai skaičiuojami nuo nulio, o ne nuo „a“, o skirsniai prasideda
nuliu vietoj vieneto. Žinokite, kad kaip hd įtaisai skaičiuojami tik standieji
diskai, o ne atapi-ide įtaisai, tokie kaip kompaktinių diskų leidimo ir įrašymo
įtaisai. Tokia pat konstrukcija naudojama SCSI diskams. (Paprastai jiems
priskiriami didesni skaičiai negu IDE diskams, išskyrus kai BIOS
sukonfigūruotas įkelti iš SCSI įtaisų.) Kai jūs nurodote BIOS įkelti iš kito
standžiojo disko (pavyzdžiui, jūsų „primary slave“), tas standusis
diskas yra matomas kaip hd0.
Tarkim, jūs turite standųjį diską /dev/sda ir dar du,
/dev/sdb bei /dev/sdc, tuomet /dev/sdb7
verčiamas į (hd1,6). Tai gali būti kebloka, ir tai iš tiesų keblu,
bet, kaip matysime, GRUB siūlo „tab“ užbaigimo mechanizmą, parankų turintiems
daug standžiųjų diskų bei skirsnių ir šiek tiek pasimetusiems GRUB numeravimo
schemoje.
Dabar laikas įdiegti GRUB.
GRUB diegimas
Įdiekime GRUB:
Kodo sąrašas 2.1: GRUB diegimas |
# emerge grub
|
Nors GRUB jau įdiegtas, vis dar turime parašyti jam konfigūracinę rinkmeną ir
įkelti GRUB į MBR, kad GRUB automatiškai įkeltų jūsų naujai sukurtą branduolį.
Sukurkite /boot/grub/grub.conf nano ar kitu tekstų
redaktoriumi:
Kodo sąrašas 2.2: /boot/grub/grub.conf kūrimas |
# nano -w /boot/grub/grub.conf
|
Dabar kursime grub.conf. Žemiau rasite du galimus
grub.conf pavyzdžius šiame vadove naudojamoms skirsnių išdėstymo
schemoms. Išsamiai paaiškinome tik pirmąjį grub.conf.
Įsitikinkite, kad naudojate savo branduolio atvaizdo rinkmenos
pavadinimą ir, jei reikia, savo initrd atvaizdo rinkmenos pavadinimą.
-
Pirmasis grub.conf yra žmonėms, kurie nenaudojo
genkernel savo branduolio kūrimui
-
Antrasis grub.conf yra žmonėms, kurie naudojo genkernel
savo branduolio kūrimui
Pastaba:
„Grub“ paskiria įrenginių pavadinimus pagal BIOS. Jeigu pakeisite savo BIOS
nustatymus, gali pasikeisti ir jūsų įrenginių raidės ir numeriai. Pavyzdžiui,
jeigu pakeisite savo įrenginių įkrovimo tvarką, gali tekti pakeisti ir „grub“
konfigūraciją.
|
Pastaba:
Jeigu jūsų pagrindinė (root) rinkmenų išdėstymo sistema yra JFS, jūs
privalote pridėti „ ro“ prie kernel eilutės, kadangi JFS turi
peržiūrėti savo žurnalą prieš leisdama prijungti skirsnį rašymui.
|
Kodo sąrašas 2.3: grub.conf ne genkernel naudotojams |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo Linux 2.6.24-r5
root (hd0,0)
kernel /boot/kernel-2.6.24-gentoo-r5 root=/dev/sda3
title Gentoo Linux 2.6.24-r5 (gelbėjimas)
root (hd0,0)
kernel /boot/kernel-2.6.24-gentoo-r5 root=/dev/sda3 init=/bin/bb
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Kodo sąrašas 2.4: grub.conf genkernel naudotojams |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo Linux 2.6.24-r5
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.24-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3
initrd /boot/initramfs-genkernel-x86-2.6.24-gentoo-r5
title Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Jeigu naudojote kitokią skaidymo skirsniais schemą ir/arba branduolio atvaizdą,
atitinkamai priderinkite. Tačiau įsitikinkite, kad viskas, kas liečia GRUB
įtaisą (pavyzdžiui, (hd0,0) yra atitinkama prijungimo taškui, o ne
pagrindiniam katalogui. Kiataip tariant,
(hd0,0)/grub/splash.xpm.gz iš tiesų yra
/boot/grub/splash.xpm.gz, kadangi (hd0,0) yra
/boot.
Be to, jei pasirinkote kitokią skaidymo skirsniais schemą ir neperkėlėte
/boot į atskirą skirsnį, /boot prefiksas, panaudotas
kodo pavyzdžiuose aukščiau, yra tikrai reikalingas. Jeigu sekėte mūsų
siūlomą skaidymo skirsniais planą, /boot prefiksas nereikalingas,
bet nuoroda į boot suveiks. Trumpai tariant, aukščiau pateikti
pavyzdžiai turėtų veikti nepaisant to, ar jūs nurodėte atskirą
/boot, ar ne.
Jei jums reikia pateikti branduoliui (kernel) kokių nors kitų parinkčių,
paprasčiausiai pridėkite jas prie „kernel“ komandos pabaigos. Mes jau teikiame
vieną parinktį (root=/dev/sda3 ar real_root=/dev/sda3), bet
galite pateikti ir kitas, tokias kaip video ir/arba vga sakiniai
kadrų buferiui, apie kurį kalbėjome anksčiau.
Jeigu jūs naudojate 2.6.7 ar naujesnį branduolį ir užtrumpinote savo standųjį
diską, nes BIOS negali valdyti didelės talpos standžiųjų diskų, jums reikės
pridėti sda=stroke. Pakeiskite sda savo įrenginiu, reikalaujančiu tokios
parinkties.
genkernel naudotojai turėtų žinoti, kad jų branduoliai naudoja tokias
pačias įkrovos parinktis kaip ir diegimo CD. Pavyzdžiui, jei turite SCSI
įtaisų, turėtumėte pridėti doscsi kaip branduolio parinktį.
Dabar išsaugokite grub.conf rinkmeną ir užverkite teksto
redaktorių. Jums vis dar reikia įdiegti GRUB į MBR (Master Boot Record), kad
GRUB galėtų automatiškai pasileisti, kai kraunate savo sistemą.
GRUB plėtotojai rekomenduoja naudoti grub-install. Tačiau jeigu dėl
kažkokių priežasčių grub-install tinkamai nesuveikia, turite galimybę
įdiegti GRUB rankiniu būdu.
Pereikite prie skyriaus Numatyta: GRUB
nustatymas, naudojant grub-install arba Alternatyva: GRUB nustatymas rankiniu būdu.
Numatyta: GRUB nustatymas, naudojant grub-install
Kad įdiegtumėte GRUB, jums reikės įvykdyti grub-install komandą. Tačiau
grub-install dabar nesuveiks, kadangi esame pakeisto šakninio katalogo
aplinkoje. Mums reikia sukurti /etc/mtab, kuriame išvardytos visos
prijungtos rinkmenų išdėstymo sistemos. Laimei, yra lengvas būdas padaryti tai
- tiesiog nukopijuoti /proc/mounts į /etc/mtab,
išskyrus rootfs eilutę, jei nesukūrėte atskiro „boot“ skirsnio. Ši
komanda suveiks abiem atvejais:
Kodo sąrašas 2.5: /etc/mtab sukūrimas |
# grep -v rootfs /proc/mounts > /etc/mtab
|
Dabar galime įdiegti GRUB, naudodami grub-install:
Kodo sąrašas 2.6: grub-install įvykdymas |
# grub-install --no-floppy /dev/sda
|
Jei turite daugiau klausimų, susijusių su GRUB, prašome skaityti GRUB DUK arba GRUB žinyną.
Tęskite su skyriumi Sistemos perkrovimas.
Alternatyva: GRUB nustatymas rankiniu būdu
GRUB paleidimui parašykite grub. Atsidursite grub> grub
komandinės eilutės raginime. Dabar turite parašyti reikiamas komandas, kad
įdiegtumėte GRUB įkrovos įrašą į savo standųjį diską.
Kodo sąrašas 2.7: GRUB aplinkos paleidimas |
# grub --no-floppy
|
Pastaba:
Jeigu jūsų sistema neturi jokių diskelių (floppy) įtaisų, pridėkite
--no-floppy parinktį prie aukstesnės komandos, kad neleistumėte grub
ieškoti (neegzistuojančių) diskelių įtaisų.
|
Sąrankos pavyzdyje norime įdiegti GRUB, kad jis nuskaitytų savo duomenis iš
įkrovos skirsnio /dev/sda1 ir GRUB įkrovos įrašas būtų
standžiojo disko MBR (master boot record), taigi pirmas dalykas, kurį matytume,
kai įjungiame kompiuterį, būtų GRUB raginimas. Žinoma, jei diegimo metu
nesilaikėte konfigūracijos pavyzdžio, atitinkamai pakeiskite komandas.
GRUB „tab“ užbaigimo mechanizmas gali būti naudojamas GRUB viduje. Pavyzdžiui,
jei įvesite „root ( ir paspausite „TAB“ klavišą, jums bus pateiktas
įtaisų sąrašas (tokių kaip hd0). Jeigu jūs įvesite „root
(hd0,“ ir tuomet paspausite „TAB“ klavišą, gausite sąrašą pasirinktinų
skirsnių (tokių kaip hd0,0).
Naudojant „tab“ užbaigimą, GRUB nustatymas neturėtų būti toks sunkus. Dabar
tęskime, konfigūruokime GRUB, ar ne? :-)
Kodo sąrašas 2.8: GRUB diegimas į MBR |
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
|
Pastaba:
Jei norite įdiegti GRUB į kokį nors skirsnį vietoje MBR, turite pakeisti
setup komandą, kad jį nurodytų tinkamą skirsnį. Pavyzdžiui, jei norite
įdiegti GRUB į /dev/sda3, tuomet komanda pavirs į setup
(hd0,2). Tačiau mažai naudotojų nori taip daryti.
|
Jei turite daugiau klausimų, susijusių su GRUB, skaitykite GRUB DUK arba GRUB žinyną.
Tęskite su skyriumi Sistemos perkrovimas.
10.c. Alternatyva: LILO naudojimas
LILO diegimas
LILO, LInuxLOader, yra išbandytas ir tikras „Linux“ įkrovos tvarkyklių darbo
jautis. Tačiau jame trūksta kelių funkcijų, kurias turi GRUB (tai viena
priežasčių, dėl kurių GRUB šiuo metu populiarėja). Priežastis, dėl kurios LILO
vis dar yra naudojamas, yra ta, kad kai kuriose sistemose GRUB neveikia, o LILO
veikia. Žinoma, jis naudojamas ir dėl to, kad kai kurie žmonės žino LILO ir
nori jį toliau naudoti. Bet kuriuo atveju, „Gentoo“ palaiko abu, ir akivaizdu,
kad jūs pasirinkote naudoti LILO.
Įdiegti LILO yra juokų darbas; tiesiog naudokite emerge.
Kodo sąrašas 3.1: LILO diegimas |
# emerge lilo
|
Configuring LILO
Kad sukonfigūruotumėte LILO, privalote sukurti /etc/lilo.conf.
Paleiskite savo mėgiamą tekstų redaktorių (šiame vadove mes naudojame
nano) ir sukurkite rinkmeną.
Kodo sąrašas 3.2: /etc/lilo.conf kūrimas |
# nano -w /etc/lilo.conf
|
Prieš kelias dalis mes paprašėme jūsų atsiminti branduolio atvaizdo, kurį jūs
sukūrėte, pavadinimą. Kitame lilo.conf pavyzdyje naudojame
pavyzdinę skaidymo skirsniais schemą. Yra dvi atskiros dalys:
-
Viena tiems, kurie nenaudojo genkernel savo branduolio kūrimui
-
Viena tiems, kurie naudojo genkernel savo branduolio kūrimui
Įsitikinkite, kad naudojate savo branduolio atvaizdo rinkmenos
pavadinimą ir, jei reikia, savo initrd atvaizdo rinkmenos pavadinimą.
Pastaba:
Jeigu jūsų pagrindinė (root) rinkmenų išdėstymo sistema yra JFS, jūs
privalote pridėti „ ro“ prie kernel eilutės, kadangi JFS turi
peržiūrėti savo žurnalą prieš leisdama prijungti skirsnį rašymui.
|
Kodo sąrašas 3.3: /etc/lilo.conf pavyzdys |
boot=/dev/sda
prompt
timeout=50
default=gentoo
image=/boot/kernel-2.6.24-gentoo-r5
label=gentoo
read-only
root=/dev/sda3
image=/boot/kernel-2.6.24-gentoo-r5
label=gentoo.rescue
read-only
root=/dev/sda3
append="init=/bin/bb"
image=/boot/kernel-genkernel-x86-2.6.24-gentoo-r5
label=gentoo
read-only
root=/dev/ram0
append="init=/linuxrc ramdisk=8192 real_root=/dev/sda3"
initrd=/boot/initramfs-genkernel-x86-2.6.24-gentoo-r5
other=/dev/sda6
label=windows
|
Pastaba:
Jeigu naudojote kitokią skaidymo skirsniais schemą ir/arba branduolio atvaizdą,
atitinkamai priderinkite.
|
Jei jums reikia branduoliui (kernel) pateikti papildomų parinkčių, pridėkite
append sakinį prie dalies. Kaip pavyzdį mes pridėsime video
sakinį, kad aktyvintumėme kadrų buferį:
Kodo sąrašas 3.4: append naudojimas branduolio parinkčių pridėjimui |
image=/boot/kernel-2.6.24-gentoo-r5
label=gentoo
read-only
root=/dev/sda3
append="video=vesafb:mtrr,ywrap,1024x768-32@85"
|
Jeigu jūs naudojate 2.6.7 ar naujesnį branduolį ir užtrumpinote savo standųjį
diską, nes BIOS negali valdyti didelės talpos standžiųjų diskų, jums reikės
pridėti sda=stroke. Pakeiskite sda savo įrenginiu, reikalaujančiu tokios
parinkties.
genkernel naudotojai turėtų žinoti, kad jų branduoliai naudoja tokias
pačias įkrovos parinktis kaip ir diegimo CD. Pavyzdžiui, jei turite SCSI
įtaisų, turėtumėte pridėti doscsi kaip branduolio parinktį.
Dabar išsaugokite rinkmeną ir užverkite tekstų redaktorių. Kad užbaigtumėte,
turite paleisti /sbin/lilo, kad LILO galėtų naudoti
/etc/lilo.conf jūsų sistemai (t.y. įsidiegti į diską). Atminkite,
kad jūs turėsite paleisti /sbin/lilo kiekvieną kartą, kai įdiegsite
naują branduolį ar kaip nors pakeisite meniu.
Kodo sąrašas 3.5: LILO diegimo užbaigimas |
# /sbin/lilo
|
Jei turite daugiau klausimų, susijusių su LILO, skaitykite jo vikipedijos
puslapį.
Dabar galite tęsti su skyriumi Sistemos perkrovimas.
10.d. Sistemos perkrovimas
Išeikite iš pakeisto šakninio katalogo aplinkos ir atjunkite visus prijungtus
skirsnius. Tuomet įveskite vieną magišką komandą, kurios taip laukėte:
reboot.
Kodo sąrašas 4.1: Atjungiame visus skirsnius ir perkrauname sistemą |
# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot
|
Žinoma, nepamirškite išimti įkraunamojo kompaktinio disko, kitaip vėl bus
įkrautas CD, o ne jūsų naujoji „Gentoo“ sistema.
Vos tik perkrausite į savo „Gentoo“ sistemą, pabaikite su skyriumi Jūsų „Gentoo“ diegimo užbaigimas.
11. „Gentoo“ diegimo užbaigimas
11.a. Naudotojų administravimas
Naudotojo kasdieniniam darbui kūrimas
Darbas pagrindiniu (root) naudotoju „Unix/Linux“ sistemoje yra nesaugus
ir turi būt vengiamas. Todėl yra primygtinai patariama sukurti naudotoją
kasdieniniam naudojimui.
Grupės, kurioms priklauso vartotojas, nusako, kokius veiksmus jis gali atlikti.
Šioje lentelėje pateikta keletas svarbių grupių, kurias jūs galbūt norėsite
naudoti.
| Grupė |
Aprašymas |
| audio |
leidžia naudotis garso įrenginiais |
| cdrom |
leidžia tiesiogiai pasiekti optinius įrenginius |
| floppy |
leidžia tiesiogiai pasiekti lanksčiųjų diskelių įrenginius |
| games |
leidžia žaisti žaidimus |
| portage |
leidžia vykdyti emerge --pretend paprastam vartotojui |
| usb |
leidžia naudotis USB įrenginiais |
| plugdev |
leidžia prijungti ir naudotis prijungiamaisiais įrenginiais, tokiais kaip
kameros ir USB atmintinės
|
| video |
leidžia pasiekti vaizdo įrašymo įrenginius ir naudoti aparatinį vaizdo
spartinimą
|
| wheel |
leidžia naudotis su
|
Pavyzdžiui, norėdami sukurti naudotoją jonas, kuris yra grupių
wheel, users ir audio narys, iš pradžių prisijunkite
kaip pagrindinis (root) naudotojas (tik root gali kurti naudotojus) ir
įvykdykite useradd:
Kodo sąrašas 1.1: Naudotojo kasdieniniam darbui sukūrimas |
Login: root
Password:
# useradd -m -G users,wheel,audio -s /bin/bash jonas
# passwd jonas
Password:
Re-enter password:
|
Prireikus atlikti užduotį root teisėmis, naudotojas gali naudoti su -
tam, kad laikinai gautų root privilegijas. Kitas būdas yra naudoti sudo
paketą, kuris, deramai sukonfigūruotas, yra labai saugus.
11.b. Disko valymas
Tar archyvų šalinimas
Dabar, kai pabaigėte „Gentoo“ diegimą ir perkrovėte kompiuterį, jei viskas vyko
sklandžiai, galite pašalinti atsiųstus stage3 tar archyvus ir „Portage“
atvaizdą iš savo standžiojo disko. Atminkite, kad jie buvo atsiųsti į jūsų
/ katalogą.
Kodo sąrašas 2.1: Šaliname stage3 tar archyvą |
# rm /stage3-*.tar.bz2*
|
Kodo sąrašas 2.2: Šaliname „Portage“ atvaizdą |
# rm /portage-latest.tar.bz2*
|
12. Kur eiti nuo čia?
12.a. Dokumentacija
Sveikiname! Dabar jūs jau turite veikiančią „Gentoo“ sistemą. Bet kur eiti
toliau? Kokie yra jūsų pasirinkimai? Ką išsiaiškinti pirmiausia? Gentoo
suteikia daugybę galimybių, ir daug dokumentuotų (ir mažiau dokumentuot1ų)
ypatybių.
Jūs neabejotinai turėtumėte žvilgtelėti į kitą „Gentoo“ vadovo dalį „Darbas su „Gentoo“, kuri paaiškins, kaip išlaikyti
atnaujintą savo programinę įrangą, kaip įdiegti daugiau programinės įrangos,
kokios yra USE vėliavėles, kaip veikia „Gentoo“ įkrovos sistema ir t.t.
Jeigu jūs esate susidomėjęs optimizuoti savo sistemą naudoti kaip darbinį
kompiuterį, arba jūs norite išmokti kaip sukonfigūruoti savo sistemą kaip
visiškai veikiantį stalinį kompiuterį, žiūrėkite mūsų plačius „Gentoo“ darbastalio
dokumentacijos išteklius“. Be to, jūs tikriausiai norite pasinaudoti mūsų
lokalizavimo vadovu pasidaryti
savo sistemą lengviau prieinamesnę namie.
Mes taip pat turime „Gentoo“ saugumo
vadovą“, kurį yra tikrai verta pasiskaityti.
Pilnam mūsų dokumentacijos sarašui pasitikrinkite mūsų dokumentacijos išteklių puslapį.
12.b. „Gentoo“ internete
Jūs visuomet esate laukiamas mūsų „Gentoo“
forumuose arba mūsų „Gentoo“ IRC
kanaluose.
Mes taip pat turime keletą pašto
konferencijų, kurios yra atviros visiems mūsų naudotojams. Informacija
kaip prisijungti yra šiame puslapyje.
Dabar mes užsičiaupsime ir leisime jums mėgautis diegimu. :)
B. Darbas su „Gentoo“
1. „Portage“ įvadas
1.a. Pažintis su „Portage“
„Portage“ - tikriausiai žymiausia „Gentoo“ inovacija programinės įrangos
valdyme. Dėl savo didelio lankstumo bei didžiulio funkcijų kiekio ji dažnai
minima kaip geriausias „Linux“ programinės įrangos valdymo įrankis.
Visa „Portage“ sukurta „Python“ ir „Bash“ pagrindu, taigi visiškai
prieinama naudotojams, kadangi abi yra scenarijų (scripting) kalbos.
Dauguma naudotojų dirbs „Portage“, naudodamiesi emerge įrankiu. Šis
skyrius nėra skirtas informacijos, prieinamos „emerge“ žinyno puslapyje,
atkartojimui. Pilną „emerge“ parametrų aprašymą galite rasti žinyno puslapyje:
Kodo sąrašas 1.1: „emerge“ žinyno puslapio skaitymas |
$ man emerge
|
1.b. „Portage“ medis
„Ebuild“ rinkmenos
Kai kalbame apie paketus, dažnai turime omenyje programinės įrangos
pavadinimus, prieinamus „Gentoo“ naudotojams „Portage“ medyje. „Portage“ medis
yra ebuild rinkmenų, kuriose yra visa informacija, reikalinga „Portage“
programinės įrangos valdymui (diegimui, paieškai, užklausoms...). Šios „ebuild“
rinkmenos numatytai yra /usr/portage kataloge.
Kai jūs prašote „Portage“ atlikti kokį nors veiksmą, susijusį su programinės
įrangos pavadinimais, kaip pagrindą ji naudos jūsų sistemos „ebuild“ rinkmenas.
Taigi svarbu, kad jūs reguliariai atnaujintumėte savo sistemos „ebuild“
rinkmenas, kad „Portage“ turėtų informaciją apie naują programinę įrangą,
saugumo atnaujinimus ir panašiai.
„Portage“ medžio atnaujinimas
„Portage“ medis paprastai atnaujinamas per rsync, greitą prieauginę rinkmenų
perdavimo paslaugų programą. Atnaujinimas yra gana paprastas, kadangi
emerge komanda teikia „rsync“ sąsają:
Kodo sąrašas 2.1: „Portage“ medžio atnaujinimas |
# emerge --sync
|
Jeigu dėl ugniasienės apribojimų negalite naudotis „rsync“, vis vien galite
atnaujinti savo „Portage“ medį naudodamiesi mūsų kikvieną dieną sukuriamomis
„Portage“ medžio momentinėmis kopijomis. emerge-webrsync įrankis
automatiškai atsiunčia ir įdiegia jūsų sistemoje naujausią momentinę kopiją:
Kodo sąrašas 2.2: „emerge-webrsync“ paleidimas |
# emerge-webrsync
|
1.c. Programinės įrangos valdymas
Programinės įrangos paieška
Programinės įrangos pavadinimų paieškai „Portage“ medyje galite naudotis į
emerge įtaisytomis galimybėmis. Numatytai emerge --search
grąžina sąrašą paketų, kurių pavadinimas atitinka (pilnai arba dalinai)
nurodytą paieškos teriminą.
Pavyzdžiui, norėdami rasti visus paketus, kurių pavadinimuose yra „pdf“:
Kodo sąrašas 3.1: Paieška paketų, kurių pavadinimuose yra „pdf“ |
$ emerge --search pdf
|
Jei norite ieškoti ir aprašymuose, galite naudoti --searchdesc (arba
-S) modifikatorių:
Kodo sąrašas 3.2: Paieška paketų, susijusių su „pdf“ |
$ emerge --searchdesc pdf
|
Kai žvilgtelėsite į išvestį, pastebėsite, kad jums pateikiama galybė
informacijos. Laukai aiškiai įvardinti, todėl nesigilinsime į jų reikšmes:
Kodo sąrašas 3.3: „emerge --search“ išvesties pavyzdys |
* net-print/cups-pdf
Latest version available: 1.5.2
Latest version installed: [ Not Installed ]
Size of downloaded files: 15 kB
Homepage: http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/
Description: Provides a virtual printer for CUPS to produce PDF files.
License: GPL-2
|
Programinės įrangos diegimas
Vos tik rasite norimos programinės įrangos pavadinimą, galite ją lengvai
įdiegti naudodamiesi emerge: paprasčiausiai pridėkite paketo pavadinimą.
Pavyzdžiui, jei norite įsidiegti gnumeric:
Kodo sąrašas 3.4: „gnumeric“ diegimas |
# emerge gnumeric
|
Kadangi daugelis programų priklauso viena nuo kitos, bet kuriuo bandymu įdiegti
kokį nors programinės įrangos paketą taip pat gali būti įdiegtos kelios
priklausomybės. Nesijaudinkite, „Portage“ puikiai tvarkosi su priklausomybėmis.
Jei norite sužinoti, ką „Portage“ įdiegtų, kai paprašytumėte įdiegti
tam tikrą paketą, pridėkite --pretend modifikatorių. Pavyzdžiui:
Kodo sąrašas 3.5: Įsivaizduojamas „gnumeric“ diegimas |
# emerge --pretend gnumeric
|
Kai prašote „Portage“ įdiegti paketą, ji iš interneto atsiųs reikiamus
pirminius programų tekstus (jei reikia) ir numatytai išsaugos juos
/usr/portage/distfiles kataloge. Po to ji išarchyvuos,
sukompiliuos ir įdiegs paketą. Jei norite, kad „Portage“ tik atsiųstų pirminius
programų tekstus, tačiau jų nediegtų, prie emerge komandos pridėkite
parametrą --fetchonly.
When you ask Portage to install a package, it will download the necessary source
code from the internet (if necessary) and store it by default in
/usr/portage/distfiles. After this it will unpack, compile and
install the package. If you want Portage to only download the sources without
installing them, add the --fetchonly option to the emerge command:
Kodo sąrašas 3.6: „gnumeric“ pirminių tekstų atsiuntimas |
# emerge --fetchonly gnumeric
|
Įdiegto paketo dokumentacijos paieška
Dauguma paketų turi savas dokumentacijas. Ar paketo dokumetacija turėtų būti
įdiegta, ar ne, kartais nustato doc USE vėliavėlė. Ar yra doc
USE vėliavėlė, galite patikrinti emerge -vp <paketo pavadinimas>
komanda.
Kodo sąrašas 3.7: Tikrinimas, ar yra „doc“ USE vėliavėlė |
# emerge -vp alsa-lib
[ebuild N ] media-libs/alsa-lib-1.0.14_rc1 -debug +doc 698 kB
|
Geriausias būdas aktyvinti doc USE vėliavėlę yra daryti tai kiekvienam
paketui atskirai, nadojant /etc/portage/package.use, kad gautumėte
tik jus dominančių paketų dokumentacijas. Žinoma, jog šios vėliavėlės globalus
aktyvinimas gali sukelti problemų dėl žiedinių priklausomybių. Daugiau
informacijos galite rasti skyriuje „USE
vėliavėlės“.
Vos tik paketas būna įdiegtas, jo dokumentaciją paprastai galima rasti katalogo
/usr/share/doc pokatalogyje, pavadintame paketo vardu. Taip pat
galite gauti visų įdiegtų rinkmenų sąrašą, pasinaudodami įrankiu equery,
kuris yra app-portage/gentoolkit paketo dalis.
Kodo sąrašas 3.8: Paketo dokumentacijos paieška |
# ls -l /usr/share/doc/alsa-lib-1.0.14_rc1
total 28
-rw-r--r-- 1 root root 669 May 17 21:54 ChangeLog.gz
-rw-r--r-- 1 root root 9373 May 17 21:54 COPYING.gz
drwxr-xr-x 2 root root 8560 May 17 21:54 html
-rw-r--r-- 1 root root 196 May 17 21:54 TODO.gz
# equery files alsa-lib | less
media-libs/alsa-lib-1.0.14_rc1
* Contents of media-libs/alsa-lib-1.0.14_rc1:
/usr
/usr/bin
/usr/bin/alsalisp
|
Programinės įrangos šalinimas
Kai norite iš savo sistemos pašalinti programinės įrangos paketą, naudokite
emerge --unmerge. Taip „Portage“ bus pranešta pašalinti iš sistemos
visas įdiegtas to paketo rinkmenas, išskyrus tos programos
konfigūracines rinkmenas, jeigu po įdiegimo jas keitėte. Konfigūracinių
rinkmenų palikimas leidžia jums pratęsti darbą su paketu, jei kada nors
nuspręstumėte jį vėl įdiegti.
Tačiau turite būti ypač atsargūs: „Portage“ netikrins,
ar paketas, kurį norite pašalinti, nėra reikalingas kitam paketui. Vis dėlto ji
įspės jus, jei norėsite pašalinti svarbų paketą, kurį pašalinus jūsų sistema
nebeveiktų.
Kodo sąrašas 3.9: „gnumeric“ šalinimas iš sistemos |
# emerge --unmerge gnumeric
|
Kai šalinate paketą iš savo sistemos, to paketo priklausomybės, kurios buvo
įdiegtos automatiškai diegiant programinę įrangą, paliekamos. Kad „Portage“
aptiktų visas priklausomybes, kurios gali būti pašalintos, naudokitės
emerge komandos --depclean funkcija. Tai aptarsime vėliau.
Sistemos atnaujinimas
Kad išlaikytumėte savo sistemą puikioje būklėje (ir, žinoma, įsidiegtumėte
naujausius saugumo atnaujinimus), sistemą turite reguliariai atnaujinti.
Kadangi „Portage“ tikrina tik „ebuild“ rinkmenas jūsų „Portage“ medyje,
pirmiausia turite atnaujinti savo „Portage“ medį. Kai „Portage“ medis
atnaujintas, naudodami komandą emerge --update world galite atnaujinti
savo sistemą. Kitame pavyzdyje naudosime ir --ask modifikatorių, kuriuo
„Portage“ bus nurodyta atvaizduoti ketinamų atnaujinti paketų sąrašą ir
paklausta jūsų, ar norite tęsti.
Kodo sąrašas 3.10: Savo sistemos atnaujinimas |
# emerge --update --ask world
|
Tuomet „Portage“ ieškos jūsų įdiegtų paketų naujų versijų. Visgi ji patikrins
tik programų, kurias jūs aiškiai esate įdiegę (programų, išvardintų rinkmenoje
/var/lib/portage/world), versijas: ji visiškai netikrins jų
priklausomybių. Jeigu norite atnaujinti kiekvieną paketą, esantį jūsų
sistemoje, pridėkite argumentą --deep:
Kodo sąrašas 3.11: Visos sistemos atnaujinimas |
# emerge --update --deep world
|
Kadangi saugumo atnaujinimai būna ir jūsų sistemos paketams, kurių nesate
aiškiai nurodę įdiegti (bet įdiegiami kaip kitų programų priklausomybės),
kartas nuo karto rekomenduojama įvykdyti šią komandą.
Jei neseniai esate pakeitę kurias nors USE
vėliavėles, tikriausiai norėsite pridėti ir --newuse argumentą.
Tuomet „Portage“ patikrins, ar pakeitimas reikalauja naujų paketų įdiegimo arba
esamų sukompiliavimo iš naujo:
Kodo sąrašas 3.12: Pilno atnaujinimo atlikimas |
# emerge --update --deep --newuse world
|
Metapaketai
Kai kurie paketai „Portage“ medyje neturi jokio realaus turinio, bet yra
naudojami paketų rinkinio diegimui. Pavyzdžiui, kde paketas jūsų
sistemoje įdiegs pilną KDE aplinką, pritraukdamas įvairius paketus, susijusius
su KDE, kaip priklausomybes.
Jei kada nors norėsite pašalinti tokį paketą iš savo sistemos, emerge
--unmerge įvykdymas paketui neturės daug įtakos, kadangi priklausomybės
tebeliks sistemoje.
„Portage“ turi ir tokių likutinių priklausomybių šalinimo funkciją, tačiau
kadangi programinės įrangos prieinamumas dinamiškai priklausomas, pirmiausia
turite pilnai atnaujinti visą savo sistemą, įskaitant jums keičiant USE
vėliavėles padarytus naujus pakeitimus. Po to galite įvykdyti emerge
--depclean, kad pašalintumėte likutines priklausomybes. Kai tai padaryta,
turite sukompiliuoti iš naujo programas, kurios buvo dinamiškai susietos su
dabar jau pašalintais nebereikalingais programinės įrangos paketais.
Visa tai įgyendinama šiomis trimis komandomis:
Kodo sąrašas 3.13: Likutinių priklausomybių šalinimas |
# emerge --update --deep --newuse world
# emerge --depclean
# revdep-rebuild
|
revdep-rebuild pateikiamas gentoolkit pakete; nepamirškite
pirmiausia jo įdiegti:
Kodo sąrašas 3.14: „gentoolkit“ paketo diegimas |
# emerge gentoolkit
|
1.d. Kai „Portage“ skundžiasi...
Apie lizdus, virtualius paketus, atšakas, architektūras ir profilius
Kaip minėjome anksčiau, „Portage“ nepaprastai galinga ir palaiko daugybę
funkcijų, kurių trūksta kitiems programinės įrangos valdymo įrankiams. Kad tai
suprastumėte, pernelyg nesigilindami paaiškinsime kelis „Portage“ aspektus.
Dėl „Portage“ skirtingos vieno paketo versijos vienoje sistemoje gali būti
kartu. Nors kiti platinamieji paketai linkę įvardinti tuos paketus pagal jų
versijas (pavyzdžiui, freetype ir freetype2), „Portage“ naudoja
technologiją pavadinimu LIZDAS (SLOT). „Ebuild“ rinkmenoje versijai
nurodomas tam tikras LIZDAS (SLOT). „Ebuild“ rinkmenos su skirtingais lizdais
gali būti kartu vienoje sistemoje. Pavyzdžiui, freetype paketas turi
„ebuild“ rinkmenas su nurodytais lizdais SLOT="1" ir SLOT="2".
Dar yra paketų, kurie teikia tapačias funkcijas, tik skirtingai realizuotas.
Pavyzdžiui, ir metalogd, ir sysklogd, ir syslog-ng yra
sistemos žurnalizavimo įrankiai. Programos, priklausančios nuo „sistemos
žurnalizavimo įrankio“ negali turėti kaip priklausomybės, pavyzdžiui,
metalogd, kadangi tinka ir kiti sistemos žurnalizavimo įrankiai.
„Portage“ galimi virtualūs paketai (virtuals): kiekvienas sistemos
žurnalizavimo įrankis teikia virtualų paketą virtual/syslog, taigi
Programinė įranga „Portage“ medyje gali būti skirtingose atšakose. Numatytai
jūsų sistema priima tik „Gentoo“ manymu stabilius paketus. Dauguma naujų
užregistruojamų programinės įrangos paketų patenka į testavimo atšaką, kas
reiškia, jog prieš juos paskelbiant stabiliais turi būti atlikta daugiau
bandymų. Nors jūs „Portage“ medyje matysite tos programinės įrangos „ebuild“
rinkmenas, „Portage“ jos neatnaujins, kol ši neatsiras stabilioje atšakoje.
Kai kuri programinė įranga prieinama tik kelioms architektūroms. Programinė
įranga arba neveikia kitose architektūrose, arba jai reikia daugiau bandymų,
arba plėtotojas, patalpinęs tą prorgraminę įrangą į „Portage“ medį neturi
galimybės patikrinti, ar paketas veikia skirtingose architektūrose.
Kiekvienas „Gentoo“ diegimas laikosi tam tikro profilio (profile),
kuriame, be kitos informacijos, yra paketų, reikalingų normaliam sistemos
funkcionavimui, sąrašas.
Užblokuoti paketai
Kodo sąrašas 4.1: „Portage“ įspėjimas apie blokuotus paketus (naudojant --pretend) |
[blocks B ] mail-mta/ssmtp (is blocking mail-mta/postfix-2.2.2-r1)
|
Kodo sąrašas 4.2: „Portage“ įspėjimas apie blokuotus paketus (nenaudojant --pretend) |
!!! Error: the mail-mta/postfix package conflicts with another package.
!!! both can't be installed on the same system together.
!!! Please use 'emerge --pretend' to determine blockers.
|
„Ebuild“ rinkmenose yra specifiniai laukai, informuojantys „Portage“ apie
paketų priklausomybes. Įmanomos dviejų rūšių priklausomybės: kompiliavimo,
nurodytos lauke DEPEND, ir vykdymo, nurodytos lauke RDEPEND. Kai
viena iš tų priklausomybių aiškiai pažymi paketą ar virtualų paketą kaip
nesuderinamą, jis užblokuojamas.
Kad ištaisytumėte blokavimą, galite pasirinkti nediegti paketo arba pirmiausia
pašalinti konfliktuojantį paketą. Duotame pavyzdyje galite rinktis nediegti
postfix arba pirma pašalinti ssmtp paketą.
Galite aptikti ir užblokuotus tam tikrų versijų paketus, pavyzdžiui
<media-video/mplayer-bin-1.0_rc1-r2. Tokiu atveju blokavimą pašalintų
paketo atnaujinimas iki naujesnės versijos.
Taip pat įmanoma, jog du paketai, kurie abu turėtų būti įdiegti, blokuoja
vienas kitą. Tokiu mažai tikėtinu atveju turėtumėte sužinoti, kodėl jums reikia
įdiegti juos abu. Daugeliu atvejų galite apsieiti ir tik su vienu iš paketų.
Jei ne, praneškite apie riktą „Gentoo“ riktų
sekimo sistemoje.
Užmaskuoti paketai
Kodo sąrašas 4.3: „Portage“ įspėjimas apie užmaskuotus paketus |
!!! all ebuilds that could satisfy "bootsplash" have been masked.
|
Kodo sąrašas 4.4: „Portage įspėjimas apie užmaskuotus paketus - priežastis |
!!! possible candidates are:
- gnome-base/gnome-2.8.0_pre1 (masked by: ~x86 keyword)
- lm-sensors/lm-sensors-2.8.7 (masked by: -sparc keyword)
- sys-libs/glibc-2.3.4.20040808 (masked by: -* keyword)
- dev-util/cvsd-1.0.2 (masked by: missing keyword)
- games-fps/unreal-tournament-451 (masked by: package.mask)
- sys-libs/glibc-2.3.2-r11 (masked by: profile)
|
Kai norite įdiegti paketą, kuris neprieinamas jūsų sistemai, gausite tokį
pranešimą apie užmaskuotą paketą. Jūs turėtumėte pabandyti įsidiegti kitą
programą, prieinamą jūsų sistemai, arba palaukti, kol paketas bus prieinamas.
Visuomet yra priežastis, kodėl paketas neprieinamas:
-
~arch keyword reiškia, jog programa nėra pakankamai išbandyta,
kad galėtų būti pateikta stabilioje šakoje. Palaukite kelias dienas ar
savaites ir bandykite vėl.
-
-arch keyword arba -* keyword reiškia, jog programa
neveikia jūsų architektūroje. Jeigu tikite, jog programa visgi veikia,
praneškite apie riktą mūsų riktų sekimo
sistemos tinklalapyje.
-
missing keyword reiškia, jog programa dar nebuvo išbandyta jūsų
architektūroje. Paprašykite pritaikymo architektūroms komandos išbandyti
paketą arba išbandykite jį už juos ir praneškite savo pastabas mūsų riktų sekimo sistemos tinklalapyje.
-
package.mask reiškia, jog nustatyta, kad paketas sugadintas,
nestabilus ar dar blogiau ir buvo apgalvotai pažymėtas kaip nenaudotinas.
-
profile reiškia, jog nustatyta, kad paketas netinka jūsų profiliui.
Programa gali sugandinti jūsų sistemą, jei bus įdiegta, arba ji tiesiog
nesuderinama su jūsų naudojamu profiliu.
Trūkstamos priklausomybės
Kodo sąrašas 4.5: „Portage“ įspėjimas apie trūkstamą priklausomybę |
emerge: there are no ebuilds to satisfy ">=sys-devel/gcc-3.4.2-r4".
!!! Problem with ebuild sys-devel/gcc-3.4.2-r2
!!! Possibly a DEPEND/*DEPEND problem.
|
Programa, kurią bandote įdiegti, priklauso nuo kito paketo, kuris jūsų sistemai
neprieinamas. Prašome riktų sekimo
sistemoje patikrinti, ar ši problema jau žinoma, o jei ne, prašome apie
ją pranešti. To neturėtų atsitikti ir laikoma riktu, nebent jūs derinate
skirtingas atšakas.
Nevienareikšmiai „ebuild“ rinkmenų pavadinimai
Kodo sąrašas 4.6: „Portage“ įspėjimas apie nevienareikšmius paketų pavadinimus |
!!! The short ebuild name "aterm" is ambiguous. Please specify
!!! one of the following fully-qualified ebuild names instead:
dev-libs/aterm
x11-terms/aterm
|
Programos, kurią norite įsidiegti, pavadinimą turi daugiau nei vienas paketas.
Jūs turite pateikti ir kategorijos pavadinimą. „Portage“ informuos jus apie
galimus pasirinkimo variantus.
Žiedinės priklausomybės
Kodo sąrašas 4.7: „Portage“ įspėjimas apie žiedines priklausomybes |
!!! Error: circular dependencies:
ebuild / net-print/cups-1.1.15-r2 depends on ebuild / app-text/ghostscript-7.05.3-r1
ebuild / app-text/ghostscript-7.05.3-r1 depends on ebuild / net-print/cups-1.1.15-r2
|
Du paketai (ar daugiau), kuriuos norite įdiegti, priklauso vienas nuo kito,
taigi negali būti įdiegti. Tikriausiai tai riktas „Portage“ medyje. Prašome
po kurio laiko jį atnaujinti ir pabandyti dar kartą. Taip pat galite
patikrinti, ar problema jau žinoma, riktų
sekimo sistemoje, o jei ne, apie ją pranešti.
Nepavykęs atsiuntimas
Kodo sąrašas 4.8: „Portage“ įspėjimas apie nepavykusį atsiuntimą |
!!! Fetch failed for sys-libs/ncurses-5.4-r5, continuing...
!!! Some fetch errors were encountered. Please see above for details.
|
„Portage“ nepavyko atsiųsti pirminių nurodytos programos tekstų ir ji bandys
diegti likusias programas (jei įmanoma). Ši triktis gali būti dėl netinkamai
sinchronizuotos dubliuojamosios tinklavietės arba dėl to, jog „ebuild“ rinkmena
nurodo į neegzistuojantį adresą. Serveris, kuriame yra pirminiai programos
tekstai, taip pat gali dėl kažkokių priežasčių neveikti.
Bandykite vėl po vienos valandos, kad patikrintumėte, ar problema vis dar yra.
Sisteminio profilio apsauga
Kodo sąrašas 4.9: „Portage“ įspėjimas apie profilio apsaugotą paketą |
!!! Trying to unmerge package(s) in system profile. 'sys-apps/portage'
!!! This could be damaging to your system.
|
Jūs nurodėte pašalinti paketą, kuris yra jūsų sistemos pagrindinių paketų
dalis. Jis įrašytas jūsų profilyje kaip būtinas ir todėl neturėtų būti
pašalintas iš sistemos.
Nesėkmingi kontrolinės sumos (digest) patikrinimai
Kartais, kai bandysite įdiegti paketą, veiksmas nepavyks ir išvysite tokį
pranešimą:
Kodo sąrašas 4.10: Nesėkmingas kontrolinės sumos patvirtinimas |
>>> checking ebuild checksums
!!! Digest verification failed:
|
Tai reiškia, jog kažkas negerai su „Portage“ medžiu. Dažnai tai būna dėl to,
jog plėtotojas, talpindamas paketą į medį, padarė klaidą.
Kai kontrolinės sumos patikrinimas nesėkmingas, nebandykite kontrolinės
sumos iš naujo kurti patys. Komandos ebuild foo manifest įvykdymas
neištaisys problemos ir beveik neabejotinai tik pablogins situaciją!
Vietoje to palaukite vieną ar kelias valandas, kol medis bus sutvarkytas.
Tikėtina, jog klaida iškart buvo pastebėta, tačiau kol „Portage“ medžio
ištaisymas įsigalios, gali praeiti šiek tiek laiko. Kol laukiate, patikrinkite,
ar kas nors jau pranešė problemą riktų
sekimo sistemoje. Jeigu ne, užpildykite rikto pranešimą apie sugadintą
paketą.
Kai tik pastebėsite, jog riktas ištaisytas, galite atnaujinti „Portage“ medį iš
naujo, kad gautumėte ištaisytą kontrolinę sumą.
Svarbu:
Tai nereiškia, kad galite atnaujinti savo medį kelis kartus iš eilės.
Kaip nurodyta „rsync“ taisyklėse (kai vykdote emerge --sync),
naudotojams, atnaujinantiems medį per dažnai, priėjimas bus uždraustas! Tiesą
sakant, geriausia tiesiog palaukti iki kito suplanuoto atnaujinimo, kad
neapkrautumėte „rsync“ serverių.
|
2. USE vėliavėlės
2.a. Kas yra USE vėliavėlės?
USE vėliavėlių idėja
Kai jūs diegiate „Gentoo“ (ar bet kurį kitą platinamąjį paketą (distribution),
ar net kitą operacinę sistemą) jūs priimate tam tikrus sprendimus,
priklausančius nuo aplinkos, kurioje dirbate. Serverio konfigūracija skiriasi
nuo kompiuterizuotos darbo vietos konfigūracijos. Kompiuterizuota darbo vieta,
skirta žaidimams, skiriasi nuo kompiuterizuotos darbo vietos, skirtos 3D
atvaizdavimui.
Rinktis reikia sprendžiant ne tik kuriuos paketus įdiegti, bet ir kokias
savybes kiekvienas paketas turi palaikyti. Jeigu jums nereikia OpenGL, kam jums
gaišti laiką jį įdiegiant ir nustatant OpenGL palaikymą dalyje jūsų paketų?
Jeigu jūs nesiruošiate naudoti KDE, kam jums kompiliuoti paketus su KDE
palaikymu, jeigu jie pilnai veikia ir be jo?
Norėdami naudotojams padėti sprendžiant ką įdiegti/aktyvuoti ir ką ne, mes
norėjome, kad naudotojas apibrėžtų savo aplinką kaip įmanoma paprasčiau. Tai
verčia vartotojus nuspręsti, ko jie iš tikro nori, ir leidžia „Portage“, mūsų
paketų valdymo sistemai, priimti naudingus sprendimus.
USE vėliavėlės apibrėžimas
USE vėliavėlė yra raktinis žodis, kuris apibrėžia palaikymą ir priklausomybių
informaciją tam tikrai koncepcijai. Apibrėžus tam tikrą USE vėliavėlę,
„Portage“ žinos, kad jūs norite palaikymo pasirinktam raktiniam žodžiui. Aišku,
tai taip pat pakeičia paketo priklausomybių informaciją.
Pasinaudokime konkrečiu pavyzdžiu: kde raktiniu žodžiu. Jeigu jūs
neturite šio raktinio žodžio jūsų USE kintamajame, visi paketai, kurie
turi pasirinktinį KDE palaikymą bus kompiliuojami be KDE
palaikymo. Visi paketai, kurie turi pasirinktines KDE priklausomybes,
bus įdiegti be KDE bibliotekų (kaip priklausomybių) įdiegimo. Jeigu jūs
esate įtraukęs kde raktinį žodį, tada tie paketai bus
sukompiliuoti su KDE palaikymu, o KDE bibliotekos bus įdiegtos kaip
priklausomybės..
Teisingai nurodydami raktinius žodžius, jūs gausite sistemą pritaikyta jūsų
poreikiams.
Kokios USE vėliavėlės egzistuoja?
Yra du USE vėliavėlių tipai: globalios ir lokalios USE
vėliavėlės.
-
Globali USE vėliavėlė yra naudojama keleto paketų visoje sistemoje.
-
Lokali USE vėliavėlė yra naudojama vieno paketo.
Esamų globalių USE vėliavėlių sąrašą galima rasti internete arba rinkmenoje
/usr/portage/profiles/use.desc.
Esamų lokalių USE vėliavėlių sąrašą galima rasti rinkmenoje
/usr/portage/profiles/use.local.desc.
2.b. USE vėliavėlių naudojimas
Pastovių USE vėliavėlių nustatymas
Tikėdamiesi, kad jūs esate įtikinti USE vėliavėlių svarbumu, mes dabar jus
informuosime kaip nustatyti USE vėliavėles.
Kaip minėta anksčiau, visos USE vėliavėlės yra nustatomos kintamuoju
USE. Norėdami naudotojams palengvinti USE vėliavėlių ieškojimą ir
pasirinkimą, mes pateikiame USE nustatymą pagal nutylėjimą. Šis
nustatymas yra rinkinys USE vėliavėlių, kurios, mūsų nuomone, yra paprastai
naudojamos „Gentoo“ naudotojų. Šis nustatymas pagal nutylėjimą yra
nurodomas jūsų profilio make.defaults rinkmenų dalyje.
Jūsų sistemos profilis yra nurodomas /etc/make.profile nuoroda.
Kiekvienas profilis dirba ant kito, platesnio profilio, todėl galutinis
rezultatas yra visų profilių suma. Plačiausias profilis yra base
profilis (/usr/portage/profiles/base).
Pažiūrėkime į 2004.3 profilio nustatymus pagal nutylėjimą:
Kodo sąrašas 2.1: Suminis make.defaults USE kintamasis 2004.3 profiliui |
USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77
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 spell ssl svga tcpd truetype X xml2 xmms xv zlib"
|
Kaip matome, šiame kintamajame jau yra gan nemažai kintamųjų. Nekeiskite
jokios make.defaults rinkmenos norėdami pakeisti USE
kintamąjį: pasikeitimai šioje rinkmenoje bus panaikinti, kai jūs atnaujinsite
Portage!
Norėdami pakeisti šį nustatymą pagal nutylėjimą, jums reikia pridėti arba atimti
raktinius žodžius USE kintamajame. Globaliai tai atliekama nustatant
USE kintamąjį rinkmenoje /etc/make.conf. Šiame kintamajame
jūs pridedate papildomas USE vėliavėles, kurių jums reikia, arba atimate
nereikalingas USE vėliavėles. Atimti galima prieš raktinį žodį padedant minusą
(„-“).
Pavyzdžiui, norėdami panaikinti palaikymą KDE and QT, bet pridėti palaikymą
ldap, rinkmenoje /etc/make.conf galite nurodyti šį USE
kintamąjį:
Kodo sąrašas 2.2: USE nustatymo rinkmenoje /etc/make.conf pavyzdys |
USE="-kde -qt3 -qt4 ldap"
|
USE vėliavėlių nustatymas atskiriems paketams
Kartais jūs norite nustatyti tam tikrą USE vėliavėlę vienai programai (ar
kelioms), bet ne visai sistemai. Tam reikia sukurti katalogą
/etc/portage (jeigu jis dar nesukurtas) ir pakeisti rinkmeną
/etc/portage/package.use. Paprastai tai yra viena rinkmena, tačiau
gali būti ir katalogas; daugiau informacijos ieškokite man portage.
Tolesniame pavyzdyje numatoma, jog package.use yra rinkmena.
Pavyzdžiui, jeigu jums nereikia berkdb palaikymo visai sistemai, bet jūs
norite jo paketui mysql, jums reiktų įrašyti:
Kodo sąrašas 2.3: /etc/portage/package.use pavyzdys |
dev-db/mysql berkdb
|
Taip pat jūs galite panaikinti USE vėliavėles tam tikram paketui.
Pavyzdžiui, jeigu jūs nenorite java palaikymo PHP paketui:
Kodo sąrašas 2.4: /etc/portage/package.use antras pavyzdys |
dev-php/php -java
|
Laikinų USE vėliavėlių nustatymas
Kartais jūs norite nurodyti tam tikrą USE nustatymą tik vienam kartui. Vietoj
to, kad redaguotumėte rinkmeną /etc/make.conf du kartus (tam, kad
įvykdytumėte pakeitimus ir po to juos panaikintumėte), jūs galite
paprasčiausiai nurodyti USE kintamąjį kaip aplinkos kintamąjį. Bet atsiminkite,
kad kai jūs iš naujo įdiegsite ar atnaujinsite šią programą (atskirai arba
kartu su visa sistema) jūsų pakeitimai nebegalios!
Kaip pavyzdį, mes laikinai panaikinsime java iš USE nustatymų įdiegdami
seamonkey.
Kodo sąrašas 2.5: USE naudojimas kaip aplinkos kintamojo |
# USE="-java" emerge seamonkey
|
Pirmenybė
USE nustatymai turi tam tikrą pirmenybę. Jūs nenorėtumėtę nustatyti
USE="-java" tik tam, kad pamatytumėtę, jog java vis dar yra
nustatytas dėl turinčių pirmenybę nustatymų. USE nustatymų eiliškumas pagal
pirmenybę (pirmasis sąraše turi mažiausią prioritetą) yra:
-
USE nustatymai pagal nutylėjimą iš rinkmenų make.defaults jūsų
profilyje
-
Vartotojo nurodyti USE nustatymai rinkmenoje /etc/make.conf
-
Vartotojo nurodyti USE nustatymai rinkmenoje
/etc/portage/package.use
-
Vartotojo nurodyti USE nustatymai kaip aplinkos kintamojo
Norėdami pamatyti galutinį USE nustatymą naudojamą „Portage“, įvykdykite
komandą emerge --info. Jums bus parodyti visų svarbių kintamųjų
(įskaitant ir USE kintamąjį) reikšmės, naudojamos „Portage“.
Kodo sąrašas 2.6: Running emerge --info |
# emerge --info
|
Naujų USE nustatymų pritaikymas visai sistemai
Jeigu jūs pakeitėte USE vėliavėles ir norite atnaujinti visą savo sistemą
atsižvelgiant į šiuos pokyčius, naudokitės komandos emerge parametru
--newuse:
Kodo sąrašas 2.7: Visos sistemos atnaujinimas |
# emerge --update --deep --newuse world
|
Toliau, pasinaudokite „Portage“ depclean tam, kad panaikintumėte sąlygines
priklausomybes, kurios buvo „senojoje“ jūsų sistemoje, bet tapo nebereikalingos
su naujosiomis USE vėliavėlėmis.
Perspėjimas:
emerge --depclean įvykdymas yra pavojinga operacija, todėl ją reikia
atlikti dėmesingai. Patikrinkite pateiktą "nebereikalingų" paketų sąrašą, kad
įsitikintumėtę, jog nebus ištrinti jums reikalingi paketai. Dėl pateikiamame
pavyzdyje naudojamo perjungiklio -p depclean tik pateikia paketų sąrašą,
jų neištrindamas.
|
Kodo sąrašas 2.8: Nebereikalingų paketų ištrynimas |
# emerge -p --depclean
|
Kai depclean baigsis, paleiskite revdep-rebuild tam, kad perdarytumėte
visas programas, kurios yra dinamiškai susietos su objektais, kurie galėjo
priklausyti ištrintoms programoms. revdep-rebuild yra dalis
gentoolkit paketo; nepamirškite jo įdiegti.
Kodo sąrašas 2.9: revdep-rebuild paleidimas |
# revdep-rebuild
|
Kai visi šie veiksmai yra baigti, jūsų sistema naudoja naujus USE vėliavėlių
nustatymus.
2.c. Specifinės paketo USE vėliavėlės
Galimų USE vėliavėlių peržiūra
Kaip pavyzdį paimkime paketą seamonkey: kokias USE vėliavėles jis
naudoja? Kad tai išsiaiškintume, įvykdykime komandą emerge su
parametrais --pretend ir --verbose:
Kodo sąrašas 3.1: Galimų USE vėliavėlių peržiūra |
# emerge --pretend --verbose seamonkey
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] www-client/seamonkey-1.0.7 USE="crypt gnome java -debug -ipv6
-ldap -mozcalendar -mozdevelop -moznocompose -moznoirc -moznomail -moznopango
-moznoroaming -postgres -xinerama -xprint" 0 kB
|
emerge yra ne vienintelis įrankis šiai užduočiai atlikti. Mes turime
paketų informacijai dedikuotą įrankį equery, kuris priklauso
gentoolkit paketui. Pirmiausia, įdiekime gentoolkit:
Kodo sąrašas 3.2: gentoolkit įdiegimas |
# emerge gentoolkit
|
Dabar paleiskime equery su argumentu uses, kad pažiūrėtume
konkretaus paketo USE vėliavėles. Pavyzdžiui, paketui gnumeric:
Kodo sąrašas 3.3: equery panaudojimas naudojamų USE vėliavėlių peržiūrai |
# equery --nocolor uses =gnumeric-1.6.3 -a
[ Searching for packages matching =gnumeric-1.6.3... ]
[ Colour Code : set unset ]
[ Legend : Left column (U) - USE flags from make.conf ]
[ : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for app-office/gnumeric-1.6.3 ]
U I
- - debug : Enable extra debug codepaths, like asserts and extra output.
If you want to get meaningful backtraces see
http://www.gentoo.org/proj/en/qa/backtraces.xml .
+ + gnome : Adds GNOME support
+ + python : Adds support/bindings for the Python language
- - static : !!do not set this during bootstrap!! Causes binaries to be
statically linked instead of dynamically
|
3. „Portage“ funkcijos
3.a. „Portage“ funkcijos
„Portage“ turi keletą papildomų funkcijų, kurios gali palengvinti jūsų darbą su
ja. Daugeliui šių funkcijų reikalinga tam tikra papildoma programinė įranga,
kuri gali pagerinti sistemos saugumą, darbą, patikimumą ir t.t.
Naudojamos „Portage“ funkcijos yra nurodomos rinkmenos
/etc/make.conf kintamuoju FEATURES, kuriam priskiriami
įvairių funkcijų raktiniai žodžiai, atskirti tarpais. Keletu atveju taip pat
reikia įdiegti papildomą programinę įrangą, kuri yra reikalinga konkrečiai
funkcijai.
Čia yra išvardintos ne visos „Portage“ funkcijos. Norėdami pamatyti pilną jų
apžvalgą, pasinaudokite make.conf žinyno puslapiu:
Kodo sąrašas 1.1: make.conf žinyno puslapis |
$ man make.conf
|
Koks šiuo metu yra FEATURES kintamasis galite sužinoti įvykdę komandą emerge
--info ir (patys arba komandos „grep“ pagalba) susiradę kintamąjį FEATURES:
Kodo sąrašas 1.2: Kintamojo FEATURES reikšmės sužinojimas |
$ emerge --info | grep FEATURES
|
3.b. Paskirstytas kompiliavimas
distcc naudojimas
distcc yra programa, naudojama tinkle paskirstyti kompiliavimą keletui
nebūtinai identiškų kompiuterių. distcc klientas siunčia visą reikalingą
informaciją keletui pasiekiamų distcc serverių (vykdančių distccd)
kad jie klientui kompiliuotų dalis išeities teksto. To rezultatas yra mažesnis
kompiliavimo laikas.
Daugiau informacijos apie distcc (ir kaip naudotis juo „Gentoo“) galite
surasti mūsų „Gentoo“ distcc
dokumentacijoje.
distcc įdiegimas
Distcc turi grafinį monitorių, kuriuo galima stebėti, ką jūsų kompiuteris
išsiunčia kompiliuoti. Jeigu jūs naudojate Gnome, įtraukite „gnome“ į savo
USE kintamąjį. Jeigu jūs nenaudojate Gnome, bet vis tiek norite naudotis
grafiniu monitoriumi, įtraukite „gtk“ į savo USE kintamąjį.
Kodo sąrašas 2.1: distcc įdiegimas |
# emerge distcc
|
„Portage“ palaikymo aktyvavimas
Įtraukite distcc į FEATURES kintamąjį rinkmenoje
/etc/make.conf. Toliau, pakeiskite MAKEOPTS kintamajį į jūsų
norimą. Paplitęs patarimas yra naudoti reikšmę "-jX", kurh X yra skaičius
procesorių, vykdančių distccd (įskaitant ir šį kompiuterį) plius vienas,
bet jūs galite gauti geresnius rezultatus ir su kitokiais skaičiais.
Dabar įvykdykite distcc-config ir įveskite distcc serverių sąrašą.
Pavyzdžiui, tarkime, kad prieinami DistCC serveriai yra 192.168.1.102 (šis
kompiuteris), 192.168.1.103 ir 192.168.1.104 (du „nutolę“ kompiuteriai):
Kodo sąrašas 2.2: distcc konfigūravimas naudoti tris distcc serverius |
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"
|
Taip pat nepamirškite paleisti distccd tarnybą:
Kodo sąrašas 2.3: distccd tarnybos paleidimas |
# rc-update add distccd default
# /etc/init.d/distccd start
|
3.c. Kompiliacijos padėjimas į podėlį
Apie ccache
ccache yra greitas kompiliatoriaus podėlis. Kai jūs kompiliuojate
programą, į podėlį bus padedami tarpiniai rezultatai, ir kai jūs
perkompiliuosite tą pačią programą, kompiliavimo laikas bus mažesnis. Dažniems
kompiliavimams kompiliavimo laikas gali sumažėti 5 - 10 kartų.
Jeigu jums įdomūs ccache privalumai ir trūkumai, aplankykite ccache tinklalapį.
ccache įdiegimas
Kad įdiegtumėtę ccache, įvykdykite komandą emerge ccache:
Kodo sąrašas 3.1: ccache įdiegimas |
# emerge ccache
|
„Portage“ palaikymo aktyvavimas
Atverkite rinkmeną /etc/make.conf ir įtraukite ccache į
FEATURES kintamąjį. Toliau, pridėkite naują kintanąjį CCACHE_SIZE ir
nustatykite jį lygų "2G":
Kodo sąrašas 3.2: Redaguojame CCACHE_SIZE rinkmenoje /etc/make.conf |
CCACHE_SIZE="2G"
|
Kad patikrintumėtę ar ccache veikia, liepkite ccache pateikti jums savo
statistiką. Kadangi „Portage“ naudoja kitą ccache namų katalogą, jums taip pat
reikia nustatyti kintamąjį CCACHE_DIR:
Kodo sąrašas 3.3: ccache statistika |
# CCACHE_DIR="/var/tmp/ccache" ccache -s
|
/var/tmp/ccache yra pagal nutylėjimą „Portage“ naudojamas ccache
namų katalogas; jeigu jūs norite pakeisti šį nustatymą, jums reikia nustatyti
kintamajį CCACHE_DIR rinkmenoje /etc/make.conf.
Tačiau jeigu jūs patys įvykdysite komandą ccache, bus naudojamas
namų katalogas pagal nutylėjimą - ${HOME}/.ccache, todėl jums
reikia nurodyti CCACHE_DIR kintamąjį prieš peržiūrint („Portage“) ccache
statistiką.
ccache naudojimas ne „Portage“ C kompiliavimui
Jeigu jūs norite naudoti ccache ne „Portage“ kompiliavimams, pridėtikte
/usr/lib/ccache/bin į jūsų PATH kintamojo pradžią (prieš
/usr/bin). Tai įvykdyti galima pakeičiant rinkmeną
.bash_profile jūsų naudotojo namų kataloge.
.bash_profile naudojimas yra vienas būdas apibrėžti PATH
kintamuosius.
Kodo sąrašas 3.4: Pakeičiame .bash_profile |
PATH="/usr/lib/ccache/bin:/opt/bin:${PATH}"
|
3.d. Dvejetainių paketų palaikymas
Iš anksto sukompiliuotų paketų kūrimas
„Portage“ palaiko iš anksto sukompiliuotų paketų įdiegimą. Nors pats „Gentoo“
ir netiekia iš anksto sukompiliuotų paketų (išskyrus GRP snapshots) „Portage“
gali pilnai jais naudotis.
Iš anksto sukompiliuotam paketui sukurti galite naudoti quickpkg, jeigu
paketas jau yra įdiegtas jūsų sistemoje, arba įvykdykite komandą emerge
su --buildpkg ar --buildpkgonly parametru.
Jeigu norite, kad Portage sukurtų iš anksto sukompiliuotą paketą kiekvieną
kartą jums ką nors įdiegiant, įrašykite buildpkg į FEATURES kintamąjį.
Platesnis iš anksto sukompiliuotų paketų kūrimo palaikymas gali būti pasiektas
su catalyst. Norėdami daugiau sužinoti apie catalyst, paskaitykite Catalyst dažniausiai užduodamus
klausimus.
Iš anksto sukompiliuotų paketų įdiegimas
Nors pats „Gentoo“ ir nepateikia centrinės iš anksto sukompiliuotų paketų
saugyklos, jūs galite ją susikurti. Jeigu norite ja naudotis, praneškite apie
tai „Portage“, kintamuoju PORTAGE_BINHOST nurodydami šią saugyklą. Pavyzdžiui,
jeigu iš anksto sukompiliuotų paketų saugykla yra ftp://buildhost/gentoo:
Kodo sąrašas 4.1: Nustatome PORTAGE_BINHOST rinkmenoje /etc/make.conf |
PORTAGE_BINHOST="ftp://buildhost/gentoo"
|
Kai jūs norite įdiegti iš anksto sukompiliuotą paketą, pridėkite parametrą
--getbinpkg emerge komandai kartu su parametru --usepkg. Pirmasis
nurodo emerge parsiųsti iš anksto sukompiliuotą paketą iš anksčiau apibrėžto
serverio, o antrasis prašo emerge pabandyti įdiegtį iš anksto sukompiliuotą
paketą prieš parsiunčiant išeities tekstus ir juos kompiliuojant.
Pavyzdžiui, gnumeric įdiegimas iš iš anksto sukompiliuotų paketų:
Kodo sąrašas 4.2: gnumeric iš anksto sukompiliuotų paketų įdiegimas |
# emerge --usepkg --getbinpkg gnumeric
|
Daugiau informacijos apie emerge iš anksto sukompiliuotų paketų parinktis
galima rasti emerge žinyno puslapyje:
Kodo sąrašas 4.3: emerge žinyno puslapis |
$ man emerge
|
3.e. Rinkmenų gavimas
Lygiagretus gavimas
Kai jūs diegiate eilę paketų, „Portage“ gali gauti pirminius tekstus kitai
programai sąraše netgi kol ji kompiliuoja visai kitą paketą, taip sumažinant
kompiliavimų laikus. Norėdami naudoti šį sugebėjimą, pridėkite „parallel-fetch“
į savo FEATURES.
Userfetch
Kai „Portage“ vykdoma pagrindinio (root) naudotojo teisėmis,
FEATURES="userfetch" leis „Portage“ sumažinti teises gaunant paketų pirminius
tekstus. Tai yra nedidelis saugumo pagerinimas.
4. Pirminio paleidimo scenarijai
4.a. Paleidžiamieji lygiai (runlevels)
Įkrauname jūsų sistemą
Kai įkrausite savo sistemą, pastebėsite, kad daug teksto prabėga pro ekraną.
Jei atkreipsite dėmesį, tas tekstas yra daugmaž vienodas kiekvieną kartą
užsikraunant sistemai. Visų šitų veiksmų eilės tvarka vadinima krovimosi
tvarka ir yra (daugmaž) statiškai nustatyta.
Pirmiausia, jūsų sistemos įkrovos tvarkyklė (boot loader) užkraus branduolio
atvaizdą, kurį jūs aprašėte įkrovos tvarkyklės nustatymuose, į atmintį, po
kurio ji praneš pagrindiniam procesoriui paleisti patį branduolį. Kai
branduolys yra paleistas ir veikia, jis inicijuoja visas branduolio specifines
struktūras, užduotis ir paleidžia init procesą.
Šitas procesas užtikrina, kad visos rinkmenų sistemos, kurios yra apibrėžtos
rinkmenoje /etc/fstab, bus prijungtos ir paruoštos naudojimui.
Tada jis paleidžia keletą scenarijų, kurie yra /etc/init.d
kataloge. Šie scenarijai paleis tarnybas, kurios yra būtinos sėkmingam sistemos
užsikrovimui.
Pagaliau, kai visi scenarijai yra paleisti, init aktyvuoja terminalus
(dažniausiai tik virtualias komandines eilutes, kurios yra paslėptos po
klavišų kombinacijomis Alt-F1, Alt-F2, ir t.t.) prijungiant
specialų procesą, pavadintą agetty prie jo. Šis procesas užtikrins, kad
jūs galėsite prisijungti per šiuos terminalus paleisdami login.
Pirminio paleidimo scenarijai
Dabar init kataloge /etc/init.d esančių scenarijų
atsitiktinai nepaleidinėja. Tuo labiau jis nepaleidžia visų scenarijų, kurie
yra kataloge /etc/init.d, o tik tuos scenarijus, kurie jam yra
nurodyti, kad būtų paleisti. Jis nusprendžia, kuriuos scenarijus paleisti,
žiūrėdamas į katalogą /etc/runlevels.
Pirmiausia, init paleidžia visus scenarijus iš katalogo
/etc/init.d, kurie turi simbolines nuorodas
/etc/runlevels/boot kataloge. Scenarijai dažniausiai paleidinėjami
abėcėlės tvarka, bet kai kurie scenarijai turi informaciją apie priklausomybes,
kuris pasako sistemai, kad kitas scenarijus turi būti paleistas pirmiau, negu
bus pradėtas šis.
Kai visi kataloge /etc/runlevels/boot esantys nukreipiamieji
scenarijai yra paleisti, init tęsia paleidinėdamas scenarijus, kurie
turi simbolines nuorodas į save kataloge /etc/runlevels/default.
Jie vėlgi paleidinėjami abėcėlės tvarka, nebent priklausomybių informacija
nusakys kitokią paleidžiamų scenarijų tvarką, kad būtų užtikrintas nuoseklus
sistemos paleidimas.
Kaip init veikia
Aišku, init nenusprendžia visko pats. Jam reikia nustatymų rinkmenos,
kuri nusakytų, kokie veiksmai turi būti atlikti. Šie nustatymai yra saugomi
rinkmenoje /etc/inittab.
Jeigu jūs prisimenate krovimosi tvarką, kurią mes ką tik apibūdinome, tai
tikriausiai prisiminsite, kad init pirmas veiksmas yra prijungti visas
rinkmenų išdėstymo sistemas. Tai yra aprašyta šioje pateiktoje eilutėje iš
/etc/inittab rinkmenos:
Kodo sąrašas 1.1: Sistemos inicijavimo eilutė rinkmenoje /etc/inittab |
si::sysinit:/sbin/rc sysinit
|
Ši eilutė nusako, kad init turi paleisti /sbin/rc sysinit,
norėdamas inicijuoti sistemą. Scenarijus /sbin/rc yra atsakingas
už inicijavimą, todėl jūs galite sakyti, kad init nedaro daug - jis
paprasčiausiai pateikia sistemos inicijavimo užduotį kitam procesui.
Antra, init paleidžia visus scenarijus, kurie turi simbolines nuorodas į
save kataloge /etc/runlevels/boot. Tai aprašome žemiau pateiktoje
eilutėje:
Kodo sąrašas 1.2: Sistemos inicijavimas, paleidimas |
rc::bootwait:/sbin/rc boot
|
Vėlgi rc scenarijus atlieka reikalingus veiksmus. Pastebėtina, kad
parametras nurodytas rc (boot) sutampa su naudojamo katalogo
vardu, kuris yra /etc/runlevels.
Dabar init patikrina savo nustatymų rinkmeną, kad pažiūrėtų, kurį
paleidžiamąjį lygį turi paleisti. Kad tai nuspręstų, jis nuskaito žemiau
pateiktą eilutę iš rinkmenos /etc/inittab:
Kodo sąrašas 1.3: Pagrindinė init eilutė |
id:3:initdefault:
|
Šiuo atveju, kurį naudos didžioji dalis „Gentoo“ naudotojų, paleidžiamojo
lygio numeris yra yra 3. Naudodamas šią informaciją, init patikrina,
ką turi paleisti pradėdamas pereiti į trečią paleidžiamąjį lygį:
Kodo sąrašas 1.4: Paleidžiamųjų lygių apibrėžimai |
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
|
Eilutė, apibrėžianti 3 lygį vėlgi tarnybų paleidimui naudoja rc
scenarijų (dabar su parametru default). Atkreipkite dėmesį, kad
rc parametras yra toks pats kaip ir katalogo, esančio
/etc/runlevels, vardas.
Kai rc vykdymas pasibaigia, init nusprendžia, kokias virtualias
konsoles jis turi aktyvuoti ir kokias komandas paleisti kiekvienoje iš jų:
Kodo sąrašas 1.5: Virtualių konsolių apibrėžimai |
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
|
Kas yra paleidžiamieji lygiai?
Jūs tikriausiai pastebėjote, kad init naudoja numeravimą, kad žinotų,
kokį paleidžiamąjį lygį turėtų aktyvuoti. Paleidžiamasis lygis
yra toks lygis, kuriame jūsų sistema turi ir vykdo tam tikrus scenarijus
(paleidžiamojo lygio scenarijus, arba pirminio paleidimo scenarijus
(angl. initscripts)), kurie yra paleidžiami, kai jūs patenkate arba išeinate iš
tam tikro paleidžiamojo lygio.
„Gentoo“ sistemoje yra septyni paleidžiamieji lygiai: trys vidiniai ir keturi
vartotojo apibrėžti paleidžiamieji lygiai. Vidiniai paleidžiamieji lygiai yra
sysinit, shutdown ir reboot. Jie atlieka būtent
tai, ką jų pavadinimai nusako: inicijuoja sistemą, išjungia sistemą ir
perkrauna sistemą.
Vartotojo apibrėžti paleidžiamieji lygiai yra tie, kurie yra
/etc/runlevels kataloge: boot, default,
nonetwork ir single. boot paleidžiamasis
lygis paleidžia visus sistemai būtinas tarnybas, kurias naudoja visi kiti
paleidžiamieji lygiai. Trys paleidžiamieji lygiai skiriasi tuo, kokios
tarnybos yra paleidžiamos: default yra naudojama kiekvienos
dienos operacijoms, nonetwork yra naudojama, jei nereikalinga
tinklo prieiga, ir single yra naudojama, kada jums reikia
pataisyti sistemą.
Dirbame su pirminio paleidimo scenarijais
Scenarijai, kuriuose paleidžia rc procesas, yra vadinami pirminio
paleidimo scenarijais (initscripts). Kiekvienas scenarijus kataloge
/etc/init.d gali būti paleistas su parametrais start,
stop, restart, pause, zap, status,
ineed, iuse, needsme, usesme arba broken.
Norėdami paleisti, sustabdyti arba perleisti tarnybą (ir visas priklausomas nuo
jos tarnybas), jums reikia paleisti su parametrais start, stop ir
restart:
Kodo sąrašas 1.6: Paleidžiame Postfix |
# /etc/init.d/postfix start
|
Pastaba:
Tik tos tarnybos, kurios yra priklausomos nuo pagrindinės tarnybos, yra
sustabdomos arba perleidžiamos. Kitos priklausomos tarnybos, kurios
naudoja pagrindinę tarnybą, bet nėra būtinos, yra neliečiamos.
|
Jeigu jūs norite sustabdyti tarnybą, bet ne tarnybas, kurios priklauso nuo jos,
galite naudoti parametrą pause:
Kodo sąrašas 1.7: Sustabdome Postfix, bet paliekame priklausomas tarnybas paleistas |
# /etc/init.d/postfix pause
|
Jeigu jūs norite pamatyti, kokioje būklėje yra tarnyba (paleista, išjungta,
sustabdyta, ...), galite naudoti parametrą status:
Kodo sąrašas 1.8: Informacija apie postfix būklę |
# /etc/init.d/postfix status
|
Jeigu būklės informacija praneša, kad jūsų tarnyba yra paleista, bet jūs
žinote, kad taip nėra, galite pakeisti būklės informaciją iš naujo į
„išjungta“ parametru zap:
Kodo sąrašas 1.9: Pakeičiame būklės informaciją apie postfix iš naujo |
# /etc/init.d/postfix zap
|
Taip pat norėdami sužinoti, kokias priklausomybes turi tarnyba, jūs galite
naudoti parametrus iuse arba ineed. Parametru ineed galite
matyti būtinas tarnybas, kurios užtikriną korektišką šios tarnybos darbą.
Parametru iuse pamatysite tarnybas, kurios gali būti naudojamos, bet
nėra būtinos korektiškam funkcionavimui.
Kodo sąrašas 1.10: Užklausiame sąrašą tarnybų, kurios yra būtinos ir nuo kurių priklauso Postfix |
# /etc/init.d/postfix ineed
|
Panašiai jūs galite paklausti, kokios tarnybos reikalauja šios tarnybos,
(needsme) arba kurios naudoja šią tarnybą (usesme):
Kodo sąrašas 1.11: Užklausiame sąrašą tarnybų, kurios reikalauja Postfix |
# /etc/init.d/postfix needsme
|
Pagaliau jūs galite paklausti, kokių priklausomybių trūksta tarnybai:
Kodo sąrašas 1.12: Užklausiame sąrašo priklausomybių, kurių trūksta Postfix |
# /etc/init.d/postfix broken
|
4.b. Dirbame su rc-update
Kas yra rc-update?
„Gentoo“ pirminio paleidimo sistema naudoja priklausomybių medį, kad nuspręstų
kokią tarnybą reikia paleisti pirmiausia. Kadangi tai sunkus uždavinys, ir kad
to nereikėtų atlikinėti mūsų naudotojams patiems, mes sukūrėme įrankius, kurie
lengvai leidžia administruoti, valdyti paleidžiamuosius lygius ir pirminio
paleidimo scenarijus.
rc-update komanda jūs galite pridėti ir šalinti pirminio paleidimo
scenarijus į paleidžiamąjį lygį. Įrankis rc-update automatiškai pats
paleis scenarijų depscan.sh, kuris perkurs priklausomybių medį.
Pridedame ir šaliname tarnybas
Jūs jau įkėlėte pirminio paleidimo scenarijų į „default“ (numatytąjį)
paleidžiamąjį lygį „Gentoo“ diegimo metu. Tada jūs galbūt nelabai supratote,
kam reikalingas šis lygis, bet dabar mes išsiaiškinsime. Scenarijus
rc-update reikalauja antro parametro, kuris nurodo veiksmą: add,
del arba show.
Norėdami pridėti arba pašalinti pirminio paleidimo scenarijų, tiesiog
paleiskite rc-update su parametrais add arba del, pirminio
paleidimo scenarijaus pavadinimu ir paleidžiamojo lygio pavadinimu. Pavyzdžiui:
Kodo sąrašas 2.1: Šaliname Postfix iš numatytojo paleidžiamojo lygio |
# rc-update del postfix default
|
Komanda rc-update -v show parodys visus galimus pirminio paleidimo
scenarijus ir sąrašą, kuriuose paleidžiamuosiuose lygiuose jie yra įvykdomi:
Kodo sąrašas 2.2: Gauname informaciją apie pirminio paleidimo scenarijus |
# rc-update -v show
|
Galite įvykdyti ir rc-update show (be -v), kad pamatytumėte tik
aktyvintus pirminio paleidimo scenarijus ir jų paleidžiamuosius lygius.
4.c. Konfigūruojame tarnybas
Kodėl reikia papildomų nustatymų?
Pirminio paleidimo scenarijai gali būti pakankamai sudėtingi. Aišku, nėra
pageidautina tiesiogiai redaguoti pirminio paleidimo scenarijų, nes galima
padaryti jį neveiksniu. Bet tuo pačiu yra svarbu turėti galimybę tokias
tarnybas konfigūruoti. Pavyzdžiui, jūs norite suteikti daugiau pasirinkčių
pačiai tarnybai.
Kita priežastis turėti galimybę konfigūruoti pirminio paleidimo scenarijus
netiesiogiai yra tai, kad būtų galima atnaujinti pačius pirminio paleidimo
scenarijus nesibaiminant, kad jūsų nustatymai pasinaikins.
Katalogas /etc/conf.d
„Gentoo“ suteikia patogų kelią konfigūruoti tokias tarnybas: kiekvienas
pirminio paleidimo scenarijus, kuris gali būti konfigūruojamas, turi savo
rinkmeną /etc/conf.d kataloge. Pavyzdžiui, apache2 pirminio
paleidimo scenarijus (pavadintas /etc/init.d/apache2) turi
konfigūracinę rinkmeną, pavadintą /etc/conf.d/apache2, kuri saugo
nustatymus, kuriuos norite perduoti Apache 2 serveriui, kai jis bus
paleidžiamas:
Kodo sąrašas 3.1: Apibrėžti kintamieji rinkmenoje /etc/conf.d/apache2 |
APACHE2_OPTS="-D PHP5"
|
Tokia konfiguracinė rinkmena laiko kintamuosius (panašius kaip ir rinkmenoje
/etc/make.conf), kas leidžia labai lengvai keisti tarnybų
nustatymus. Taip pat tokios rinkmenos suteikia daugiau informacijos apie pačius
kintamuosius (pvz., komentarai).
4.d. Rašome pirminio paleidimo scenarijus
Ar tikrai tai būtina?
Ne, rašyti pirminio paleidimo scenarijų nėra būtina, nes „Gentoo“ jau suteikia
skaityk-naudok tipo pirminio paleidimo scenarijus visoms teikiamoms tarnyboms.
Aišku, jūs galėjote įdiegti kokią nors tarnybą ne iš „Portage“ bazės, todėl
greičiausiai norėsite sukurti savo pirminio paleidimo scenarijų.
Nenaudokite pirminio paleidimo scenarijų, pateiktų su tarnybomis, jeigu jie
nėra konkrečiai parašyti „Gentoo“. Taip pat „Gentoo“ pirminio paleidimo
scenarijai nėra pritaikyti naudojimui kituose „Linux“ platinamuosiuose
paketuose!
Išdėstymas
Pagrindinė pirminio paleidimo scenarijaus sandara pateikta žemiau.
Kodo sąrašas 4.1: Pirminio paleidimo scenarijaus sandara |
#!/sbin/runscript
depend() {
}
start() {
}
stop() {
}
restart() {
}
|
Bet kuris pirminio paleidimo scenarijus reikalauja apibrėžti
start() funkciją. Visos kitos funkcijos yra pasirinktinos.
Priklausomybės
Yra dviejų tipų priklausomybės, kurias galite apibrėžti: use ir
need. Kaip anksčiau ir minėjome, need tipo priklausomybė yra
griežtesnė negu use tipo priklausomybė. Priklausomai nuo priklausomybės
tipo, jūs įvedate tarnybą, nuo kurios tiesiogiai priklausote arba priklausote
virtualiai.
Virtuali priklausomybė yra tokia priklausomybė, kuri reikalinga
tarnybai, bet nėra priklausoma nuo konkrečių programų. Pavyzdžiui, jūsų
pirminio paleidimo scenarijus priklauso nuo sistemos žurnalizavimo tarnybos,
bet yra daugybė įvairių sistemų žurnalų apdorojimo programų (metalogd,
syslog-ng, sysklogd, ...). Kadangi jūs negalite reikalauti (need)
kiekvieno iš jų atskirai (nėra praktiška sistemoje turėti visas šias programas
paleistas), todėl mes užtikriname, kad visos šios tarnybų teikia
(provide) virtualią priklausomybę.
Pažiūrėkime informaciją apie postfix tarnybos priklausomybes.
Kodo sąrašas 4.2: Postfix priklausomybių informacija |
depend() {
need net
use logger dns
provide mta
}
|
Kaip matote, postfix tarnyba:
-
reikalauja (virtualios) net priklausomybės, kuri pateikiama,
pavyzdžiui, /etc/init.d/net.eth0 scenarijaus.
-
reikalauja (virtualios) logger priklausomybės, kuri pateikiama,
pavyzdžiui, /etc/init.d/syslog-ng scenarijaus.
-
reikalauja (virtualios) dns priklausomybės, kuri pateikiama,
pavyzdžiui, /etc/init.d/named scenarijaus.
-
pateikia (virtualią) mta priklausomybę, kuri yra įprasta visiems
pašto serveriams.
Kontroliuojame tvarką
Kai kuriais atvejai jums, pavyzdžiui, nereikės pačios tarnybos, bet norėsite,
kad jūsų tarnyba būtų paleista prieš (before) arba po (after)
kitos tarnybos, jeigu ji yra sistemoje (atkreipkite dėmesį - tai nebėra
priklausomybė) ir ji paleista tame pačiame paleidžiamajame lygyje
(atkreipkite dėmesį - tai liečia tik tai tarnybas tame pačiame paleidžiamajame
lygyje). Jūs galite nustatyti šią informaciją naudodami „prieš“ (before)
arba „po“ (after) nustatymus.
Kaip pavyzdį paimsime Portmap tarnybos nustatymus:
Kodo sąrašas 4.3: Portmap tarnybos funkcija depend() |
depend() {
need net
before inetd
before xinetd
}
|
Jūs taip pat galite naudoti „*“, kad sugautumėte visas tarnybas tame pačiame
paleidžiamajame lygyje, bet tai nėra patartina.
Kodo sąrašas 4.4: Leidžiame pirminio paleidimo scenarijų kaip patį pirmąjį šiame paleidžiamajame lygyje |
depend() {
before *
}
|
Jeigu jūsų tarnyba privalo rašyti į vietinius diskus, ji turėtų reikalauti
(need) localmount. Jei ji ką nors, pavyzdžiui, proceso identifikatoriaus
rinkmeną (pidfile), talpina /var/run, tuomet ji turėtų pasileisti
po (after) bootmisc:
Kodo sąrašas 4.5: depend() funkcijos pavyzdys |
depend() {
need localmount
after bootmisc
}
|
Standartinės funkcijos
Toliau, po depend() funkcionalumo nustatymo, jums greičiausiai reikės
nustatyti start() funkciją. Ši funkcija turi visas komandas, reikalingas
tarnybos inicijavimui. Rekomenduojama naudoti ebegin ir eend
funkcijas, kad informuotumėte vartotoją, kas vyksta paleidimo metu:
Kodo sąrašas 4.6: start() funkcijos pavyzdys |
start() {
ebegin "Starting my_service"
start-stop-daemon --start --exec /path/to/my_service \
--pidfile /path/to/my_pidfile eend $?
}
|
Ir --exec, ir --pidfile turėtų būti naudojami paleidimo (start)
ir sustabdymo (stop) funkcijose. Jei tarnyba nesukuria proceso
identifikatoriaus rinkmenos (pidfile), tuomet, jei įmanoma, naudokite
--make-pidfile, nors jūs turėtumėte tai patikrinti, kad būtumėte tikri.
Kitu atveju nenaudokite proceso identifikatoriaus rinkmenų (pidfiles). Prie
start-stop-daemon parametrų galite pridėti ir --quiet, bet tai
nerekomenduojama, nebent tarnyba yra nepaprastai išsami. --quiet
naudojimas gali trukdyti derinimui, jei tarnybai nepavyksta pasileisti.
Pastaba:
Įsitikinkite, kad --exec iš tiesų iškviečia tarnybą, o ne tiesiog
aplinkos (shell) scenarijų, kuris paleidžia tarnybas ir baigia darbą -- tai
yra pirminio paleidimo scenarijaus paskirtis.
|
Jei jums reikia daugiau start() funkcijos pavyzdžių, paskaitykite
pirminius tekstus pirminio paleidimo scenarijų, esančių/etc/init.d
kataloge.
Kitos funkcijos, kurias galite apibrėžti, yra: stop() ir
restart(). Jūs nesate verčiamas apibrėžti šių funkcijų! Mūsų pradinio
paleidimo sistema yra pakankamai protinga užpildyti šias funkcijas pati, jeigu
jūs naudojate start-stop-daemon.
Nors jūs neprivalote kurti stop() funkcijos, štai yra pavyzdys:
Kodo sąrašas 4.7: stop() funkcijos pavyzdys |
stop() {
ebegin "Stopping my_service"
start-stop-daemon --stop --exec /path/to/my_service \
--pidfile /path/to/my_pidfile
eend $?
}
|
Jeigu jūsų tarnyba vykdo kokį nors kitą scenarijų (pavyzdžiui, bash, python ar
perl), ir šis scenarijus vėliau keičia pavadinimą (pavyzdžiui, foo.py į
foo), tuomet jūs turite pridėti --name prie
start-stop-daemon. Tada jūs privalote nurodyti pavadinimą, į kurį vėliau
pasikeičia jūsų scenarijus. Šiame pavyzdyje tarnyba paleidžia foo.py,
kuris pakeičia pavadinimą į foo:
Kodo sąrašas 4.8: Tarnyba, paleidžianti „foo“ scenarijų |
start() {
ebegin "Starting my_script"
start-stop-daemon --start --exec /path/to/my_script \
--pidfile /path/to/my_pidfile --name foo
eend $?
}
|
start-stop-daemon turi puikų žinyną, jei jums reikia daugiau
informacijos:
Kodo sąrašas 4.9: start-stop-daemon žinyno peržiūra |
$ man start-stop-daemon
|
„Gentoo“ sistemos pradinio paleidimo scenarijų sintaksė remiasi Bourne Again
Shell (bash) sintakse, todėl jūs pilnai galite naudoti bash tipo kodą pradinio
paleidimo scenarijuose.
Nustatome įvairias pasirinktis
Jeigu jūs norite, kad jūsų pradinio paleidimo scenarijai turėtų daugiau
pasirinkčių, negu aptartą dabar, tada turite įkelti nustatymų pavadinimą į
opts kintamąjį ir sukurti funkciją tokiu pačiu pavadinimu kaip ir
nustatymas. Pavyzdžiui, jeigu norite turėti nustatymą pavadinimu
restartdelay:
Kodo sąrašas 4.10: Nustatymo restartdelay palaikymas |
opts="${opts} restartdelay"
restartdelay() {
stop
sleep 3
start
}
|
Tarnybos nustatymų kintamieji
Jums nereikia nieko daryti, jeigu norite turėti nustatymų rinkmeną kataloge
/etc/conf.d: jeigu jūsų pradinio paleidimo scenarijus yra
paleistas, šios rinkmenos yra automatiškai prijungiamos (pvz: galima naudoti
kintamuosius):
- /etc/conf.d/<jūsų_pirminio_paleidimo_scenarijus>
- /etc/conf.d/basic
- /etc/rc.conf
Taip pat, jeigu jūsų pradinio paleidimo scenarijus palaiko virtualią
priklausomybę (tokią kaip net), tada rinkmena bus su sieta su šia
priklausomybe (šiuo atveju su rinkmena /etc/conf.d/net).
4.e. Keičiame paleidžiamojo lygio elgesį
Kas gali gauti naudos iš to?
Dauguma nešiojamų kompiuterių vartotojų susiduria su tokia situacija, kaip
pavyzdžiui, namie jiems reikia paleisti net.eth0, kai tuo tarpu dirbant
kelyje (nes nėra interneto), jūs visai nenorite, kad būtų paleistas
net.eth0. Su „Gentoo“ sistema jūs lengvai galite pats keisti
paleidžiamojo lygio elgesį pagal savo norus.
Jūs galite sukurti dar viena „numatytąjį“ („default“) paleidžiamąjį lygį, kurį
galite užkrauti, ir kuris turės jūsų priskirtus pirminio paleidimo scenarijus.
Taip pat galite nustatyti krovimosi laiką, kada norite naudoti numatytąjį
paleidžiamąjį lygį.
Naudojame minkštąjį lygį (softlevel)
Pirmiausia, sukurkite paleidžiamojo lygio direktoriją antram jūsų „numatytajam“
(„default“) paleidžiamajam lygiui. Kaip pavyzdį, sukurkime offline
paleidžiamąjį lygį:
Kodo sąrašas 5.1: Sukuriame paleidžiamojo lygio katalogą |
# mkdir /etc/runlevels/offline
|
Pridedame norimus pirminio paleidimo scenarijus į mūsų naujai sukurtą
paleidžiamąjį lygį. Pavyzdžiui, jeigu norite turėti lygiai tokį patį
paleidžiamąjį lygį kaip jūsų sistemos default paleidžiamasis lygis, bet
be net.eth0:
Kodo sąrašas 5.2: Pridedame reikalingus pirminio paleidimo scenarijus |
# cd /etc/runlevels/default
# for service in *; do rc-update add $service offline; done
# rc-update del net.eth0 offline
# rc-update show offline
acpid | offline
domainname | offline
local | offline
net.eth0 |
|
Nors net.eth0 buvo pašalintas iš offline paleidžiamojo lygio,
udev vis vien bandys paleisti visus įtaisus, kuriuos aptinka, ir
atitinkamas tarnybas. Dėl to jums reikės pridėti kiekvieną tinklo tarnybą,
kurios paleidimo nepageidaujate (kaip ir tarnybas bet kuriems kitiems įtaisams,
kuriuos gali paleisti udev) į rinkmeną /etc/conf.d/rc
kaip parodyta.
Kodo sąrašas 5.3: Pasyviname tarnybas, paleidžiamas įtaisų, rinkmenoje /etc/conf.d/rc |
RC_COLDPLUG="yes"
RC_PLUG_SERVICES="!net.eth0"
|
Pastaba:
Išsamesnę informaciją apie itaisų paleidžiamas tarnybas galite rasti rinkmenos
/etc/conf.d/rc komentaruose.
|
Dabar redaguokime jūsų sistemos įkrovos tvarkyklės nustatymus ir pridėkime
naują reikšmę jūsų offline paleidžiamajam lygiui. Pavyzdžiui, rinkmenoje
/boot/grub/grub.conf:
Kodo sąrašas 5.4: Pridedame naują reikšmę apie offline paleidžiamąjį lygį |
title Gentoo Linux Offline Usage
root (hd0,0)
kernel (hd0,0)/kernel-2.4.25 root=/dev/hda3 softlevel=offline
|
Voilà, jūs viską jau atlikote. Jeigu užkrausite savo savo sistemą ir
krovimosi metu pasirinksite naujai sukurtą reikšmę, offline
paleidžiamasis lygis bus panaudotas vietoj default.
Naudojame krovimosi lygį (bootlevel)
Naudojant bootlevel viskas yra taip pat kaip ir su softlevel.
Vienintelis skirtumas yra tas, kad jūs apibrėžėte antrą „boot“ paleidžiamąjį
lygį, vietoj antro „default“ paleidžiamojo lygio.
5. Aplinkos kintamieji
5.a. Aplinkos kintamieji?
Kas jie
Aplinkos kintamasis yra vardą turintis objektas, kuriame yra saugoma vienos ar
keleto programų naudojama informacija. Daugeliui naudototojų (ir ypač „Linux“
naujokams) tai atrodo gan keista ir sunkiai suprantama. Tačiau toks požiūris
yra klaidingas: naudojant aplinkos kintamuosius galima lengvai pakeisti
konfigūracijos nustatymus vienai ar kelioms programoms.
Svarbūs pavyzdžiai
Lentelėje pateikiama dalis kinamųjų, naudojamų „Linux“ sistemose ir aprašomas
jų naudojimas. Reikšmių pavyzdžiai yra pateikti po lentelės.
| Kintamasis |
Aprašymas |
| PATH |
Šis kintamasis saugo dvitaškiais atskirtą katalogų, kuriuose jūsų sistema
ieško vykdomųjų rinkmenų, sąrašą. Jeigu jūs įvedate vykdomosios rinkmenos
vardą (tokį kaip ls, rc-update ar emerge), bet šios
vykdomosios rinkmenos nėra nei viename iš išvardintų katalogų, jūsų sistema
jo neįvykdys (nebent kaip komandą jūs įvesite pilną kelią, pavyzdžiui,
/bin/ls).
|
| ROOTPATH |
Šis kintamasis atlieka tą pačią funkciją kaip ir PATH, bet jame
išvardinti tik tie katalogai, kuriuose reikia ieškoti kai komandą įveda
pagrindinis naudotojas.
|
| LDPATH |
Šiame kintamajame saugomas dvitaškiais atskirtas katalogų, kuriuose
bibliotekų ieško dinaminė saistyklė, sąrašas.
|
| MANPATH |
Šiame kintamajame saugomas dvitaškiais atskirtas katalogų, kuriuose
man komanda ieško žinyno puslapių, sąrašas.
|
| INFODIR |
Šiame kintamajame saugomas dvitaškiais atskirtas katalogų, kuriuose
info komanda ieško info puslapių, sąrašas.
|
| PAGER |
Šis kintamasis nurodo kelią iki programos, naudojamos rinkmenų turiniui
peržiūrėti (pavyzdžiui, less ar more).
|
| EDITOR |
Šis kintamasis nurodo kelią iki programos, naudojamos rinkmenų turiniui
keisti (pavyzdžiui, nano ar vi).
|
| KDEDIRS |
Šiame kintamajame saugomas dvitaškiais atskirtas katalogų, kuriuose yra
KDE-specifinis turinys, sąrašas.
|
| CONFIG_PROTECT |
Šiame kintamajame saugomas tarpais atskirtas katalogų, kuriuos
Portage turėtų apsaugoti per atnaujinimus, sąrašas.
|
| CONFIG_PROTECT_MASK |
Šiame kintamajame saugomas tarpais atskirtas katalogų, kurių
„Portage“ neturėtų apsaugoti per atnaujinimus, sąrašas.
|
Toliau pateikiame visų šių kintamųjų pavyzdžius:
Kodo sąrašas 1.1: Reikšmių pavyzdžiai |
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"
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"
|
5.b. Globalus kintamųjų apibrėžimas
Katalogas /etc/env.d
Norėdama centralizuoti šių kintamųjų apibrėžimą, „Gentoo“ pradėjo naudoti
katalogą /etc/env.d. Šiame kataloge yra rinkmenos
00basic, 05gcc ir t.t., kuriose saugomi kintamieji,
naudojami programų, paminėtų rinkmenų pavadinimuose.
Pavyzdžiui, kai jūs įdiegiate gcc, yra sukuriama rinkmena
05gcc kurioje yra saugomos šių kintamųjų vertės:
Kodo sąrašas 2.1: /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"
|
Kiti platinamieji paketai (distribucijos) liepia jums pakeisti ar pridėti tokių
aplinkos kintamųjų reikšmes kataloge /etc/profile ar kitose
vietose. Tačiau „Gentoo“ palengvina jums (ir Portage) aplinkos kintamųjų
tvarkymą, nes nereikia vargti su daugybę rinkmenų, kuriose gali būti
apibrėžiami aplinkos kintamieji.
Pavyzdžiui, kai gcc yra atnaujinamas, rinkmena
/etc/env.d/05gcc yra atnaujinama be jokio naudotojo įsikišimo.
Tai naudinga ne tik Portage, bet ir jums, naudotojui. Kartais jums gali reikėti
visai sistemai apibrėžti aplinkos kintamąjį. Kaip pavyzdžiu pasinaudokime
kintamuoju http_proxy. Vietoj to, kad gaištumėtę laiką su
/etc/profile, jums tereikia sukurti rinkmeną
/etc/env.d/99local ir joje įrašyti jūsų apibrėžimą:
Kodo sąrašas 2.2: /etc/env.d/99local |
http_proxy="proxy.server.com:8080"
|
Naudodami tą pačią rinkmeną visiems savo kintamiesiems, jūs galite lengvai ir
greitai peržvelgti visus jūsų pačių apibrėžtus kintamuosius.
Scenarijus env-update
Kintamąjį PATH apibrėžia keletas rinkmenų kataloge
/etc/env.d. Tai nėra klaida: kai jūs įvykdote scenarijų
env-update, jis sujungia keletą apibrėžimų prieš atnaujindamas aplinkos
kintamuosius, taip leisdamas paketams (ir naudotojams) lengvai pridėti jų pačių
aplinkos kintamųjų vertes nemaišant jų sau jau esančiomis vertėmis.
Scenarijus env-update sujungs reikšmes pagal abėcėlinę rinkmenų kataloge
/etc/env.d pavadinimų tvarką. Rinkmenų vardai turi prasidėti
dvejais dešimtainiais skaitmenimis.
Kodo sąrašas 2.3: env-update naudojama atnaujinimo tvarka |
00basic 99kde-env 99local
+-------------+----------------+-------------+
PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin"
|
Kintamųjų sujungimas yra vykdomas ne visada, o tik šiems kintamiesiems:
KDEDIRS, PATH, LDPATH, MANPATH, INFODIR,
INFOPATH, ROOTPATH, CONFIG_PROTECT,
CONFIG_PROTECT_MASK, PRELINK_PATH ir PRELINK_PATH_MASK.
Visiems kitiems kintamiesiems naudojama paskutinė apibrėžta vertė (pagal
abėcėlinę rinkmenų pavadinimų kataloge /etc/env.d eilę).
Kai jūs įvykdote env-update, scenarijus sukuria visus aplinkos
kintamuosius ir patalpina juos rinkmenoje /etc/profile.env (kurią
naudoja /etc/profile). Taip pat išgauna informaciją iš kintamojo
LDPATH ir panaudoja ją /etc/ld.so.conf sukūrimui. Tada jis
paleidžia ldconfig, kad šis atkurtų rinkmeną
/etc/ld.so.cache, naudojamą dinaminės saistyklės .
Jeigu jūs norite pastebėti komandos env-update padarinius iškart po jos
įvykdymo, įvykdykite žemiau pateiktą komandą savo aplinkos atnaujinimui.
Naudotojai, kurie patys įdiegė „Gentoo“, turbūt prisimins šią komandą iš
diegimo instrukcijų:
Kodo sąrašas 2.4: Aplinkos atnaujinimas |
# env-update && source /etc/profile
|
Pastaba:
Ši komanda atnaujina kintamuosius tik jūsų dabartiniame terminale,
naujuose pultuose, ir jų antriniuose procesuose. Todėl, jeigu jūs
dirbate X11 aplinkoje, jums reikės arba įvedinėti source /etc/profile
kiekviename naujame terminale arba perstartuoti X, kad visi nauji terminalai
naudotų naujus kintamuosius. Jeigu jūs naudojate registravimosi tvarkyklę,
įsiregistruokite kaip pagrindinis naudotojas ir įveskite /etc/init.d/xdm
restart. Jeigu to nepadarysite, jums reikės išsiregistruoti ir vėl
įsiregistruoti į X, kad būtų naudojami nauji kintamieji.
|
Svarbu:
Jūs negalite naudoti aplinkos (shell) kintamųjų kitų kintamųjų apibrėžimui. Tai
reiškia, kad tokie dalykai kaip FOO="$BAR" (kur $BAR yra kitas
kintamasis) yra draudžiami.
|
5.c. Lokalus kintamųjų apibrėžimas
Specialiai naudotojui
Jūs nevisada norite apibrėžti aplinkos kintamuosius globaliai. Pavyzdžiui, jūs
galite norėti pridėti /home/my_user/bin ir veikiamąjį katalogą
(katalogą, kuriame esate) į PATH kintamąjį, bet nenorite, kad visi kiti
jūsų sistemos vartotojai turėtų šiuos katalogus savo PATH kintamuosiuose.
Jeigu jūs norite aplinkos kintamąjį apibrėžti tik lokaliai, jums reikia
pasinaudoti rinkmenomis ~/.bashrc ar ~/.bash_profile:
Kodo sąrašas 3.1: PATH išplėtimas lokaliam naudojimu rinkmenoje ~/.bashrc |
PATH="${PATH}:/home/my_user/bin:"
|
Kai jūs persiregistruosite, jūsų PATH kintamasis bus atnaujintas.
Specialiai seansui
Kartais reikalaujama dar griežtesnių apibrėžimų. Jūs galite norėti naudotis
dvejetainėmis rinkmenomis iš laikino jūsų sukurto katalogo nenurodant kelio iki
jų ir neredaguojant ~/.bashrc rinkmenos, nes jums to reikia tik
trumpam laikui.
Tokiu atveju, jūs galite apibrėžti kintamąjį PATH jūsų veikiamajam
seansui panaudodami komandą export. Kol jūs neišsiregistruosite,
kintamasis PATH naudos laikinuosius nustatymus.
Kodo sąrašas 3.2: Specifinių seanso aplinkos kintamųjų apibrėžimas |
# export PATH="${PATH}:/home/my_user/tmp/usr/bin"
|
C. Darbas su „Portage“
1. Rinkmenos ir katalogai
1.a. „Portage“ rinkmenos
Konfigūracijos nuorodos
Pagal nutylėjimą „Portage“ konfigūracija yra saugoma rinkmenoje
/etc/make.globals. Pažiūrėję į ją pamatysite, kad visa „Portage“
konfigūracija yra nustatoma per kintamuosius. Kokie kintamieji valdo „Portage“
ir ką jie reiškia aprašyta žemiau.
Kadangi daugelis konfigūracijos nurodymų skiriasi skirtingoms architektūroms,
„Portage“ taip pat turi konfigūracijos pagal nutylėjimą rinkmenas, kurios yra
jūsų profilio dalis. Jūsų profilis yra nurodomas nuoroda
/etc/make.profile; „Portage“ konfigūracija yra nustatyta jūsų
profilio ir visų vyresnių profilių rinkmenose make.defaults. Mes
paaiškinsime daugiau apie profilius ir katalogą /etc/make.profile
vėliau.
Jeigu jūs planuojate pakeisti konfigūracinius kintamuosius, nekeiskite
rinkmenų /etc/make.globals ar make.defaults. Vietoje
to naudokite pirmumą prieš šias rinkmenas turinčią rinkmeną
/etc/make.conf. Jūs taip pat rasite
/usr/share/portage/config/make.conf.example. Kaip ir nurodo
pavadinimas, tai yra pavyzdžių rinkmena - „Portage“ neskaito šios rinkmenos.
Jūs taip pat galite apibrėžti „Portage“ konfigūracinį kintamąjį kaip aplinkos
kintamąjį, bet mes to nerekomenduojame.
Specifinė profilio informacija
Mes jau buvome užsiminę apie katalogą /etc/make.profile. Iš
tikrųjų tai ne katalogas, o simbolinė nuoroda į profilį pagal nutylėjimą,
esantį /usr/portage/profiles, tačau jūs galite susikurti savo
profilius kur nors kitur ir nurodyti į juos. Profilis, į kurį nurodo ši
simbolinė nuoroda, yra jūsų sistemos profilis.
Profilyje yra specifinė architektūros informacija skirta „Portage“, tokia kaip
paketų, priklausančių sistemai, atitinkančiai jūsų profilį, sąrašas,
neveikiančių ar užmaskuotų šiam profiliui paketų sąrašas ir t.t.
Specifinė naudotojo konfigūracija
Kai jūs norite pakeisti „Portage“ elgesį, susijusį su programinės įrangos
diegimu, jums reikia redaguoti rinkmenas esančias /etc/portage.
Jums labai rekomenduojama naudoti rinkmenas, esančias
/etc/portage ir griežtai nepatariama keisti elgesį
naudojant aplinkos kintamuosius!
Kataloge /etc/portage jūs galite sukurti šias rinkmenas:
-
package.mask, kurioje išvardinami paketai, kurių jūs nenorite
leisti „Portage“ įdiegti
-
package.unmask, kurioje išvardinami paketai, kuriuos jūs
norite idiegti, nors „Gentoo“ kūrėjai ir griežtai nepataria jums jų
įsirašyti.
-
package.keywords, kurioje išvardinami paketai, kuriuos jūs
norite įdiegti, nors jie ir nelaikomi tinkamais jūsų sistemai ar
architektūrai (kol kas).
-
package.use, kurioje išvardinamos USE vėliavėlės, kurias jūs
norite naudoti tam tikriems paketams, o ne visai sistemai.
Tai nebūtinai turi būti rinkmenos, gali būti ir katalogai, kuriuose būtų po
rinkmeną kiekvienam paketui. Daugiau informacijos apie katalogą
/etc/portage ir pilną sąrašą rinkmenų, kurias jūs galite jame
sukurti, galite rasti „Portage“ žinyno puslapyje:
Kodo sąrašas 1.1: „Portage“ žinyno puslapio skaitymas |
$ man portage
|
„Portage“ rinkmenų ir katalogų vietų pakeitimas
Anksčiau paminėtos konfigūracinės rinkmenos negali būti saugomos kur nors kitur
- „Portage“ visada ieškos šių konfigūracinių rinkmenų būtent tose vietose.
Tačiau įvairiems tikslams „Portage“ naudoja daug kitų vietų: kompiliavimo
katalogą, pirminio kodo saugyklą, „Portage“ medžio vietą...
Visiems šiems tikslams pagal nutylėjimą yra skirtos gerai žinomos vietos, bet
jos gali būti pakeistos pagal jūsų skonį naudojant rinkmeną
/etc/make.conf. Likusi šio skyriaus dalis aiškina, kokias
specialios paskirties vietas „Portage“ naudoja ir kaip jas pakeisti savo
rinkmenų išdėstymo sistemoje.
Tačiau šis dokumentas nėra žinynas. Jeigu jums reikia 100% aprašymo, jums
derėtų pasiskaityti „Portage“ ir make.conf žinynų puslapius:
Kodo sąrašas 1.2: „Portage“ ir make.conf žinynų puslapių skaitymas |
$ man portage
$ man make.conf
|
1.b. Rinkmenų saugojimas
„Portage“ medis
„Portage“ medžio vieta pagal nutylėjimą yra /usr/portage. Tai
apibrėžiama kintamuoju PORTDIR. Kai jūs išsaugojate „Portage“ medį kitur
(pakeisdami šį kintamąjį), nepamirškite atitinkamai pakeisti ir
/etc/make.profile simbolinės nuorodos.
Jeigu jūs pakeisite kintamąjį PORTDIR, jums taip pat vertėtų pakeisti šiuos
kintamuosius, nes jie nepastebi PORTDIR pasikeitimo. Taip yra dėl „Portage“
kintamųjų valdymo būdo: PKGDIR, DISTDIR, RPMDIR.
Dvejetainiai paketai
Nors „Portage“ pagal nutylėjimą nenaudoja dvejetainių paketų, jiems ji turi
platų palaikymą. Kai jūs pareikalausite „Portage“ dirbti su dvejetainiais
paketais, ji ieškos jų kataloge /usr/portage/packages. Šią vietą
nurodo kintamasis PKGDIR.
Pirminiai tekstai
Programos pirminiai tekstai pagal nutylėjimą yra įrašomi į katalogą
/usr/portage/distfiles. Šią vietą nurodo kintamasis DISTDIR.
„Portage“ duomenų bazė
„Portage“ išsisaugo informaciją apie jūsų sistemos būklę (kokie paketai yra
idiegti, kokiam paketui priklauso kokios rinkmenos, ...) kataloge
/var/db/pkg. Neredaguokite šių rinkmenų rankiniu būdu! Tai
gali sugadinti „Portage“ žinias apie jūsų sistemą.
„Portage“ podėlis
„Portage“ podėlis (su modifikavimo laikais, virtualais, priklausomybių medžio
informacija, ...) yra kataloge /var/cache/edb. Ši vieta tikrai yra
podėlis: jūs galite ją išvalyti, jeigu nevykdote jokios su „Portage“ susijusios
programos.
1.c. Programinės įrangos kompiliavimas
Laikinosios „Portage“ rinkmenos
Laikinosios „Portage“ rinkmenos pagal nutylėjimą yra įrašomos į katalogą
/var/tmp. Tai nurodo kintamasis PORTAGE_TMPDIR.
Jeigu jūs pakeisite kintamajį PORTAGE_TMPDIR, jums taip pat vertėtų pakeisti
šiuos kintamuosius, nes jie nepastebi PORTAGE_TMPDIR pasikeitimo. Taip yra dėl
„Portage“ kintamųjų valdymo būdo: BUILD_PREFIX.
Kompiliavimo katalogas
„Portage“ sukuria specialius kompiliavimo katalogus kiekvienam paketui ji įrašo
kataloge /var/tmp/portage. Šią vietą nurodo kintamasis
BUILD_PREFIX.
Veikiančios rinkmenų išdėstymo sistemos vieta
Pagal nutylėjimą „Portage“ įdiegia visas rinkmenas į esamą rinkmenų išdėstymo
sistemą (/), bet jūs galite tai pakeisti aplinkos kintamuoju ROOT.
Tai yra naudinga kai jūs norite sukurti naujus sistemos atvaizdus.
1.d. Žurnalizavimo savybės
Paketų žurnalizavimas
„Portage“ gali kurti žurnalizavimo rinkmenas kiekvienam paketui, bet tik kai
kintamasis PORT_LOGDIR nurodo vietą, į kurią leidžiama rašyti „Portage“
(portage naudotojui). Pagal nutylėjimą šis kintamasis yra neapibrėžtas. Jeigu
nenustatysite PORT_LOGDIR, negausite jokių kompiliavimo žurnalų,
tačiau galite gauti kelis žurnalus iš naujojo elog. Jei esate apibrėžę
PORT_LOGDIR ir naudojate elog, gausite kompiliavimo žurnalus ir bet kuriuos
žurnalus, išsaugotus elog, kaip paaiškinta žemiau.
„Portage“ siūlo lankstų žurnalizavimo valdymą naudojant elog.
-
PORTAGE_ELOG_CLASSES: Čia jūs nustatote, kokios rūšies žinutės turėtų būti
žurnalizuojamos. Galite naudoti tarpais atskirtų info, warn,
error, log ir qa derinį.
-
info: Žurnalizuoja „einfo“ pranešimus, atspausdintus ebuild
rinkmenos
-
warn: Žurnalizuoja „ewarn“ pranešimus, atspausdintus ebuild
rinkmenos
-
error: Žurnalizuoja „eerror“ pranešimus, atspausdintus ebuild
rinkmenos
-
log: Žurnalizuoja „elog“ pranešimus, esančius kai kuriose ebuild
rinkmenose
-
qa: Žurnalizuoja „QA Notice“ pranešimus, atspausdintus ebuild
rinkmenos
-
PORTAGE_ELOG_SYSTEM: Atrenkamas(-i) modulis(-iai) žurnalizavimo pranešimų
apdorojimui. Jei paliktas tuščias, žurnalizavimas yra išjungtas. Galite
naudoti bet kokį tarpais atskirtų save, custom,
syslog, mail save_summary ir mail_summary
derinį. Jūs privalote atrinkti bent vieną modulį, kad galėtumėte naudoti
elog.
-
save: Išsaugo po vieną žurnalą paketui
$PORT_LOGDIR/elog arba /var/log/portage/elog,
jei $PORT_LOGDIR neapibrėžtas.
-
custom: Perduoda visus pranešimus kintamuoju
$PORTAGE_ELOG_COMMAND naudotojo apibrėžtai komandai; tai aptarsime
vėliau.
-
syslog: Siunčia visus pranešimus įdiegtam sistemos žurnalizavimo
įrankiui.
-
mail: Perduoda visus pranešimus kintamuoju $PORTAGE_ELOG_MAILURI
naudotojo apibrėžtam pašto serveriui; tai aptarsime vėliau. elog pašto
funkcijoms reikalingas >=portage-2.1.1 paketas.
-
save_summary: Panašus į save, bet sulieja visus
pranešimus rinkmenoje $PORT_LOGDIR/elog/summary.log arba
/var/log/portage/elog/summary.log, jei $PORT_LOGDIR
neapibrėžtas.
-
mail_summary: Panašus į mail, bet visus pranešimus
išsiunčia vienu laišku, kai baigiasi diegimas.
-
PORTAGE_ELOG_COMMAND: Naudojama tik kai aktyvintas custom modulis.
Čia nurodoma komanda žurnalizavimo pranešimų apdorojimui. Atkreipkite
dėmesį, kad jūs galite panaudoti du kintamuosius: ${PACKAGE} yra paketo
pavadinimas ir versija, o ${LOGFILE} yra absoliutusis kelias iki
žurnalizavimo rinkmenos. Štai vienas galimas naudojimas:
-
PORTAGE_ELOG_COMMAND="/path/to/logger -p '\${PACKAGE}' -f '\${LOGFILE}'"
-
PORTAGE_ELOG_MAILURI: Čia yra nuostatos mail moduliui, tokios kaip
adresas, naudotojas, slaptažodis, pašto serveris ir prievado numeris.
Numatytoji nuostata yra "root@localhost localhost".
-
Štai pavyzdys smtp serveriui, kuris reikalauja naudotojo vardo ir
slaptažodžio prisijungiant prie tam tikro prievado (numatytasis yra 25
prievadas):
-
PORTAGE_ELOG_MAILURI="naudotojas@kažkokia.sritis
naudotojo_vardas:slaptažodis@smtp.kažkokia.sritis:995"
-
PORTAGE_ELOG_MAILFROM: Leidžia nustatyti laukelyje „kas“ („from“) rodomą
adresą žurnalų laiškuose; jei nenustatytas, numatytoji reikšmė yra
„portage“.
-
PORTAGE_ELOG_MAILSUBJECT: Leidžia sukurti temos (subject) eilutę žurnalų
laiškams. Atkreipkite dėmesį, kad jūs galite panaudoti du kintamuosius:
${PACKAGE} parodys paketo pavadinimą ir versiją, o ${HOST} yra kompiuterio,
kuriame yra paleista „Portage“, pilnas sudėtinis srities vardas (fully
qualified domain name).
-
Štai vienas galimas naudojimas:
-
PORTAGE_ELOG_MAILSUBJECT="paketas \${PACKAGE} įdiegtas \${HOST} su
keliais pranešimais"
Svarbu:
Jeigu jūs su „Portage“ 2.0.* naudojote enotice, turite visiškai
pašalinti enotice, kadangi ji nėra suderinama su elog.
|
2. Konfigūravimas per kintamuosius
2.a. „Portage“ konfigūravimas
Kaip buvo pažymėta anksčiau, „Portage“ galima konfigūruoti naudojant
kintamuosius, kuriuos reikia apibėžti rinkmenoje /etc/make.conf.
Jeigu norite išsamesnės informacijos, ją galite rasti make.conf
žinyno puslapyje:
Kodo sąrašas 1.1: make.conf žinyno puslapio skaitymas |
$ man make.conf
|
2.b. Specifinės kompiliavimo parinktys
Konfigūravimo ir kompiliatoriaus parinktys
Kai „Portage“ kompiliuoja programas, ji kompiliatoriui ir konfigūravimo
scenarijui perduoda šių kintamųjų turinį:
-
CFLAGS ir CXXFLAGS apibrėžia pageidaujamas kompiliatoriaus vėliavėles C ir
C++ kompiliavimui.
-
CHOST apibrėžia informaciją apie kompiuterį programos konfigūravimo
scenarijui.
-
MAKEOPTS yra perduodami make komandai ir paprastai yra naudojami
apibrėžti kompiliavimo metu naudojamą paralelizmo kiekį. Daugiau
informacijos apie kompiliavimo nustatymus galima rasti make žinyno
puslapyje.
Kintamasis USE taip pat yra naudojams konfigūruojant ir kompiliuojant, bet jis
buvo išsamiai paaiškintas ankstesniuose skyriuose.
Programų atnaujinimo nustatymai
Kai „Portage“ įrašo naujesnę kokios nors programinės įrangos versiją, ji
ištrina nebevartojamas senesnės versijos rinkmenas iš jūsų sistemos. Prieš
ištrindama senesnę versiją, „Portage“ palaukia 5 sekundes. Šios 5 sekundės yra
apibrėžtos kintamuoju CLEAN_DELAY.
Jūs galite nurodyti emerge naudoti tam tikrus parametrus kiekvieną kartą
pasileidžiant nustatydami EMERGE_DEFAULT_OPTS. Keli naudingi parametrai galėtų
būti --ask, --verbose, --tree ir kiti.
2.c. Konfigūracinės rinkmenos apsauga
Apsaugoti „Portage“ katalogai
Kai „Portage“ įrašo naujesnę programos versiją, ji vietoj senosios versijos
konfigūracijos rinkmenų įrašo naujesnės versijos konfigūracijos rinkmenas,
nebent jos yra apsaugotame kataloge. Apsaugoti katalogai nustatomi
kintamuoju CONFIG_PROTECT ir yra įprasti konfigūracijos rinkmenų katalogai.
Katalogų sąrašo dydis yra neribotas.
Rinkmena, kurią reikia įrašyti tokiame apsaugotame kataloge yra pervardinama ir
vartotojas yra įspėjamas apie naujesnę konfigūrcinės rinkmenos versiją.
Esamą kintamojo CONFIG_PROTECT nuostatą galima sužinoti iš komandos emerge
--info išvesties:
Kodo sąrašas 3.1: CONFIG_PROTECT nuostatos sužinojimas |
$ emerge --info | grep 'CONFIG_PROTECT='
|
Daugiau informacijos apie „Portage“ konfigūracinių rinkmenų apsaugą galima
rasti emerge žinyno puslapio „CONFIGURATION FILES“ dalyje:
Kodo sąrašas 3.2: Daugiau informacijos apie konfigūracinių rinkmenų apsaugą |
$ man emerge
|
Katalogų išskyrimas
Jeigu jūs norite „pašalinti apsaugą" nuo tam tikrų saugomų katalogų
pakatalogių, naudokite kintamąjį CONFIG_PROTECT_MASK.
2.d. Parsisiuntimo parinktys
Serverių vietos
Kai jūsų sistemoje nėra reikalaujamos informacijos ar duomenų, „Portage“ bandys
tą gauti iš interneto. Serverių, kuriuose yra įvairi informacija ir duomenys,
adresai yra apibrėžti šių kintamųjų:
-
GENTOO_MIRRORS apibrėžia serverių, kuriuose yra pirminiai tekstai, reikiami
paketų diegimui, sąrašą
-
PORTAGE_BINHOST apibrėžia serverių, kuriuose yra iš anksto jūsų sistemai
sukompiliuoti paketai, sąrašą
Trečioji nuostata yra susijusi su rsync serverio, kurį jūs naudojate, kai jūs
atnaujinate „Portage“, vieta:
-
SYNC nustato konkretų serverį, iš kurio Portage parsiunčia „Portage“ medį
Kintamieji GENTOO_MIRRORS ir SYNC gali būti automatiškai nustatyti naudojant
mirrorselect programą. Kad galėtumėte ja naudotis, pirmiausiai reikia
įvykdyti komandą emerge mirrorselect. Daugiau informacijos rasite
mirrorselect žinyne:
Kodo sąrašas 4.1: Daugiau informacijos apie mirrorselect |
# mirrorselect --help
|
Jeigu jums reikia naudoti įgaliotąjį serverį, jam nustatyti jūs galite naudoti
kintamuosius http_proxy, ftp_proxy ir RSYNC_PROXY.
Parsiuntimo komandos
Kai „Portage“ reikia parsiųsti pirminius tekstus, pagal nutylėjimą ji naudoja
wget. Tai galima pakeisti naudojantis kintamuoju FETCHCOMMAND.
„Portage“ sugeba pratęsti dalinai parsiųstų pirminių tekstų siuntimą. Tam pagal
nutylėjimą ji naudoja wget, bet tai gali būti pakeista naudojant
kintamąjį RESUMECOMMAND.
Įsitikinkite, kad FETCHCOMMAND and RESUMECOMMAND išsaugo pirminius tekstus
teisingoje vietoje. Kintamųjų viduje pirminių tekstų ir rinkmenų, reikiamų
paketų diegimui, išsaugojimo vietai nurodyti reiktų naudoti atitinkamai
\${URI} and \${DISTDIR}.
Jūs taip pat galite apibrėžti apdorojimo programas konkretiems protokolams
naudodami FETCHCOMMAND_HTTP, FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP,
RESUMECOMMAND_FTP ir t.t.
Rsync nuostatos
Jūs negalite keisti komandos rsync, kuria „Portage“ naudoja atnaujinti Portage
medžiui, bet jūs galite nustatyti keletą kintamųjų, susijusių su rsync komanda:
-
PORTAGE_RSYNC_OPTS nustato numatytus kintamuosius, naudojamus
sinchronizacijos metu, atskirtus kableliais. Jie neturėtų būti keičiami,
nebent jūs tiksliai žinote, ką darote. Atkreipkite dėmesį, kad
kai kurie neabejotinai būtini parametrai bus naudojami visuomet, net jei
PORTAGE_RSYNC_OPTS yra tuščias.
-
PORTAGE_RSYNC_EXTRA_OPTS gali būti naudojamas papildomų nuostatų
sinchronizacijos metu nustatymui. Kiekviena nuostata turi būti atskirta
tarpu.
-
--timeout=<skaičius>: Nurodomas skaičius sekundžių, kurias rsync
susijungimas gali būti neveiklus prieš tai, kada rsync mato
susijungimui skirtojo laiko pabaigą. Numatytoji šio kintamojo reikšmė
yra 180, tačiau telefoninio ryšio naudotojai ar asmenys, turintys lėtus
kompiuterius galbūt norės nustatyti 300 ar daugiau.
-
--exclude-from=/etc/portage/rsync_excludes: Nurodoma į rinkmeną,
kurioje yra sąrašas paketų ir/ar kategorijų, kurias rsync atnaujinimo
proceso metu turėtų ignoruoti. Šiuo atveju nurodyta į
/etc/portage/rsync_excludes. Apie šios rinkmenos sintaksę
skaitykite skyriuje „Portage“ medžio
pogrupių naudojimas“.
- --quiet: Sumažina išvedimą į ekraną
- --verbose: Atspausdina pilną rinkmenų sąrašą
- --progress: Kiekvienai rinkmenai parodo eigos juostą
-
PORTAGE_RSYNC_RETRIES apibrėžia, kiek kartų rsync turėtų bandyti
prisijungti prie dubliuojamosios tinklavietės, nurodytos SYNC kintamuoju,
prieš baigdamas darbą. Šio kintamojo numatytoji reikšmė yra 3.
Daugiau informacijos apie šias ir kitas nuostatas galite gauti rsync žinyno
puslapyje (man rsync).
2.e. „Gentoo“ konfigūravimas
Šakos pasirinkimas
Šaką, kurią norite naudoti, galite pasirinkti kintamojo ACCEPT_KEYWORDS
pagalba. Pagal nutylėjimą jis nurodo jūsų architektūros stabiliąją šaką.
Daugiau informacijos apie „Gentoo“ šakas galima rasti kitame skyriuje.
„Portage“ ypatybės
Jūs galite aktyvuoti tam tikras „Portage“ ypatybes naudodami kintąmąjį
FEATURES. „Portage“ ypatybės buvo aptartos ankstesniuose skyriuose, tokiuose
kaip „Portage“ ypatybės.
2.f. „Portage“ elgesys
Resursų valdymas
Naudodami kintamąjį PORTAGE_NICENESS jūs galite padidinti arba sumažinti
„Portage“ nice vertę. PORTAGE_NICENESS vertė yra pridedama prie esamos
nice vertės.
Norėdami sužinoti daugiau apie nice vertes, paskaitykite nice žinyno puslapį:
Kodo sąrašas 6.1: Daugiau informacijos apie nice |
$ man nice
|
Išvesties elgesys
Kintamasis NOCOLOR, kurio vertė pagal nutylėjimą yra „netiesa“ („false“),
apibrėžia, ar „Portage“ turėtų pasyvinti (išjungti) spalvotos išvesties
naudojimą.
3. Programinės įrangos atšakų maišymas
3.a. Vienos programinės įrangos šakos naudojimas
Stabilioji šaka
Kintamasis ACCEPT_KEYWORDS nusako, kuri programinės įrangos šaka bus naudojama
jūsų sistemoje. Pagal nutylėjimą jis nurodo stabiliąją programinės įrangos šaką
jūsų architektūrai, pavyzdžiui, x86.
Mes rekomenduojame naudoti tik stabiliąją šaką. Tačiau, jeigu jums stabilumas
ypatingai nerūpi, ir jūs norite padėti „Gentoo“ siųsdami pranešimus apie
klaidas į http://bugs.gentoo.org, skaitykite toliau.
Bandomoji šaka
Jeigu jūs norite naudoti naujesnę programinę įrangą, jūs galite vietoj
stabiliosios šakos naudoti bandomąją šaką. Jeigu norite, kad Portage naudotų
bandomąją šaką, pridėkite ženklą ~ prieš savo architektūrą.
Bandomoji šaka yra būtent tai, ką sako jos pavadinimas - bandymas.
Jeigu paketas yra bandomojoje šakoje, vadinasi jo kūrėjai mano, kad jis yra
veikiantis, bet ne iki galo išbandytas. Jūs laisvai galite būti pirmasis
suradęs riktą pakete. Tokiu atveju jums reikėtų užpildyti pranešimą apie riktą, taip pranešant
apie jį programos kūrėjams.
Tačiau būkite atsargūs, nes jums gali iškilti problemų dėl stabilumo,
neužbaigto paketų valdymo (pavyzdžiui, neteisingų/trūkstamų priklausomybių),
per dažnų atnaujinimų (lemiančių daug kompiliavimo) ar neveikiančių paketų.
Jeigu jūs nežinote, kaip veikia „Gentoo“ ir kaip išspręsti problemas, mes
rekomenduojame jums pasilikti su stabiliąją šaka, kuri yra jau išbandyta.
Norėdami pasirinkti bandomąją šaką, pavyzdžiui, x86 architektūrai, redaguokite
/etc/make.conf ir nustatykite:
Kodo sąrašas 1.1: Kintamo ACCEPT_KEYWORDS nustatymas |
ACCEPT_KEYWORDS="~x86"
|
Jeigu jūs dabar atnaujinsite savo sistemą, pamatysite, kad bus atnaujinta
daug paketų. Tačiau įsidėmėkite: kai jūs atnaujinsite savo sistemą
naudodami bandomąją šaką, jums nebebus lengvo būdo sugrįžti į stabiliąją,
oficialiąją šaką (nebent naudojant atsargines kopijas).
3.b. Stabiliosios ir bandomosios šakų maišymas
package.keywords vieta
Jūs galite nurodyti Portage tam tikriems paketams naudoti bandomąją šaką, o
likusiai sistemos daliai naudoti stabiliąją šaką. Kad to pasiektumėte,
įrašykite paketo, kurio bandomąją versiją norite naudoti, kategoriją ir vardą
į /etc/portage/package.keywords. Galite sukurti ir katalogą
(tokiu pačiu vardu) ir išvardinti paketus rinkmenose šiame kataloge.
Pavyzdžiui, norėdami naudoti bandomąją šaką paketui gnumeric, turėtumėte
įrašyti:
Kodo sąrašas 2.1: /etc/portage/package.keywords nustatymas gnumeric, pilna eilutė |
app-office/gnumeric ~x86
|
Konkrečios versijos išbandymas
Jeigu jūs norite naudoti konkrečią kokios nors programos versiją iš bandomosios
šakos, bet jūs nenorite, kad Portage naudotų testuojamąją šaką
vėlesnėms tos programos versijoms, jūs galite įrašyti versijos numerį
package.keywords vietoje. Šiuo atveju jūs privalote naudoti
operatorių =. Jūs taip pat galite įrašyti versijų seką naudodami operatorius
<=, <, > arba >=.
Bet kokiu atveju, jeigu jūs pridedate informaciją apie versiją, jūs
privalote naudoti operatorių. Jeigu jūs nepateikiate versijos
informacijos, jūs negalite naudoti operatoriaus.
Šiame pavyzdyje mes nurodome Portage priimti gnumeric-1.2.13:
Kodo sąrašas 2.2: Konkrečios gnumeric versijos nurodymas |
=app-office/gnumeric-1.2.13 ~x86
|
3.c. Užmaskuotų paketų naudojimas
package.unmask vieta
„Gentoo“ kūrėjai nepalaiko šios vietos naudojimo. Būkite atsargūs, jei
ją naudosite. Į pagalbos prašymus, susijusius su package.unmask ir/ar
package.mask nebus atsiliepta. Jūs buvote įspėti.
Kai paketas yra užmaskuotas „Gentoo“ kūrėjų, ir jūs vistiek norite jį naudoti
nepaisydami priežasčių, išsakytų rinkmenoje package.mask (kuri
pagal nutylėjimą yra /usr/portage/profiles), įrašykite
lygiai tokia pačią eilutę į rinkmeną
/etc/portage/package.unmask (arba į rinkmeną šiame kataloge, jei
tai katalogas).
Pavyzdžiui, jeigu =net-mail/hotwayd-0.8 yra užmaskuotas, jūs galite
jį atmaskuoti įrašydami lygiai tokią pačią eilutę package.unmask
vietoje:
Kodo sąrašas 3.1: /etc/portage/package.unmask |
=net-mail/hotwayd-0.8
|
package.mask vieta
Kai jūs norite, kad Portage „nematytų“ tam tikro paketo arbą tam tikros paketo
versijos, jūs galite patys jį užmaskuoti įrašydami atitinkamą eilutę
/etc/portage/package.mask vietoje (arba šioje rinkmenoje, arba
rinkmenoje šiame kataloge).
Pavyzdžiui, jeigu jūs nenorite, kad Portage diegtų naujesnius branduolio
pirminius tekstus negu gentoo-sources-2.6.8.1, jums reikėtų įrašyti
šią eilutę package.mask vietoje:
Kodo sąrašas 3.2: /etc/portage/package.mask pavyzdys |
>sys-kernel/gentoo-sources-2.6.8.1
|
4. Papildomi „Portage“ įrankiai
4.a. dispatch-conf
dispatch-conf yra įrankis, padedantis suliejant rinkmenas
._cfg0000_<pavadinimas>. „Portage“ sukuria rinkmenas
._cfg0000_<pavadinimas>, kai ji nori perrašyti rinkmeną
kataloge, apsaugotame kintamuoju CONFIG_PROTECT.
Naudodami dispatch-conf, galite įrašyti savo konfigūracinių rinkmenų
atnaujinimus, išsaugodami visus pakeitimus. dispatch-conf saugo
skirtumus tarp konfigūracinių rinkmenų kaip pataisas arba naudodamas RCS
modifikacijų sistemą. Tai reiškia, jog jei suklysite atnaujindami konfigūracinę
rinkmeną, bet kuriuo metu galėsite grąžinti ankstesnę konfigūracinės rinkmenos
versiją.
Naudodami dispatch-conf, galite liepti palikti konfigūracines rinkmenas
tokias, kokios yra, naudoti naująsias konfigūracines rinkmenas, redaguoti
dabartines arba sulieti skirtumus interaktyviai. dispatch-conf taip pat
turi keletą papildomų savybių:
-
Automatiškai sulieja konfigūracinių rinkmenų atnaujinimus, kuriuose
atnaujinti yra tik komentarai
-
Automatiškai sulieja konfigūracines rinkmenas, kurios skiriasi tik tarpų
kiekiu
Pirmiausia redaguokite rinkmeną /etc/dispatch-conf.conf ir
sukurkite katalogą, nurodytą kintamuoju archive-dir.
Kodo sąrašas 1.1: dispatch-conf paleidimas |
# dispatch-conf
|
Paleidus dispatch-conf, po vieną jums bus pateikta kiekviena
konfigūracinė rinkmena. Paspauskite u, kad atnaujintumėte (pakeistumėte)
esamą konfigūracinę rinkmeną naująja ir pereitumėte prie kitos rinkmenos.
Spustelkite z, kad pašalintumėte naująją konfigūracinę rinkmeną ir
pereitumėte prie kitos rinkmenos. Vos tik visomis konfigūracinėmis rinkmenomis
bus pasirūpinta, dispatch-conf baigs darbą. Taip pat galite paspausti
q, kad išeitumėte iš programos bet kuriuo metu.
Norėdami gauti daugiau informacijos, peržvelkite dispatch-conf žinyno
puslapį. Jame aiškinama, kaip interaktyviai sulieti esamą ir naują
konfigūracines rinkmenas, redaguoti naujas konfigūracines rinkmenas, peržvelgti
skirtumus tarp rinkmenų ir daugiau.
Kodo sąrašas 1.2: dispatch-conf žinyno puslapio skaitymas |
$ man dispatch-conf
|
4.b. etc-update
Konfigūracinių rinkmenų suliejimui galite naudoti ir etc-update. Jis
nėra toks paprastas naudoti kaip dispatch-conf, turi ne tiek daug
funkcijų, tačiau teikia interaktyvaus suliejimo galimybę bei gali automatiškai
sulieti nežymius pakeitimus.
Tačiau etc-update, skirtingai nuo dispatch-conf, neišsaugo
jūsų konfigūracinių rinkmenų buvusių versijų. Vos tik atnaujinsite rinkmeną,
senosios versijos nebeliks! Taigi būkite labai atsargūs, kadangi naudoti
etc-update nėra taip saugu kaip dispatch-conf.
Kodo sąrašas 2.1: etc-update vykdymas |
# etc-update
|
Įrašius nežymius pokyčius, jums bus išvardintos apsaugotos rinkmenos, kurios
laukia atnaujinimo. Gale jums pateikiami galimi pasirinkimai:
Kodo sąrašas 2.2: etc-update pasirinkimai |
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'):
|
Jeigu jūs įvesite -1, etc-update baigs darbą ir daugiau nevykdys
jokių pakeitimų. Jeigu įvesite -3 arba -5, visos
išvardintos konfigracinės rinkmenos bus perrašytos naujesnėmis versijomis.
Todėl yra labai svarbu pirmiausia pasirinkti konfigūracines rinkmenas, kurių
negalima atnaujinti automatiškai. Tam paprasčiausiai užtenka įvesti skaičių,
parašyta tos konfigracinės rinkmenos pavadinimo kairėje.
Pavyzdžiui, mes pasirenkame konfigūracinę rinkmeną /etc/pear.conf:
Kodo sąrašas 4.12: Konkrečios konfigracinės rinkmenos atnaujinimas |
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
|
Dabar jūs galite matyti skirtumus tarp dviejų rinkmenų. Jeigu jūs manote, kad
naujesnė konfigracinė rinkmena gali būti naudojama be problemų, įveskite
1. Jeigu jūs manote, kad naujesnė konfigracinė rinkmena yra nebūtina
arba nesuteikia jokios naujos ar naudingos informacijos, įveskite 2.
Jeigu jūs norite interaktyviai atnaujinti jūsų konfigracinę rinkmeną, įveskite
3.
Nėra jokios prasmės čia toliau detalizuoti interaktyvaus suliejimo. Užbaigtumo
dėlei, mes išvardinsime galimas komandas, kurias jūs galite naudoti kol jūs
interaktyviai suliejate dvi rinkmenas. Jums išvedamos dvi eilutės (originalioji
ir siūloma naujoji) ir raginimas, į kurį jūs galite įvesti vieną iš šių
komandų:
Kodo sąrašas 2.4: Komandos prieinamos interaktyviam suliejimui |
ed: Redaguoti ir tuomet naudoti abi versijas, kiekvieną dekoruotą antrašte.
eb: Redaguoti ir tuomet naudoti abi versijas.
el: Redaguoti ir tuomet naudoti kairiąją versiją.
er: Redaguoti ir tuomet naudoti dešiniąją versiją.
e: Redaguoti naująją versiją.
l: Naudoti kairiąją versiją.
r: Naudoti dešiniąją versiją.
s: Tyliai įtraukti bendras eilutes.
v: Išsamiai įtraukti bendras eilutes.
q: Išeiti.
|
Kai jūs baigiate svarbių konfigūracinių rinkmenų atnaujinimą, jūs galite
automatiškai atnaujinti visas kitas konfigracines rinkmenas. etc-update
baigs darbą jeigu nebus rasta jokių rinkmenų, kurias reikia atnaujinti.
4.c. quickpkg
Su quickpkg jūs galite kurti paketų, kurie jau yra įrašyti į jūsų
sistemą, archyvus. Šie archyvai gali būti panaudoti kaip dvejetainiai paketai.
quickpkg vykdymas yra paprastas: tereikia pridėti paketų, kuriuos norite
archyvuoti, vardus.
Pavyzdžiui, norint suarchyvuoti curl, arts ir procps:
Kodo sąrašas 3.1: quickpkg naudojimo pavyzdys |
# quickpkg curl arts procps
|
Dvejetainiai paketai bus išsaugojami kataloge $PKGDIR/All (pagal
nutylėjimą /usr/portage/packages/All). Symbolinės nuorodos
nurodančios į šiuos paketus yra įrašomos į
$PKGDIR/<category>.
5. Nukrypimas nuo oficialaus medžio
5.a. „Portage“ medžio pogrupių naudojimas
Paketų/kategorijų išskyrimas
Jūs galite pasirinktinai atnaujinti tam tikras kategorijas/paketus ir ignoruoti
kitas kategorijas/paketus. Tai galima pasiekti nurodant rsync išskirti
kategorijas/paketus vykdant emerge --sync.
Reikia nurodyti rinkmenos, kurioje yra išskyrimo šablonai, vardą kintamuoju
--exclude-from rinkmenoje /etc/make.conf.
Kodo sąrašas 1.1: Išimčių rinkmenos nurodymas rinkmenoje /etc/make.conf |
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
|
Kodo sąrašas 1.2: Rinkmenoje /etc/portage/rsync_excludes nurodome išskirti visus žaidimus |
games-*/*
|
Atkreipkite dėmesį, kad tai gali lemti problemas dėl priklausomybių, kadangi
atnaujinti paketai gali priklausyti nuo naujų, bet išskirtų, todėl
neatnaujintų, paketų.
5.b. Neoficialių ebuild rinkmenų įtraukimas
„Portage“ perdangos (overlay) katalogo sukūrimas
Jūs galite nurodyti „Portage“ naudoti ebuild rinkmenas, kurios nėra įtrauktos į
oficialųjį „Portage“ medį. Sukurkite naują katalogą (pavyzdžiui,
/usr/local/portage), kuriame galėsite išsaugoti trečiosios šalies
ebuild rinkmenas. Naudokite tokią pačią katalogo struktūrą, kokia yra
naudojama oficialiame „Portage“ medyje!
Tada apibrėžkite kintąmąjį PORTDIR_OVERLAY rinkmenoje
/etc/make.conf ir juo nurodykite anksčiau sukurtą katalogą. Dabar
jums naudojantis „Portage“ bus atsižvelgiama ir į jūsų ebuild rinkmenas ir jos
nebus ištrinamos/perrašomos vykdant komandą emerge --sync.
Darbas su keliomis perdangomis
Patyrusiems naudotojams, kurie kurie nori naudoti keletą perdangų, kad galėtų
išbandyti paketus prieš įtraukiant juos į oficialųjį „Portage“ medį arba tik
nori naudoti neoficialias ebuild rinkmenas iš įvairių šaltinių, pakete
app-portage/gentoolkit-dev yra skirta programa gensync - tai
įrankis, kurio pagalba galima palaikyti kelių perdangų saugyklas atnaujintas.
Su gensync jūs galite atnaujinti visas saugyklas iš karto arba
pasirinkti tik kelias iš jų. Kiekviena saugykla turėtų turėti
.syncsource rinkmeną konfigūraciniame kataloge
/etc/gensync/, kurioje turėtų būti saugyklos vieta, vardas,
identifikatorius ir t.t.
Tarkime, jūs turite dvi papildomas saugyklas, pavadintas java (skirtą
kuriamoms java ebuild rinkmenoms) ir entapps (skirtą pogramoms,
sukurtoms įmonės viduje ir naudojamoms jūsų veikloje). Jūs galite atnaujinti
šias saugyklas panaudodami šią komandą:
Kodo sąrašas 2.1: gensync naudojimas kelių saugyklų atnaujinimui |
# gensync java entapps
|
5.c. Ne „Portage“ prižiūrima programinė įrangą
„Portage“ naudojimas su paties naudotojo prižiūrima programine įranga
Kai kuriais atvejais jūs galite norėti patys konfiguruoti, įsidiegti ir
prižiūrėti programinę įrangą, neleisdami „Portage“ automatizuoti šio proceso,
nors „Portage“ ir gali suteikti jums programinės įrangos pavadinimus. Žinomi
atvejai yra branduolio išeities tekstai ir nvidia tvarkyklės. Jūs galite
sukonfiguruoti „Portage“ taip, kad ji žinotų, jog tam tikras paketas yra
rankiniu būdu įdiegtas jūsų sistemoje. Šis procesas yra vadinamas
injecting ir palaikomas „Portage“ rinkmenos
/etc/portage/profile/package.provided.
Psvyzdžiui, jeigu norite informuoti „Portage“ apie tai, kad jūs rankiniu būdu
įdiegėte gentoo-sources-2.6.11.6, įrašykite šią eilutę į rinkmeną
/etc/portage/profile/package.provided:
Kodo sąrašas 3.1: Eilutės pavyzdys rinkmenai package.provided |
sys-kernel/gentoo-sources-2.6.11.6
|
D. „Gentoo“ tinklo konfigūravimas
1. Pradžia
2. Papildoma konfigūracija
3. Modulinis tinklas
4. Belaidis tinklas
5. Funkcionalumo pridėjimas
6. Tinklo valdymas
Šio dokumento turinys yra licencijuotas „Creative Commons -
Attribution / Share Alike“ licencija.
|