Gentoo 2004.2 telepítése minimal ISO-ról

Címkék

A dokumentum írásának pillanatában a Gentoo Linux a hetedik legnépszerűbb disztribúció a Distrowatch ranglistáján. Nem rossz egy ilyen viszonylag fiatal disztribúciótól. A Gentoo ez egyik ``forgasd magad, optimalizád, tuningold a végletekig'' filozófiájú disztribúció. A napokban jelent meg a Gentoo 2004.2-es verziója. Ebből az alkalomból úgy döntöttem, hogy kipróbálom.



Ezen írás ennek a próbálkozásnak a meglehetősen szűkszavú, de képekben gazdag jegyzőkönyve. A Gentoo Linux disztribúció nem éppen a click&play embereknek való. Csak azoknak javasolt, akik nem restek konzolon parancsokat gépelgetni, ismerik a Linux rendszerek működését minimum alap szinten, képesek angol dokumentációt olvasni és értelmezni, valamint türelmesek. Egy biztos, a Gentoo nem a kapkodó idegbetegek disztribúciója. Maga a telepítés is órák/napok kérdése, függően a rendelkezésre álló gép paramétereitől. Csak azoknak érdemes a Gentooba belevágni, akik bika géppel rendelkeznek. Persze telepíthetjük a Gentoo-t előre fordított csomagokból is, de akkor elveszik az egész lényege, a forrásból fordított disztribúció varázsa, a mindent aprólékosan beállító ``buherátor'' legfőbb álma... Ha valaki kezdő de bátor, szintén nekiállhat a rendszer telepítésének. Egy biztos, mire végez vele, megismeri a Linux operációs rendszer működését a partícionálástól kezdve a kernelfordításon át, az init szkriptek szerepéig... Persze, hogy meg, hiszen forráskódból fogja felépíteni az egészet, mindenfajta telepítő program nélkül fogja a gépére telepíteni... A végén elégedetten hátradőlhet, és elmondhatja: ``Igen, jó munka volt. Ezt én csináltam saját kezűleg.''



A dokumetum leírja az operációs rendszer felépítésének menetét ``from scratch'', azaz teljesen 0-ról indulva. A telepítéshez semmi másra nincs szükség, mint az install-x86-minimal-2004.2.iso image-ből (80.3 MB) égetett LiveCD-re, és szélessávú internet kapcsolatra. Az írás 60+ képet tartalmaz, így légy türelmes, míg az egész letöltődik...1.) A telepítéshez töltsük le a install-x86-minimal-2004.2.iso névre hallgató ISO image-t valamelyik tükörszerverről. A cikk írásának pillanatában, 2 nappal a 2004.2 megjelenése után még mindig nem használható a hivatalos magyar tükörszerver (You don't have permission to access /releases/x86/2004.2/ on this server.). A hozzám legközelebb álló mirror a http://gentoo.inode.at/, de a telepítéskor (a megjelenés napján) az Open Source Lab amerikai szerverét használtam, mert meglepő ugyan, de az volt a leggyorsabb.



2.) Írjuk az ISO image tartalmát CD-re.



# cdrecord dev=ahol_van_az_író -tao -data install-x86-minimal-2004.2.iso



3.) Bootoljunk a CD-ről:







4.) A telepítő (F2) detektálja a számítógépünk hardver eszközeit:











5.) Állítsuk be a billentyűzet kiosztást magyarra (már ha azt szoktuk meg).



#loadkeys hu



vagy



# loadkeys hu101



Amennyiben szükségünk van extra kernel modulokra, töltsük be azokat. Például:



# modprobe 8139too



6.) Ellenőrizzük le a merevlemezünk beállításait, és ha szükséges finomhangoljuk:



# hdparm -i /dev/hda

# hdparm /dev/hda



Ez egy nagyon fontos lépés, mert rengeteget fogunk fordítani. DMA nélkül neki se álljunk, mert az életben nem végzünk. Mivel a DMA be van kapcsolva, haladhatunk tovább. A további finomhangolások a rendszer feltelepítése utánra maradnak.







7.) Változtassuk meg a root jelszót (ha szeretnénk a gépet elérni mondjuk ssh-n keresztül, akkor szükség lehet a jelszóra) (opció).



# passwd



8.) Hozzunk létre egy felhasználót (opció).







