Gentoo paigaldamine
Gentoo Linux on populaarsemaid lähtekoodil baseeruvaid Linuxi distributsioone, kuid tema paigaldamine on tihti algajatele vägagi raske, sest kogu tegevus toimub käsurealt. Antud õpetus baseerub Gentoo Handbookil, stage3 paigaldusel x86 platvormile. Lisatud on ka X-i ja KDE paigaldamine. Kerneli kompileerimine on jäetud genkerneli hooleks, et lihtsustada algajate tööd. Õpetus on püütud teha võimalikult lihtsaks ja ära jäetud mittevajalikud osad. Peale seda õpetust peaks Teil olema töötav Gentoo Linux, natuke teadmisi juba kogunenud terminalis töötamisest.
Kui Teil tekib küsimusi seoses õpetusega või on ettepanekuid, siis võtke ühendust emaili teel või saatke privaatsõnum portaalis.
Sisukord
Eeltöö
Esmalt on Teil Gentoo paigaldamiseks tarvis loomulikult arvutit. Käesolev õpetus on mõeldud x86 platvormi arvutitele. Neid on hetkel kõige rohkem ka levinud. Lisaks on Teil tarvis oma kõvakettal vähemalt 1,5GB, lisaks 256MB saale (swap) ala jaoks vaba ruumi. Samuti on tarvis Teil interneti ühendust (õpetuses käsitletud DHCP kaudu ühendumine, kui keegi kirjutaks valmis ka pppo jaoks õpetuse antke palun teada.
Järgnevalt laadige alla endale Gentoo Linuxi ftp://ftp.linux.ee/pub/gentoo/distfiles/releases/x86/2005.0/installcd/install-x86-minimal-2005.0.iso Minimal Install CD. Tegu on umbes 60MB iso failiga. Kontrollimiseks kasutage näiteks MD5, mille väärtuse leiate: ftp://ftp.linux.ee/pub/gentoo/distfiles/releases/x86/2005.0/installcd/install-x86-minimal-2005.0.iso.md5 Kui CD valmis tehtud, siis pole muud, kui tuleb aga süsteem üles bootida valmistatud CD-ga....
Võrgu seadistamine
Peale seda, kui olete oma süsteemi Gentoo LiveCD peal üles buutinud, tuleb esimese asjana seadistada oma võrk. Hetkel on õpetus arvestatud sellega, et kogu vajaminev tõmmatakse internetist. Seega kirjutage nüüd käsureale:
net-setup eth0
eth0 on Teie poolt seadistatav võrgukaart. Kui Teil on arvutis mitu võrgukaarti, siis nende tähised on eth0, eth1 jne. net-setup skript küsib Teilt, kas Teie võrk on traadita (Wireless) või traadiga (Wired) ja siis annab valiku, kas soovite käsuitsi panna paika kõik seaded või DHCP abil. Valige DHCP abil.
Kui see on tehtud, siis kirjutage edasi käsureale
ifconfig eth0
Sellega testite oma võrgukaarti. Kui näete, et seal andmed olemas ja võrgukaardil reaalne IP olemas, siis võite edasi liikuda.
Kõvaketta (ketaste) ette valmistamine
Kui võrk töötab, siis edasi tuleb meil luua Gentoo Linuxi jaoks partitsioonid. Kasutame järgnevat partitsioonitabelit:
Partition Failisüsteem Suurus Kirjeldus /dev/hda1 ext2 32M Boot partitioon /dev/hda2 (swap) 512M Swap partitioon /dev/hda3 ext3 Ülejäänud ruum Root partitioon
Linuxis tähistatakse füüsilisi kettaid hda, hdb jne. Ning nendes sisalduvaid partitsioone vastavalt hda1, hdb1 jne. Kui Teil on süsteemis enne olemas juba partitsioonid (näiteks Windows), siis enne Gentoo paigaldamist peaksite looma endale piisava vaba ruumi (unlocated), kuhu Gentoo paigaldada. Siis arvatavasti Teie loodaval partitsioonitabelil on juba teised numbrid. Kui kogu Windows asub teil C kettal ja Teil on loodud 1,5GB vaba ruumi, siis algavad teil tähised hda2-st. Kui soovite süsteemi aga paigutada eraldi kõvakettale, siis algab hdb1-st. Lisaks tuleb meeles pidada, et primaarseid partitsioone saab luua ainult neli kõvakettale. Kui Teil on juba kolm tehtud ja soovite lisada veel mõned, siis peate tegema ühe extended partitsiooni, kuhu edasi järgnevad partitsioonid sisse lähevad.
Gentoos kasutatakse partitsioonide tegemiseks sellist utiilitit nagu fdisk. Kirjutage käsureale nüüd
fdisk /dev/hda
Kui fdisk on käivitatud, siis näete seal esmalt sellist rida
Command (m for help):
Vajutades m-i saate kätte fdiskis kasutatavad käsud. Kasutades käsku p kuvatakse Teile hetkel kõvakettal olevad partitsioonid. Partitsioone saab kustutada käsuga d
Esimesena loome /boot partisiooni. Selleks kirjutage n, seejärel küsitakse, kas soovite luua primaarse või extended partitsiooni, valige p – primaarne. Seda muidugi juhul, kui Teil ei olnud enne partitsioone või oli neid ainult üks (windows C näiteks). Peale seda küsitakse Teilt uue partitsiooni numbrit. Kui Teil oli juba enne olemas mõned partitsioonid, siis peate andma numbri nendele vastavalt. Kui ei, siis valige 1. Sellele järgnevalt määrate ära partitsiooni suuruse. Kirjutage +32M, see loob 32MB partitsiooni.
Välja näeb see nii:
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): (Vajutage enter) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
Nüüd, kirjutades p peaksite nägema umbes sellist asja:
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 1 14 105808+ 83 Linux
Nüüd muudame selle partitsiooni bootivaks. Selleks kirjutage a ja valige seejärel esimene 1 partitsioon. Kirjutades nüüd p peaks Teil Boot all olema * tähis.
Nüüd loome saaleala (swap). Selleks kirjutage taas n, loome taas primaarse partitsiooni, seega valige p, seejärel 2 (meie juhtumil loome siis /dev/hda2). Kui küsitakse First cylinder, siis vajutage Enterit, kui küsitakse suurust, siis sisestage +512M. Kui see on tehtud ja teil on taas ees Command (m for help): , siis vajutage t ja valige 2 partitsioon ja sisestage tüübiks 82. Sellega loome “Linux Swap” partitsiooni. Kirjutades nüüd p peaksite nägema umbes sellist pilti:
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap
Kui ka see tehtud, siis nüüd on jäänud luua veel / ehk root partitsioon.
See käib praktiliselt sama moodi nagu eelmisedki korrad, seega kirjutage taas n, loome taas primaarse partitsiooni, seega valige p, seejärel 3 (meie juhtumil loome siis /dev/hda3). Kui küsitakse First cylinder, siis vajutage Enterit, kui küsitakse suurust, siis vajutage enter, sellega hõlmatakse kogu vaba ruum. Nüüd vaadates partitsioonide infot p, peaks see välja nägema umbes nii:
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap /dev/hda3 82 3876 28690200 83 Linux
Nüüd kirjutage w, sellega kirjutatakse uued partitsionid kõvakettale ja väljutakse fdiskist. Olete taas Gentoo LiveCD terminalis.
Nüüd loome oma kõvaketastele ka failisüsteemid. Kasutame ext2 /boot partitsioonil ja ext3 / partitsioonil. Nende loomiseks kirjutage termianli:
mke2fs /dev/hda1 mke2fs -j /dev/hda3
Kui see samuti tehtud, siis aktiveerime saaleala. Kirjutage terminali:
mkswap /dev/hda2
ja seejärel
swapon /dev/hda2
Nüüd oleme valmis mountima oma loodud failisüsteeme.
Kirjutage terminalis:
mount -t ext3 /dev/hda3 /mnt/gentoo
Kuna eraldi /boot kataloogi pole, kuhu seda mountida, siis loome selle süsteemi:
mkdir /mnt/gentoo/boot
Ja nüüd moundime ka /boot partitsiooni
mount /dev/hda1 /mnt/gentoo/boot
Nüüd võime jätkata Gentoo Linuxi paigaldamisega.
Stage3 ja Portage hankimine
Esmalt kontrollime, et Teie kuupäev ja kuu oleksid õiged. Selleks kirjutage terminalis:
date
Kui kuvatud kuupäev, aasta ja kellaaeg on õiged, siis liikuge edasi. Kui aga ei ole õige, siis muutke see palun õigeks. Muuutmine on lihtne, tuleb [b]date[/b] käsule lisada KKPPttmmAAAA --> (Kuu, Päev, tund, minut ja Aasta) Ehk kui soovite panna 14. august, 2005, kell 15.34, siis kirjutage:
date 081415342005
Nüüd asume stage3 faili tõmbama internetist. Esmalt liigume nüüd meie uue süsteemi root partitsioonile:
cd /mnt/gentoo
Peale seda tõmbame sinna stage3 pakitud faili. Selleks kasutame links2 veebibrauserit. Sisestage terminali
links2 http://www.gentoo.org/main/en/mirrors.xml
Ja valige endale meelepärane peegel, kust faile tõmmata. Või kui tahate kohe Eesti peeglist stage3 kohale tõmmata, siis kirjutage:
links2 ftp://ftp.linux.ee/pub/gentoo/distfiles/releases/x86/2006.1/stages/
Valige sealt stage3 fail ja laadige see alla. Liikuge failile ja vajutage D, kui laadimine lõpetatud, siis vajutage Q links2-st väljumiseks.
Nüüd pakime Teie tõmmatud faili lahti.
tar -xvjpf stage3-*.tar.bz2
Nüüd paigaldame Portage – Gentoo Linuxi paketihalduri.
Esmalt kontrollime, et oleksite ikka endiselt /gentoo kataloogis.
cd /mnt/gentoo
Nüüd tõmmake alla kõige uuema kuupäevaga portage fail:
links2 ftp://ftp.linux.ee/pub/gentoo/distfiles/snapshots/
(Kui Te ei kasuta Eesti peeglit, siis liikuge läbi Gentoo peeglite nimekirja oma peegli juurde). Kui see alla tõmmatud (sama moodi nagu stage 3), siis kirjutage terminali:
tar -xvjf /mnt/gentoo/portage-*.tar.bz2 -C /mnt/gentoo/usr
Nüüd liigume edasi make.conf failide juurde.
make.conf faili muutmine
Gentoo Linuxi üks põhi failidest on make.conf
, millega määratakse ära, kuidas programmid Teile kompileeritakse. Ingliskeelse komenteeritud näidis make.conf
faili leiate, kui sisestate:
nano /mnt/gentoo/etc/make.conf.example
Samas on mõistlik ise vaikselt oma make.conf
faili täiendada.
Kirjutage terminali:
nano /mnt/gentoo/etc/make.conf
Kontrollige, et CHOST järel oleks õige arhitektuur.
Arhitektuur Allarhitektuur CHOST Seade x86 i386 i386-pc-linux-gnu x86 i486 i486-pc-linux-gnu x86 i586 i586-pc-linux-gnu x86 i686 ja edasi (k.a. athlon) i686-pc-linux-gnu amd64 x86_64-pc-linux-gnu
Üldjuhul sellega probleeme ei tohiks olla. Nüüd muudame CFLAGS-i, rida peaks välja nägema nii (näide on athlon xp kohta):
CFLAGS="-march=athlon-xp -pipe -O2"
-march
järel olevad võimalikud protsessori tüübid on (sulgudes on antud täiendus): athlon-xp, athlon-mp, athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686 (Pentium Pro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron), pentium3, pentium4.
AMD64 kasutajad peavad kasutama -march=k8
Selle abil kompileeritakse kõik programmid vastavalt sellele protsessorile ja süsteemi teiste protsessoritega (kui vahetate näiteks protsessorit või emaplaati), kasutada ei saa. Kui Te soovite siiski kasutada või jätta igaks juhuks ka teistele protsessoritele toe alles, siis kasutage -march
asemel hoopis -mcpu
lippu, ehk Teie CFLAGS näeks välja umbes selline:
CFLAGS="-mcpu=athlon-xp -pipe -O2"
Lisaks tuleb tähele veel panna, et lipp -O2 ei ole mitte 0 vaid suur O! Kontrollige, et Teie CXXFLAGS näeks välja:
CXXFLAGS="${CFLAGS}"
ja lisage veel make.conf
faili:
MAKEOPTS="-j2"
Nüüd võite salvestada oma make.conf
faili. Selleks vajutage korraga Ctrl ja X klahvi, siis küsitakse Teilt, et kas tahate salvestada, vajutage Y ja seejärel, kui küsitakse veel failinime, siis vajutage lihtsalt Enter.
Nüüd lisame veel vajaminevad peeglid ja rsync serverid, mida Portage kasutab. Selleks kirjutage terminalis:
mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
Sealt valige esmalt Eesti peegel ja peale seda veel paar varuserverit.
Nüüd määrame ka rsync serverid:
mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
Oluline on meeles pidada, et süsteem loeb make.conf
failist kohe esimese serveri ja leides sealt vajamineva faili, hakkab kohe kasutama seda serverit. Seega, selleks et kasutada Eesti www.linux.ee peeglit valige esimesena Eesti peegel ja varupeeglid sellest edasi tulevate serverite seast, siis Te ei pea enam ise midagi make.conf
failis käsitsi muutma.
Nüüd on meie esimene make.conf
fail muudetud. Hiljem puutume sellega veel kokku.
Gentoo baassüsteemi paigaldamine
Esmalt kopeerime Teie süsteemi DNS informatsiooni. Seda selleks, et kui siseneme chrootides Teie uute süsteemi, ka võrk tööle jääks. Selleks tuleb praegu töötava LiveCD resolv.conf
fail kopeerida ka uuete süsteemi.
Selleks kirjutage terminali:
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
Kui see tehtud, siis moundime ka proc failisüsteemi:
mount -t proc none /mnt/gentoo/proc
Nüüd ei ole muud, kui siseneme Teie uute süsteemi. Selleks kasutame chroot
käsklust.
chroot /mnt/gentoo /bin/bash
Uuendame oma keskkonda
env-update
ja lõpuks kirjutage terminali veel:
source /etc/profile
Olete lõpuks oma uue Gentoo sees. Kuigi alles üsna alguses....
Nüüd uuendame Portage puud emerge --sync
käsuga.
Selleks kirjutage terminalis:
emerge –-sync
Juhul, kui Teil on vahel näiteks tulemüür, mis blokeerib rsync liikluse, siis kasutage emerge-webrsync
käsklust.
Nüüd valime õige profiili:
ls -FGg /etc/make.profile
Selle tulemus peaks välja nägema umbes selline:
lrwxrwxrwx 1 48 Apr 8 18:51 /etc/make.profile -> ../usr/portage/profiles/default-linux/x86/2005.0/
Jätkame USE-lippudega. USE-lipud tagavad selle, et kõik programmid, mis kompileeritakse, kompileeritakse kohe vastava USE-lipu toetusega, isegi kui vastavat programmi veel paigaldatud pole. Siin on ära toodud Gentoos kasutatavad USE-lipud (flags)
3dfx - Adds support for 3dfx video cards to XFree86. See: voodoo3 3dnow - Adds support for 3dnow multimedia processor instructions X - Adds support for X11 Xaw3d - Adds support of the 3d athena widget set a52 - Enables support for decoding ATSC A/52 streams used in DVD aac - Enables support for MPEG-4 AAC Audio aalib - Adds support for media-libs/aalib (ASCII-Graphics Library) accessibility - Adds support for accessibility (eg 'at-spi' library) acl - Adds support for Access Control Lists acpi - Adds support for Advanced Configuration and Power Interface adabas - Adds support for the Adabas database engine adns - Adds support for the adns DNS client library afs - Adds OpenAFS support (distributed file system) aim - Enable AIM IM protocol support alsa - Adds support for media-libs/alsa-lib (Advanced Linux Sound Architecture) altivec - Adds support for optimizations for G4 and G5/ppc970 processors apache2 - Chooses Apache2 support when a package supports both Apache1 and Apache2 apm - Adds APM (Advanced Power Management) support arts - Adds support for aRts: the KDE sound daemon audiofile - Adds support for libaudiofile where applicable avi - Adds avifile (Library for avi) support bash-completion - Enable bash-completion support bcmath - Adds support for libbcmath berkdb - Adds support for sys-libs/db (Berkeley DB for MySQL) bidi - Enables bidirectional language support bindist - Flag to enable or disable options for prebuilt (GRP) packages (eg. due to licensing issues) birdstep - Adds support for the Birdstep Database Server blas - adds support for the virtual/blas numerical library bluetooth - Enable Bluetooth Support bmp - (EXPERIMENTAL) Adds beep media player support. bonobo - Adds support for gnome-base/bonobo (Gnome CORBA interfaces) bootstrap - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used during original system bootstrapping boundschecking - add bounds checking patch by Haj Ten Brugge, this will DISABLE the hardened PIE+SSP patches build - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping. bzip2 - Use the bzlib compression library calendar - Adds support for calendars (not using mcal!) canna - Adds support for the Canna kana to kanji conversion engine caps - Use Linux capabilities library to control privileges. cdb - Adds support for the CDB database engine from the author of qmail cdparanoia - Enables cdparanoia support cdr - Adds support for CD writer hardware chasen - Enable chasen support cjk - Adds support for Multi-byte character languages (Chinese, Japanese, Korean) clamav - Adds support for Clam AntiVirus software (usually with a plugin) cpdflib - Adds support for clibpdf crypt - Add support for encryption -- using mcrypt or gpg where applicable cscope - Enables cscope interface -- in vim for example ctype - Enables ctype functions cups - Add support for CUPS (Common Unix Printing System) curl - Adds support for client-side URL transfer library curlwrappers - Adds support for using curl in streams db2 - Enables support for IBM DB2 database server dba - Enables dbm-compatible layers dbase - Adds support for dbase file format dbm - Adds support for generic DBM databases. dbmaker - Adds support for dbmaker database server dbus - Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) dbx - Adds database abstraction layer debug - Tells configure and the makefiles to build for debugging. Effects vary across packages, but generally it will at least add -g to CFLAGS. Remember to set FEATURES=nostrip too dedicated - Adds support for dedicated game servers (some packages do not provide clients and servers at the same time) dga - Adds DGA Support (Xfree86) (DGA=Direct Graphic Access) diet - Compile and link with dietlibc dio - Adds direct i/o support directfb - Adds support for DirectFB layer (library for FB devices) divx4linux - Adds support for divx.com's DivX(tm) mpeg4 libary doc - Adds extra documentation (API, Javadoc, etc) dri - Enable direct rendering: used for accelerated 3D and some 2D, like DMA dv - Enables support for a codec used by many camcorders dvb - Adds support for DVB (Digital Video Broadcasting) dvd - Adds support for DVDs dvdr - Adds support for DVD writer hardware (e.g. in xcdroast) dvdread - Enables usage of Ogle's libdvdread for DVD playback eds - Enables support for Evolution-Data-Server(eds) emacs - Adds support for GNU Emacs emacs-w3 - Add support for Emacs/W3 where applicable #embedded - Reserved flag for the embedded herd emboss - Adds support for the European Molecular Biology Open Software Suite empress - Adds support for the Empress database server empress-bcs - Adds local access support for the Empress database server emul-linux-x86 - Pull in binary support libraries for x86 applications encode - Adds support for encoding of audio or video files esd - Adds support for media-sound/esound (Enlightened Sound Daemon) esoob - Adds support for Easysoft OOD database ethereal - Adds support for ethereal wiretap log support in kismet ev6 - Assume Alpha processor is EV6 or better evo - Adds support for evolution in gnumeric and multisync examples - Install example source code exif - Adds support for reading EXIF headers from JPEG and TIFF images expat - Enable the use of dev-libs/expat fam - Enable FAM support fastcgi - Add support for the FastCGI interface fbcon - Adds framebuffer support for the console, via the kernel fdftk - Add supports for Adobe's FDF toolkit. ffmpeg - Enable ffmpeg support fftw - Use FFTW library for computing Fourier transforms filepro - Adds support for filePro databases firebird - Adds support for the Firebird relational database flac - Adds support for the flac audio codec flash - Adds support for creating flash files using Ming flatfile - Adds dbm support for flat files foomaticdb - Adds support for the foomatic printing driver database fortran - Adds support for fortran (formally f77) freetds - Adds support for the TDS protocol to connect to MSSQL/Sybase databases freewnn - Adds support for FreeWnn kana to kanji conversion engine frontbase - Adds support for the frontbase sql server ftp - Adds FTP support gb - Adds support for Gnome Basic to gnumeric gcj - Enable building with gcj gd - Adds support for media-libs/gd (to generate graphics on the fly) gd-external - Use the external version of gd rather than the bundled one (possibly dangerous) gdbm - Adds support for sys-libs/gdbm (GNU database libraries) geoip - Add geoip support ggi - Adds support for media-libs/libggi (non-X video api/drivers) gif - Adds GIF image support ginac - Adds sci-mathematics/ginac (symbolic math) support glut - Build an OpenGL plugin using the GLUT library gmp - Adds support for dev-libs/gmp (GNU MP library) gnome - Adds GNOME support gnustep - Adds integration with GNUstep environment gnutls - Adds support for net-libs/gnutls gphoto2 - Adds digital camera support gpm - Adds support for sys-libs/gpm (Console-based mouse driver) gps - Adds support for Global Positioning System gstreamer - Adds support for media-libs/gstreamer (Streaming media) gtk - Adds support for x11-libs/gtk+ (The GIMP Toolkit) gtk2 - Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both. gtkhtml - Adds support for gnome-extra/gtkhtml guile - Adds support for dev-util/guile (interpreter for Scheme) hal - Enable Hardware Abstraction Layer (HAL) support hardened - activate default security enhancements for toolchain (gcc, glibc, binutils) hardenedphp - include the hardened php security patch for the php group of ebuilds howl - Enable howl support, enables DNS Service Discovery (DNS-SD) hyperwave-api - Adds support for Hyperwave document storage system ibm - Add support for IBM ppc64 specific systems icc - Add support for the Intel C++ Compiler (does _not_ set $CC) iconv - Enable support for the iconv character set conversion library icq - Enable ICQ IM protocol support ieee1394 - Enable FireWire/iLink IEEE1394 support (dv, camera, ...) ifc - use ifc instead of g77 to build imagemagick - Enables support for Imagemagick (image converter) imap - Adds support for IMAP imlib - Adds support for media-libs/imlib (Image loading and rendering library) informix - Adds support for Informix database ingres - Adds support for Ingres database inifile - Adds dbm support for .ini files innodb - Adds innodb support for mySQL (transaction support) interbase - Adds support for Interbase database iodbc - Adds support for iODBC library ipv6 - Adds support for IP version 6 jabber - Enable jabber IM protocol support jack - Adds support for the JACK Audio Connection Kit java - Adds support for Java javascript - enable javascript support jikes - Compile Java source code with jikes (faster) joystick - Add support for joysticks in all packages jpeg - Adds JPEG image support junit - Adds junit awareness -- useful for developers. kde - Adds support for kde-base/kde (K Desktop Enviroment) kdeenablefinal - Makes kde ebuilds use the enable-final flag, yielding big compilation speedups at the cost of very heavy mem usage kdexdeltas - Makes kde ebuilds download binary diffs rather than entire new tarballs for every new release kerberos - Adds kerberos support krb4 - Adds optional kerberos 4 compatibility support ladcca - Adds Linux Audio Developer's Configuration and Connection API support (LADCCA) lapack - adds support for the virtual/lapack numerical library lcms - Adds lcms support to media-gfx/imagemagick (Color management) ldap - Adds LDAP support (Lightweight Directory Access Protocol) leim - Adds input methods support to Emacs lesstif - Use lesstif over openmotif in cases where a program supports both libcaca - Add support for colored ASCII-art graphics libedit - Use the libedit library (replacement for readline) libg++ - Adds C++ modules in dev-db/postgresql (libpq++) libgda - Adds GNU Data Access (CORBA wrapper) support for gnumeric libwww - Adds libwww support (General purpose WEB API) lirc - Adds support for lirc (Linux's Infra-Red Remote Control) livecd - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used during livecd building. lm_sensors - Adds linux lm_sensors (hardware sensors) support m17n-lib - Enable m17n-lib support mad - Adds support for mad (high-quality mp3 decoder library and cli frontend) maildir - Adds support for maildir (~/.maildir) style mail spools mailwrapper - Adds mailwrapper support to allow multiple MTAs to be installed matroska - Adds support for the matroska container format matrox - Adds Matrox MGA support to mplayer mbox - Adds support for mbox (/var/spool/mail) style mail spools mcal - Adds support for MCAL calendar system mcve - Support for the MCVE credit card payment system memlimit - Adds memory usage limiting in supporting programs mhash - Adds support for the mhash library migemo - enable migemo support for Japanese mikmod - Adds libmikmod support to allow playing of SoundTracker-style music files milter - Adds sendmail mail filter (milter) support mime - Adds MIME support ming - Adds support for ming library for creating flash format files minimal - Install a very minimal build (disables, for example, plugins, fonts, most drivers, non-critical features) mmap - Adds mmap support mmx - Adds support for optimizations for Pentium MMX and Athlon class processors mng - Adds support for libmng (MNG images) mnogosearch - Adds support for the mnoGoSearch search engine mono - Build Mono bindings to support dotnet type stuff motif - Adds motif support (x11-libs/openmotif x11-libs/lesstif) mozilla - Adds mozilla support mp3 - Add support for reading mp3 files mpeg - Adds libmpeg3 support to various packages. mpi - Adds MPI (Message Passing Interface) layer to the apps that support it. msession - Adds support for msession daemon msn - Enable MSN Messenger IM protocol support msql - Adds support for the MSQL database server mssql - Adds support for Microsoft SQL Server database mule - Adds multi-language support to XEmacs multilib - On 64bit systems, if you want to be able to compile 32bit and 64bit binaries mysql - Adds mySQL support mysqli - Adds support for the improved mySQL libraries nas - Adds support for network audio sound ncurses - Adds ncurses support (console display library) netboot - Enables network booting netcdf - Enable NetCDF data format support neXt - Enable neXt toolkit nhc98 - Use the nhc98 Haskell compiler instead of GHC if the package supports it nis - Support for NIS/YP services nls - Adds Native Language Support (using gettext - GNU locale utilities) nocd - Tells emerge to install all files required to run the application without a CD mounted nocxx - Disable support for C++ (DONT USE THIS UNLESS YOU KNOW WHAT YOU'RE DOING) nptl - Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually) ocaml - Adds support/bindings for the Ocaml language oci8 - Adds Oracle 8 Support odbc - Adds ODBC Support (Open DataBase Connectivity) offensive - Enables potentially offensive items in packages ofx - Enable support for importing (and exporting) OFX (Open Financial eXchange) data files ogg - Adds support for the Ogg container format (commonly used by Vorbis, Theora and flac) oggvorbis - Adds support for the OggVorbis audio encoding - DEPRECATED useflag openal - Adds support for the Open Audio Library opengl - Adds support for OpenGL oracle7 - Adds support for Oracle 7 oracle - Enable oracle support osc - Enables support for Open Sound Control oscar - Enable Oscar (AIM/ICQ) IM protocol support oss - Adds support for OSS (Open Sound System) ovrimos - Adds support for the Ovrimos Database engine pam - Adds support PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip pcmcia - Adds support for PCMCIA slots/devices found on laptop computers pcntl - Adds support for process creation functions pcre - Adds support for Perl Compatible Regular Expressions pda - Adds support for portable devices. pdflib - Adds support for PDF (Portable Document Format) perl - Adds support/bindings for the Perl language. pfpro - Adds support for Verisign Payflow Pro php - Include support for php pic - Build Position Independent Code. Do not utilize this flag unless you know what you're doing. plotutils - Adds plotutils support to gnuplot (library for 2-D vector graphics) png - Adds support for libpng (PNG images) portaudio - Adds support for the crossplatform portaudio audio API posix - Adds support for POSIX-compatible functions postgres - Adds support for the postgresql database ppds - Adds support for automatically generated ppd (printing driver) files prelude - Adds support/bindings for the Prelude Intrusion Detection System profile - Adds profile support to builds of packages (will likely vary from ebuild to ebuild in support) python - Adds support/bindings for the Python language qdbm - Adds support for the qdbm library qt - Adds support for the Qt library. quicktime - Adds support for OpenQuickTime radius - Adds support for RADIUS readline - enables support for libreadline, a GNU line-editing library that most everyone wants. recode - enables support for the GNU recode library ruby - Adds support/bindings for the Ruby language samba - Adds support for SAMBA sapdb - Adds support for SAP DB sasl - Adds support for the Simple Authentication and Security Layer scanner - Adds support for scanner hardware (e.g. build the sane frontend in kdegraphics) sdl - Adds support for Simple Direct Layer (media library) selinux - !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur session - Adds persistent session support sharedext - Adds support for building shared extensions in php sharedmem - Adds support for shared memory use shorten - Adds support for the shorten audio compressor simplexml - support for simplexml skey - Enable S/Key (Single use password) authentication support slang - Adds support for the slang text display library (it's like ncurses, but different) slp - Adds Service Locator Protocol support to CUPS smartcard - Enables smartcard support sndfile - Adds support for libsndfile snmp - Adds support for the Simple Network Management Protocol if available soap - Adds support for SOAP sockets - Adds support for tcp/ip sockets socks5 - Adds support for the socks5 proxy solid - Adds support for the Solid database engine source - Zip the sources and install them sox - Adds support for Sound eXchange (SoX) speex - Adds support for the speex audio codec spell - Adds dictionary support spl - Adds support for the Standard PHP Library sqlite - Adds support for sqlite - embedded sql database sse - fast floating point optimization for PentiumIII+ class chips ssl - Adds support for Secure Socket Layer connections static - !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically svg - Adds support for SVG (Scalable Vector Graphics http://www.w3.org/TR/SVG ). svga - Adds support for SVGAlib (graphics library) sybase - Adds support for the Sybase SQL Database Server sybase-ct - Adds support for Sybase-CT symlink - Force kernel ebuilds to automatically update the /usr/src/linux symlink. sysvipc - Support for System V-compatible inter-process communication szip - Use the szip compression library tcltk - Support for Tcl and/or Tk tcpd - Adds support for TCP wrappers test - Work around to pull in packages needed to run with FEATURES=maketest / FEATURES=test tetex - Adds support for teTeX theora - Adds support for the Theora Video Compression Codec threads - Adds threads support for various packages. Usually pthreads tidy - Adds support for HTML Tidy tiff - Adds support for the tiff image format tokenizer - Adds support for the PHP file parser truetype - Adds support for FreeType and/or FreeType2 fonts uclibc - Enable uclibc specific patches and build or link uclibc unicode - Adds support for Unicode usb - Adds USB support to applications that have optional USB support (e.g. cups) v4l - Enables video4linux support vanilla - Do not add extra patches which change default behaviour vcd - Video CD support verbose - effects vary across packages; generally used to enable extra informational output during a build or at runtime vhosts - Adds support for installing web-based applications into a virtual-hosting environment videos - Tells portage to install optional video files (used in some games) voodoo3 - Adds support for 3Dfx's Voodoo3 video chipset, else defaults to Voodoo4/5 support if not in USE. vorbis - Adds support for the OggVorbis audio codec wddx - Adds support for WDDX wifi - Enable wireless network functions win32codecs - use win32codecs package for dll avi decoding support (wmv and what not) wmf - Adds support for the wmf vector image format wxwindows - Adds support for wxWindows/wxGTK xface - Adds xface support used to allow a small image of xface format to be included in an email via the header 'X-Face'. xine - Add support for the XINE movie libraries xinerama - Add support for the xinerama X11 extension, which allows you to stretch your display across multiple monitors xml - Check/Support flag for XML library (version 1) xml2 - Check/Support flag for XML library (version 2) xmlrpc - Support for xml-rpc library xmms - Check/Support for XMMS (X MultiMedia System) player. xosd - Sends display using the X On Screen Display library xpm - Support for XPM graphics format. xprint - Support for xprint, http://www.mozilla.org/projects/xprint/ xsl - Check/Support flag for XSL library (version 1) xv - Adds in optional support for the Xvideo extension (an X API for video playback) xvid - Adds support for xvid.org's open-source mpeg-4 codec yahoo - Enable Yahoo Messenger IM protocol support yaz - Adds in optional support for the Z39.50 Protocol for Information Retrieval (YAZ) zeo - Adds support for Zope Enterprise Objects zlib - Adds support for zlib (de)compression
Sama tulemuse saate, kui sisestate käsu:
less /usr/portage/profiles/use.desc
Nüüd sisestame Teie make.conf
faili Teile sobivad USE-lipud.
nano /etc/make.conf
Lisame sinna järgnevad read
USE="qt kde dvd alsa cdr"
Sellega paigaldatakse süsteem KDE ja Qt (nõutud KDE poolt), koos ALSA helisüsteemiga ja DVD ja CD-R toetusega. Muidugi võite oma süsteemile panna ka teisi lippe.
Kui olete lippude lisamise lõpetanud, siis salvestage taas oma make.conf
fail.
Järgnevalt lisame süsteemile ka Eesti keele toetuse. Selleks kirjutage terminali:
mkdir /etc/portage
Võite saada selle juures ka errori, et vastav kataloog on juba olemas. Pole hullu - jätkake rahulikult järgneva käsuga:
echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
Nüüd avame locales.build
faili:
nano /etc/locales.build
Seal jätke alles kaks esimest rida (USA locale toetuseks igaks juhuks) ja lisage lõppu veel ka eesti toetus.
en_US/ISO-8859-1 en_US.UTF-8/UTF-8 et_EE/ISO-8859-1
Teised võite kas ära kustutada või panna neile ette #, siis süsteem neid ridu ei arvesta.
Nüüd jätkame kerneli seadistamisega.
Kerneli seadistamine
Esmalt kontrollime oma ajavööndit. Selleks kirjutage terminali:
ls /usr/share/zoneinfo
See kuvab Teile erinevate ajatsoonide valiku. Nüüd sisestage:
ln -sf /usr/share/zoneinfo/EET /etc/localtime
Valisime oma ajavööndiks EET. Kui see on tehtud, siis läheme edasi kerneli juurde. Selleks tuleb meil kõigepealt saada oma süsteemi uusim kernel. Selleks kirjutage termniali:
emerge gentoo-sources
Kui see tehtud, siis kontrollime selle väljundit:
ls -l /usr/src/linux
Selle tulemuseks peaks olema midagi sellist:
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12-gentoo-r6
Nüüd paigaldame süsteemi genkernel
skripti, mis tesotab meie eest kerneli seadistamise.
emerge genkernel
Nüüd näitame genkernelile kätte, kus asub LiveCD moodustatud kerneli conf. See võetakse uue kerneli loomiseks aluseks.
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
Nüüd käivitame genkernel
i
genkernel --udev all
Kuna kontrollitakse kogu Teie süsteemi, siis läheb sellega päris kaua aega. Paras aeg teha väike kohvipaus.
Kui genkernel on lõpetanud, siis loome lingi boot partitsioonile, et süsteemi käivitades pandaks genkernel
tööle:
ls /boot/kernel* /boot/initramfs*
Peale seda lisame süsteemi veel coldplug, seda selleks, et leitaks üles ka see riistvara, mis pole vajalik süsteemi laadimiseks.
emerge coldplug
ja paneme coldplugi ka bootimisel käivituma
rc-update add coldplug boot
Süsteemi seadistamine
Nüüd kui kernel on valmis, jätkame süsteemi seadistamisega. Esmalt muudame vastavalt oma vajadustele /etc/fstab faili. Selles failis on talletatud süsteemi erinevad ühenduspunktid, kuidas ühendatakse ja kes võib ühendada. Kirjutage nüüd terminali:
nano /etc/fstab
Peamine, mis on ära määrata, need on kõvaketaste asukohad, et boot oleks /dev/hda1 jne. Lõpuks peaks Teie fstab fail välja nägema umbes selline:
/dev/hda1 /boot ext2 defaults,noatime 1 2 /dev/hda2 none swap sw 0 0 /dev/hda3 / ext3 noatime 0 1 none /proc proc defaults 0 0 none /dev/shm tmpfs nodev,nosuid,noexec 0 0 /dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0 /dev/fd0 /mnt/floppy auto noauto,user 0 0
Nüüd seadistame ära teie võrgu. Esmalt paneme paika masina nime (host) ja domeeni nime. Paneme näiteks masina nimeks “pingviin“ ja domeeniks “kodunet”
nano /etc/conf.d/hostname
Seal kirjutage: HOSTNAME="pingviin" Nüüd lisame hostinime ka vaikimisi runlevelile.
rc-update add hostname default
Edasi seadistame nüüd Teie võrgu. Tegu on nüüd juba Teie uue Gentoo võrguga, mitte LiveCD omaga, mida me kohe alguses paika seadistasime.
Kuna kasutame DHCP-d, siis pole meil muud teha, kui panna eth0 kohe masina buutimisel käivitama. Selleks:
rc-update add net.eth0 default
Ühtlasi tuleb meil nüüd süsteemile lisada ka DHCP klient. Selleks:
emerge dhcpcd
Nüüd anname root kasutajale uue parooli:
passwd
Seal palutakse Teil anda New (uus) parool kasutajale root ja lisaks seda ka korrata. Valige parool selliselt, mis sisaldaks nii suuri kui ka väikesed tähti, numbreid ja ka muid sümboleid. Samas soovitaks vältida täpitähtede kasutamisest ja teiste mittestandardsete sümbolite kasutamisest. Kuna, kui peaksite vahetama klaviatuuri või üritate kusagilt mujalt riigist näiteks sisse logida, kus pole kõiki neid klahve, siis võivad tekkida probleemid.
Nüüd seadistame Teie klaviatuuri.
nano -w /etc/conf.d/keymaps
Seal otsige üles rida KEYMAPS ja kirjutage sinna lihtsalt et
KEYMAPS=”et”
Salvestage tulemus. Edasi seadistame Teie süsteemi kella.
nano /etc/conf.d/clock
Kontrollige, et seal oleks CLOCK="local", sellega arvestab süsteem, et Teie kell on kohaliku aja järgi paika pandud. Kui Teie kell on aga Greenwichi aja järgi paika pandud, siis pange sinna “UTC”, siis käib Teie arvuti kell Greenwichi aja järgi aga süsteem näitab ikka kohaliku aega.
Nüüd paigaldame süsteemi veel slocate, selle abil on väga lihtne süsteemist erinevaid faile otsida locate käsu abil.
emerge slocate
Järgnevalt asume bootloaderit seadistama.
Grubi paigaldamine
Esmalt tuleb meil süsteemi paigaldada grub. Selleks kirjutame terminali:
emerge grub
Nüüd loome grub.conf faili, mis on kõige olulisem fail süsteemis. Kui see on valesti koostatud, siis ei ole Teie süsteem võimeline buutima.
nano /boot/grub/grub.conf
Teie grub.conf fail peaks välja nägema selline (võite teha ka copy/paste ja vajaminevad muudatused sisse viia):
#Milline süsteemidest esimesena valitakse, arvepidamine hakkab 0-st default 0 #Kui kaua oodatakse alguses, kuni süsteem stardib timeout 30 #Taustapilt, mis teid tervitab, seda võite hiljem muuta splashimage=(hd0,0)/grub/splash.xpm.gz #Käivitatava süsteemi nimi, võite kirjutada näiteks Gentoo või Linux või mida iganes title=Gentoo #Nüüd määratakse ära, kust kernelit otsitakse. Partitsioonide lugemine algab 0-st root (hd0,0) #Nüüd on oluline jälgida, et Teie kerneli number läheks õigesti! Vajadusel vaadake veelkord #ls -l /usr/src/linux, et kindlaks teha, mis numbriga kernel Teil on. kernel /kernel-genkernel-x86-2.6.12-gentoo-r6 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 #initrd initrd /initramfs-genkernel-x86-2.6.12-gentoo-r6 #Järgnev osa on ainult nendele, kes loovad dualboot süsteemi Linuxiga title=Windows XP #siin näidake ära, mis partitsioonil Windows asub, antud juhul 6 partitsioonil root (hd0,5) makeactive chainloader +1
Nüüd jääb üle veel grub korralikult süsteemi paigaldada. Selleks tuleb esmalt
cp /proc/mounts /etc/mtab
ja seejärel
grub-install /dev/hda
Ja olemegi jõudnud niikaugele, et aeg restartida oma arvuti. Loomulikult eemaldage restardi ajal CD-ROM-ist ka Linuxi LiveCD. Kui kõik on läinud plaanipäraselt peaks Teile ette tulema Grub-i pilt ja edasi stardib juba süsteem ning Teile jääb ette terminali aken, mis palub sisse logida. Selleks kirjutage sinna kasutajaks root ja parooliks Teie varem antud parool.
Kuid enne veel:
exit cd umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo reboot
Kui kõik läks nii nagu pidi, siis jätkake KDE ja X-i paigaldamisega. Kui ei, siis jätkake järgmise peatükiga – kus õpetame, kuidas uuesti liituda LiveCD abil süsteemiga, et kontrollida oma muudetud conf faile.
Kui kõik ei läinud nii nagu peaks
Kui mingil põhjusel süsteem ei käivitunud, siis pole tarvis kohe kõike algusest uuesti alustada. Tuleb taas süsteem LiveCD pealt üles buutida ja viga otsida. Otsides abi näiteks Pingviini Webi foorumitest või mujalt. Kuid kõigepealt liitume taas oma ehitatava süsteemiga.
Kõigepealt seadistage LiveCD-l taas võrguühendus:
net-setup eth0
Seejärel liidame uue süsteemi kõvakettad:
mount -t ext3 /dev/hda3 /mnt/gentoo
mount /dev/hda1 /mnt/gentoo/boot
Nüüd käivitame saaleala
mkswap /dev/hda2
swapon /dev/hda2
Kui see tehtud, siis liidame ka proc failisüsteemi.
mount -t proc none /mnt/gentoo/proc
Ja nüüd võime taas chrootida oma uue süsteemi külge:
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
ja oletegi taas oma uue süsteemi sees. Seda võite ka kasutada juhul, kui pidite vahepeal paigalduse pooleli jätma vms.
Kui süsteem ei käivitunud esimese korraga, siis vaadake näiteks /var/log kausta ja vaadake sealt boot.log-e (nano boot.log näiteks). Või pöörake tähelepanu käivitamisel, mis veatetateid kuvatakse. Kui süsteem on lõpuks üleval, siis jätkake X ja KDE paigaldusega.
X-i ja KDE paigaldamine
Kui süsteem käivitunud, siis on paras aeg luua ka tavakasutaja süsteemi jaoks, kellega edaspidi süsteemi kasutada. Selleks logime ennast root kasutajana sisse:
Login: root Password: (Teie root kasutaja parool)
Esmalt oleks hea kohe ära määrata, mis kasutaja gruppidesse uus kasutaja peaks kuuluma. Gentoo kasutajagrupid on:
audio – saab ligi audio seadmetelecdrom otsene ligipääs CD-ROM-idele floppy – otsene ligipääs flopi draivile games - võib mängida mänge usb - USB seadmete kasutamis õigustega video - ligipääs videokaardi raudvarale
wheel - võib kasutadasu
Loome nüüd näiteks tavakasutaja kasutajanimega “pingviin”,kes kuulub audio, usb ja wheel gruppi, parooliga 123456 Selleks kirjutame terminali:
useradd -m -G audio,usb,wheel -s /bin/bash pingviin
Nüüd määrame “pingviinile” parooli
passwd pingviin Password: (Sisesta “pingviini” parool) Re-enter password: (Sisesta uuesti “pingviini” parool kontrolliks)
Nüüd asume X paigaldamise juurde. Esmalt paigaldame Xorg-i:
emerge xorg-x11
Peale seda:
env-update source /etc/profile
Nüüd jätkame X seadistamisega. On olemas võimalus X-i automaatseks seadistamiseks:
Xorg -configure
Vastake seal Tema esitatud küsimustele ja sellega luuakse Teile xorg.conf fail. Mis loodetavasti ka töötab, seda saab kontrollida:
X -config /root/xorg.conf.new
Kui Teil nüüd tuleb ette terminali akendega vaade, kus parem hiireklõps avab menüü, siis on kõik hästi läinud. Kirjutage terminalis seal exit
või vajutage Ctrl ja D ning võite jätkata KDE paigaldamisega.
Kui automaatne seadistamine ei õnnestunud, siis võite proovida X-i käsitsi seadistada. Selleks on hea kasutada enne man xorg.conf
käsklust. Või proovida käsklust xorgconfig
Kuid kui ka sellega pole tahtmist tegeleda, siis on kõige lihtsam süsteem üles buutida mõne teise LiveCD-ga. Näiteks Knoppix või Ubuntu ja kasutada nende loodud xorg.conf
faili, selleks buutige oma süsteem üles näiteks Ubuntuga, avage seal root terminal ja sinna kirjutage:
mkdir /mnt/gentoo
mount /dev/hda3 /mnt/gentoo
cp /etc/xorg.conf /mnt/gentoo/etc/xorg.conf.ubu
Nüüd taas restart ja uuesti sisse logida oma Gentoosse
cd /etc/
cp xorg.conf xorg.conf.vana
cp xorg.conf.ubu xorg.conf
Nüüd peaks Teil süsteem tööle minema.
Edasi paigaldame veel KDE baassüsteemi. Selleks paigaldame süsteemi KDE:
emerge kdebase
Ja nüüd võite rahus telekast filmi vaadata või mõne muu tegevusega tegeleda, sest aega võtab see paigaldamine kaua :)
Kuid kui see tehtud, siis jätkame järgmiste süstemeile vajalike asjade paigaldamisega:
emerge dbus hal ivman
rc-update add dbus default
rc-update add hald default
rc-update add ivman default
Nüüd avame rc.conf
faili.
nano /etc/rc.conf
Otsime sealt üles järgmise rea: DISPLAYMANAGER= ja kirjutame sinna taha kdm
DISPLAYMANAGER="kdm"
Nüüd
rc-update add xdm default
Nüüd testime süsteemi:
echo "exec startkde" > ~/.xinitrc
Ja nüüd kirjutame terminali:
startx
Ette peaks tulema KDE, koos oma esmakäivituse aknaga.
Ja ongi kõik. Nüüd on Teil olemas töötav Gentoo, koos graafilise töölauaga :)