9.) Állítsuk be a hálózatot. Amennyiben a hálózatunkon van DHCP szerver, abban az esetben (ha a telepítő felismerte a gépben a hálózati kártyát a boot-olás folyamán) már rendelkezik a gépünk IP címmel. Ha nincs DHCP szerverünk, akkor állítsuk be a hálózatot kézzel:







Opció: indítsuk el az sshd-t a ``/etc/init.s/sshd start'' paranccsal. Ettől a pillanattól kezdve távolról is elérhetjük a gépünket.



10.) Állítsuk be a DNS szervereket a /etc/resolv.conf-ban:



# nano -w /etc/resolv.conf







11.) Teszteljük le az internetes kapcsolatunkat:







12.) Készítsük elő a merevlemezt a telepítéshez. Ehhez használjuk az ``fdisk'' segédprogramot.



# fdisk /dev/hda



A ``p''-t lenyomva megkapjuk az aktuális merevlemez felosztást. Mivel ez egy új merevlemez, nekiláthatunk a partícionálásnak. Először hozzunk létre egy kis méretű boot partíciót. Ezt az ``n'' lenyomásával tudjuk elvégezni (a partícionáláskor használt billentyűk a képekről leolvashatók):







Ha elkészültünk, akkor tegyük a partíciót boot-olhatóvá:







13.) Készítsünk egy swap partíciót, amelynek a mérete legyen 512MB (természetesen a saját rendszerünkhöz mérten készítsük el a partíciókat). Járjunk el hasonló módon, mint az előbb:







14.) Készítsük el a / partíciót is. Ha kész, mentsük el a partíció kiosztást a ``w'' lenyomásával.







15.) Készítsük el a partícióink filerendszereit. A /dev/hda1 (/boot) kis mérete miatt nem lehet más, mint ext2. A / partíciónknak válasszunk valami nekünk tetsző filerendszert (ext2, ext3, JFS, XFS, stb.). Én a ReiserFS-t választottam. Készítsük el a filerendszereket.



# mke2fs /dev/hda1

# mkreiserfs /dev/hda3











16.) Ha kész, aktiváljuk a swap partíciót:



# mkswap /dev/hda2

# swapon /dev/hda2







17.) Ha kész vagyunk, akkor mountoljuk a filerendszereket:



# mount /dev/hda3 /mnt/gentoo

# mkdir /mnt/gentoo/boot

# mount /dev/hda1 /mnt/gentoo/boot







18.) Hozzuk létre a /mnt/gentoo/proc könyvtárat, és mountoljuk a /proc filerendszert:



# mkdir /mnt/gentoo/proc

# mount -t proc none /mnt/gentoo/proc



Ha készen vagyunk, ellenőrizzük a munkánkat a mount parancs kiadásával:







19.) Következik a Stage tarball telepítése. Ezt az Internet segítségével fogjuk elvégezni. Először ellenőrizzük a rendszerünk óráját:



# date



Ha kell korrigáljunk. Pl:



# date 072716322004



(ez a 2004. 07. 27. 16 óra 32 percet állít be)







20.) Lépjünk be a /mnt/gentoo könyvtárba és keressük meg a links segítségével a tükörszerverek listáját:



# links http://www.gentoo.org/main/en/mirrors.xml











21.) A hozzánk legközelebb eső tükörszervert kiválasztva töltsük le a stage1-x86-2004.2.tar.bz2 file-t, majd ha készen vagyunk, ellenőrizzük le az integritását!















22.) Bontsuk ki a stage-et. Figyeljünk oda a tar kapcsolókra! Fontos, hogy ezeket használjuk!



# tar -xvjpf stage1-x86-2004.2.tar.bz2



Az archív kibontása alatt jelentkező "No such file or directory" (./proc) és az "Error exit delayed from previous errors" hibákat haggyuk figyelmen kívül!







23.) A Portage telepítése. A tapasztalatom az, hogy ha egy meglevő Portage snapshot-ra ``emerge sync''-elünk rá gyorsabban végzünk, mintha 0-ról indulunk. Töltsük le a legfrissebb Portage archívot a tükörszerveren levő snapshots könyvtárból:







majd bontsuk ki a következő paranccsal:



# tar -xvjf portage-2004*.tar.bz2 -C /mnt/gentoo/usr



24.) Állítsuk be a fordító opcióit a rendszerünk paramétereinek megfelelően. Egy példa konfigot találunk a /mnt/gentoo/etc/make.conf.example helyen. Legegyszerűbb ezt a file-t átmásolni /etc/make.conf-ra. De van más megoldás is. Tégy belátásod szerint.



# nano -w /mnt/gentoo/etc/make.conf



Állítsuk be a make.conf-unkat. A paraméterek beállításához segítséget találunk a Gentoo Handbook-ban. Ez egy nagyon fontos rész, körültekintően olvasd el a Handbook idevágó szakaszát!



25.) A Gentoo alaprendszer telepítése következik. Válasszuk ki a leggyorsabb tükörszervert a mirrorselect segítségével. Ez a lépés opció, ha tudod melyik szervert akarod használni, akkor egyszerűen add meg a /etc/make.conf-ban azt.



# mirrorselect -a -s4 -o | grep -ve '^Netselect' >> /mnt/gentoo/etc/make.conf



ha valamiért ez nem sikerülne, ne aggódjuk, mert az alapértelmezett is jó lesz. Ez csak egy opció.



26.) Másoljuk át a DNS információkat a megfelelő könyvtárba:



# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf



chroot-oljunk a /mnt/gentoo-ba, és hozzuk létre az új környezetet az env-update-tel:



# chroot /mnt/gentoo /bin/bash

# env-update







# source /etc/profile



27.) Frissítsük fel a Portage-et:



# emerge sync















28.) Ha kész a Portage frissítése, nekiláthatunk a Stage1 -> Stage2 lépésnek. Mivel mi a telepítés elején a stage1-et választottuk, az egész rendszert újra fogjuk fordítani. Kezdjük a bootstrap-pal. A bootstrap a GNU C könyvtárat, a GNU fordítót, és számos más kulcsfontosságú programot takar. Hogy csökkentsük a fordítási időt, a java támogatást ideiglenesen kapcsoljuk ki:



# export USE="-java"



A bootstrap szkript lefutása után ne felejtsük majd el visszaállítani a korábbi állapotot a következő paranccsal:



# unset USE



Töltsük le a szükséges forrásokat:



# cd /usr/portage

# scripts/bootstrap.sh -f







ha ez kész, akkor álljunk neki a bootstrap-nak:







# cd /usr/portage

# scripts/bootstrap.sh



Ennél a lépésnél nyugodtan otthagyhatjuk a gépet. Ez a művelet még gyors gépen is több időt vesz igénybe, mint egy óra. Gyenge gépen több óra, vagy akár több nap is lehet.



29.) Ha kész vagyunk a bootstrap fordításával, akkor folytassuk a rendszer építését. Ha kíváncsiak vagyunk, hogy a rendszer mit fog csinálni, adjuk ki a következő parancsot:



# emerge --pretend system | less



Ha megnéztük, töltsük le a rendszer (system) forrását:



# emerge --fetchonly system







Ha kész a művelet, haladhatunk tovább:







30.) Következik a rendszer (system) felépítése (build):



# emerge system



31.) Kész a rendszer felépítése. Merge-ljük a rendszer által nem merge-lt fileokat a /etc-ben. Ehhez olvasd el az ``emerge --help config'' súgó oldalt. Több lehetőséged is van ennek elvégzésére. Legegyszerűbb megoldás az ``etc-update'' használata.











32.) Folytassuk a rendszer telepítését a kernel konfigurációval. Első az időzóna beállítása:







Ha ez kész válasszuk ki a telepítendő kernelt. Ehhez segítséget nyújt a Gentoo Kernel Guide. Én a ``gentoo-dev-sources''-t választottam, amely a Gentoo által patchelt 2.6-os kernelt jelenti. A teljes lista a Handbookban!



Telepítsük a kernel forrását:



# emerge gentoo-dev-sources







Ha kész,







ellenőrizzük a kernel forrás symlink-jét:



# ls -l /usr/src/linux



Ha megfelelő, haladjunk tovább. Itt az idő a kernel konfigurációra és fordításra. A tapasztaltaknak ez nem lehet probléma, mindent ugyanúgy kell elvégezni, ahogy más rendszereken. A kernel konfigurációhoz ismét a Handbook lehet jó forrás. Aki nem biztos magában, az fordítson először genkernel-t. Ez a Gentoo által összeállított generic kernel. Ez a kernel megegyezik a LiveCD-n található kernellel. Mi most ezt fogjuk tenni:



# emerge genkernel











Ha ez kész, fordítsuk le a kernelt:



# genkernel all







33.) Ellenőrizzük le a lefordított kernel és az elkészített initrd meglétét:



# ls /boot/kernel* /boot/initrd*



34.) Ha kész a kernel fordítása, telepítsük fel a hotplug anyagokat:



# emerge hotplug











# rc-update add hotplug default



35.) Ha készen vagyunk, és szükségünk van egyéb kernel modulokra is (pl. NVidia, ATi, SB Live!), olvassuk el a Handbook idevágó szakaszát.



36.) Ha készen vagyunk







akkor, készítsük el a /etc/fstab bejegyzéseket:







37.) Állítsuk be a hálózati adatokat:







végezzük el a beállításokat a /etc/conf.d/net fileban értelemszerűen







majd



# rc-update add net.eth0 default







állítsuk be a /etc/hosts file-t







38.) Ha kész vagyunk a hálózat beállítással, akkor nézzük meg a /etc/rc.conf file-t. Ez a file tartalmazza a Gentoo rendszer szintű beállításait. Itt tudjuk beállítani a billentyűzet kiosztást, a console fontot, az alapértelmezett editort... Jól kommentezett, mindenki állítsa be ízlése szerint...



# nano -w /etc/rc.conf



39.) Grub vagy LILO... Grub vagy LILO... LILO, mert én azt szeretem. Aki a Grub-ot szereti, az nyugodtan válassza azt. Semmivel nem bonyolultabb telepíteni.



# emerge lilo



40.) Ha kész állítsuk be a /etc/lilo.conf-ot



# cp /etc/lilo.conf.example /etc/lilo.conf

# nano -w /etc/lilo.conf



Valahogy így nézzen ki:







Ha kész, akkor



# /sbin/lilo



41.) Telepítsük fel a System Logger-t:



# emerge syslog-ng

# rc-update add syslog-ng default







42.) A Cron Daemon-t:



# emerge vixie-cron

# rc-update add vixie-cron default







43.) A filerendszer programokat



# emerge reiserfsprogs







44.) Mindjárt kész... Állítsuk be a root jelszót:



# passwd



# useradd trey -m -G users,wheel,audio,tty -s /bin/bash

# passwd trey

Password: (Jelszó)

Re-enter password: (Jelszó újra)



45.) Kész. Újraindítás:



# exit

# cd /

# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo

# reboot







46.) A rendszer indul a LILO-val:







47.) Bootol a rendszer....







48.) És végül a kész rendszerünkön megkezdhetjük a munkát:







FIGYELEM! Ez a telepítési leírás nagyon felületes, aki teljesen el akar mélyedni a Gentoo rejtelmeiben, annak célszerű beleolvasni a Gentoo Handbook-ban. Ezzel a telepítéssel egy csont minimális rendszert telepítettünk, a használható rendszerhez még sok munkára és türelemre van szükség. A rendszer generic kernelt használ. Természetesen mindenki fordítha magának saját kernelt, de itt is igaz az ami az OpenBSD-nél, hogy ha bugot jelentesz, akkot azt a report előtt reprodukálnod kell a generic kernellel is. A bootkor kiszedtem minden sallangot, mert engem kifejezetten zavar a tehénfejes képernyő. A rendszer egyébként jól összerakott valami, minden elsőre működik. Nagyon jó online dokumentációja van. Érdemes kipróbálni. A jó tapasztalatok ellenére maradok a Debian-nál :-D



Jó szórakozást!

Hozzászólások

Szép munka, trey. Nekem nagyon jól jön, az angolba mindig beletört a bicskám :)

Érdekes dolog történt: egyik gépemen se bootol a minimal install cd. pedig 2szer is megírtam, hátha CD hiba. Valaki tapasztalt ilyet?

Én is gratulálok a remek leíráshoz, szinte megjött a kedvem újratelepíteni a Gentoot, pedig már vagy 2 éve nem volt rá szükségem:-)

Megoldás:

http://www.gentoo.org/doc/en/altinstall.xml

oldalon található Smart BootManager:

http://btmgr.sourceforge.net/index.php3?body=download.html

Letöltöttem, kiírtam floppy-ra, bebootoltam, aztán menüből a CD-ROM-ot kiválasztva már indul is a minimal install cd.

Amúgy én azt tapasztaltam, hogy csak bizonyos alaplapok esetén van boot-olási gond - ezeken a gépeken nem boot-ol, annak ellenére, hogy más boot-os CD-k működnek.

akkor nem a sun java-t rakja föl, hanem vmi opensoruce verziót, tapasztalatom szerint a sun java az OOo-val sokkal jobb, mint bármi már, ezért kellett a sun jdk nekem. mondjuk fél perc helyett két perc volt, mire fölment, tk. letötöltöd a jdk-1.4.2-akarmi filét az /usr/portage/distfiles-ba, és az emerge sun-jdk-1.4.2 elvileg mindent megcsinál, csak a verziót kell a csomag mögé tenni, meg erre rájöni ;-)

van 1 kevés időm úgyhogy a cikk alapján nekiláttam kiváncsiságból felpakolni...

egy kis kiegészítést tennék a portage telepítéshez (23.pont):

a /mnt/cdrom/snapshots/portage* csak az universal-live-on létezik, úgyhogy ahogy írta trey a minimal-live esetén letöltöttet kicsomagojuk, csak nem a cdrom-ról ;)

1ként teccik a cikk - nem vétlenül lettem kiváncsi ;)

köszi, trey

En is egyetertek Trey megjegyzesevel:

"A jó tapasztalatok ellenére maradok a Debian-nál :-D"

Nem flame-nek szanom! En 2004.1-es CD-nel batorodtam fel, es probaltam ki. Nem volt vele semmi gaz. Sot nagyon jol mukodott! A legjobb, amit valaha lattam. Komolyan!

De... Vannak oregebb gepeim, amikkel nem akarok vacakolni. Ok distcc.

Hasznalok mas arch-ot is (alpha, ia64) es bizony ezeknel nincs meg minden a portage-ban, ami a i386 ala elerheto.

A telepites nagyon jo jatek volt, de a forditasi idok... :-( Pedig nem gyenge gepen raktam fel.

A vegeredmeny nagyon tetszett, de nincs idom arra, hogy a telepitesekre varjak. Nem evente egy desktop-ot kell felraknom.

Van viszont ket pozitiv hasonlatom:

1. Hobby szinten foglalkozom autok tunningolasaval. A gentoo pont ilyen. Idot kell vele tolteni, es nagyon (de tenyleg nagyon) fog huzni. (Ha meg egyetemista lennek jatszanek is vele.)

2. Olyan mint egy gyumolcsos kert. Folyamatosan ontozgetni, metszegetni es apolgatni kell, s akkor jo lesz a termes.

Totya

trey irta a cikkben:

"A rendszer generic kernelt használ. Természetesen mindenki fordítha magának saját kernelt, de itt is igaz az ami az OpenBSD-nél, hogy ha bugot jelentesz, akkot azt a report előtt reprodukálnod kell a generic kernellel is."

Ez biztos igy van? En meg az eletben nem hallottam rola, pedig mar lassan egy eve van gentoom. Mondjuk a genkernelt se hasznaltam soha. Szerintem a gentoo userek igen nagy resze maga forditja a kernelt. A forumon biztos segitenek minenkinek. ( http://forums.gentoo.org/ )

Egyebkent ha barmi problema van a rendszerrel erdemes rakeresni a Gentoo forumon az esetek 99%-ban mar masnak is elojott a hiba es talaltak is ra megoldast :)

http://www.gentoo.org/doc/hu/gentoo-x86-install.xml

Trey, érdekelne mivel csináltad a screeenshotokat.

tízpontos leírás! :))

másfél hete kezdtembele a gentoo-ba, még a 2004.1-et tettem föl, relatíve szolídan szívtama telepítéssel csak. pl. java-t szerintem bonyolultabb fölrakni emerge-ölve, mint simán, de ne piszkítsuk a rendszert, még a firefoxot is fordítottam, és a sun jdk 1.4.2-t is ebuild-ből tettem föl. szuper disztró, a karbantartása pedig már-már klikk&katt.

azért egy slackware után az /etc (különösen az init, profile) szerintem fölöslegesen túlbonyolított ;-) de a "csomagkezelése" fantasztikus. pl. az emerge -pv mplayer megmutatja, mit rakna föl, mit nem, és ezek után USE="ez_kell -ez_nem_kell" emerge mplayer az egész, amit tennem kell, hogy dvd-t nézzek. tisztább, szárazabb érzés, mint a sok configure vacakolás salak alatt.

sha nem használtam debiant, de minden más linux disztrót hajaz, kezd közelíteni az általam ideálisnak tartott oprendszerhez :))