Guida rapida all'installazione di Gentoo Linux x86
1.Introduzione
Questa guida contiene tutti i comandi necessari per completare un'installazione di Gentoo a partire dallo stage3.
Per scaricare lo stage3 e gli snapshot del Portage è necessaria una connessione a Internet.
E' stato stampato il tempo di esecuzione dopo tutti i comandi che richiedano più di qualche secondo per essere eseguiti.
I comandi sono stati cronometrati su un PC con un AMD 2000 (1.66 GHz), 512 Mb di RAM e due hard disk SATA collegati a un controller hardware.
Esempio 1: Specifiche del computer di test |
# grep bogo /proc/cpuinfo
bogomip : 3337.81
# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 1100 MB in 2.00 seconds = 549.97 MB/sec
Timing buffered disk reads: 224 MB in 3.01 seconds = 74.36 MB/sec
# grep MemTotal /proc/meminfo
MemTotal: 509248 kB
|
2.Guida rapida per l'installazione
Supporti per l'Installazione
Effettuare il download del CD da uno dei mirror.
Potrete trovare le ISO del minimal CD in releases/x86/<release>
/installcd, o in alternativa quelle del LiveCD in releases/x86/<release>/livecd.
Il minimal CD è utilizzabile solamente per installazioni via Internet. Si può utilizzare il LiveCD per un'installazione senza la rete, così come spiegato nel Manuale x86 2006.1. Si raccomanda l'uso del minimal CD.
Masterizzare il CD ed effettuare il boot.
Avvio del CD
Premere F2 alla schermata di avvio per visualizzare le opzioni disponibili. Si può scegliere fra gentoo or gentoo-nofb, quest'ultimo disabilita il framebuffer. Se si è avviato dal LiveCD, va utilizzata l'opzione nox per impedire l'avvio dell'ambiente grafico X. Vi sono diverse opzioni che permettono di abilitare o disabilitare alcune funzionalità. Se tutto procede correttamente, il proprio hardware verrà rilevato e verranno caricati tutti i moduli necessari. Se il kernel non si avvia correttamente o il computer si blocca durante la procedura di avvio, potrebbe essere necessario provare con differenti configurazioni. Il modo più sicuro è probabilmente quello di usare l'opzione nodetect e caricare esplicitamente i moduli necessari.
Esempio 2: Avvio dal minimal CD |
Gentoo Linux Installation LiveCD http://www.gentoo.org
Enter to Boot; F1 for kernels F2 for options.
boot: gentoo-nofb
boot: gentoo-nofb nodetect
|
Opzionale: caricamento dei moduli
Si si è utilizzato l'opzione nodetect, caricare i moduli necessari una volta avviato. Bisogna abilitare il supporto di rete e avere accesso ai dischi. Il comando lspci può aiutare a identificare il proprio hardware.
Esempio 3: Caricare i moduli necessari |
livecd root # lspci
livecd root # modprobe 3w-9xxx
livecd root # modprobe r8169
|
Configurazione di rete
Se la rete non è ancora funzionante, si può usare il comando net-setup per configurare la rete. Potrebbe essere necessario usare modprobe per caricare il supporto per la propria scheda di rete prima di procedere alla configurazione. Se si utilizza un collegamento ADSL, si potrà utilizzare pppoe-setup e pppoe-start. Per il supporto PPTP, editare /etc/ppp/chap-secrets e /etc/ppp/options.pptp quindi utilizzare pptp <server ip>.
Per un collegamento senza fili, utilizzare iwconfig per settare i parametri del collegamento, quindi, utilizzare ancora net-setup oppure ifconfig, dhcpcd e/o route manualmente.
Se ci si trova dietro ad un proxy, bisogna inizializzare il sistema utilizzando export http_proxy, ftp_proxy e RSYNC_PROXY.
Esempio 4: Configurazione guidata della rete |
livecd root # net-setup eth0
|
In alternativa si può avviare la rete manualmente. Gli esempi seguenti assegnano l'indirizzo IP 192.168.1.10 al PC e definiscono 192.168.1.1 come router e name server (DNS).
Esempio 5: Configurazione manuale della rete |
livecd root # ifconfig eth0 192.168.1.10/24
livecd root # route add default gw 192.168.1.1
livecd root # echo nameserver 192.168.1.1 > /etc/resolv.conf
|
Il CD di installazione permette di far partire un server sshd, aggiungere ulteriori utenti, eseguire irssi (un client per chat a riga di comando) e di navigare usando lynx o links.
Opzionale: connettere il nuovo sistema tramite ssh
La funzionalità più interessante è sicuramente sshd. E' possibile farlo partire, connettersi da un'altra postazione e fare copia incolla con i comandi da questa guida.
Esempio 6: Avvio di sshd |
livecd root # time /etc/init.d/sshd start
* Generating hostkey ...
* starting sshd ... [ok]
real 0m13.688s
user 0m9.420s
sys 0m0.090s
|
Ora si cambi la password di root (amministratore) sulla macchina con in esecuzione liveCD in modo che sia possibile connettersi da un altro computer. Si presi attenzione al fatto che consentire a root di connettersi tramite ssh non è consigliabile in normali circostanze. Se la propria rete locale non è fidata, si usi una password lunga e complicata, sarà necessario usarla una volta sola in quanto sparirà al riavvio del sistema.
Esempio 7: Cambiare la password di root |
livecd root # passwd
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully
|
Ora sarà possibile far partire un terminale su un altro PC e connettersi al nuovo sistema, si tenga la guida in un altra finestra e si faccia copia e incolla dei comandi.
Esempio 8: Connettersi al nuovo sistema da un altro PC |
$ ssh root@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
Password:
|
Preparazione dei dischi
tilizzare fdisk o cfdisk per creare lo schema delle partizioni, si dovrà avere, come minimo, una partizione di swap (tipo 82) ed una partizione Linux (tipo 83). L'esempio seguente crea una partizione di /boot, una di swap e una partizione principale così come sono usate nel resto del manuale. Il nome del device è solitamente /dev/sda per un disco SATA o SCSI, /dev/hda per un disco IDE.
Esempio 9: Creazione delle partizioni |
livecd ~ # fdisk /dev/sda
livecd ~ # fdisk -l /dev/sda
Disk /dev/sda: 599.9 GB, 599978409984 bytes
255 heads, 63 sectors/track, 72943 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 12 96358+ 83 Linux
/dev/sda2 13 110 787185 82 Linux swap / Solaris
/dev/sda3 111 72943 585031072+ 83 Linux
|
Utilizzare mke2fs, mke2fs -j, mkreiserfs, mkfs.xfs, o mkfs.jfs per creare i filesystem sulle partizioni. Inizializzare la partizione di swap utilizzando mkswap e swapon.
Esempio 10: Creazione dei filesystem e attivazione dello swap |
livecd ~ # mke2fs /dev/sda1
livecd ~ # mke2fs -j /dev/sda3
livecd ~ # mkswap /dev/sda2 && swapon /dev/sda2
|
Montare i filesystem appena creati su /mnt/gentoo. Se necessario creare le directory per gli altri mount point
(Es. /mnt/gentoo/boot) e montarli.
Esempio 11: Montare i filesystem |
livecd ~ # mount /dev/sda3 /mnt/gentoo
livecd ~ # mkdir /mnt/gentoo/boot
livecd ~ # mount /dev/sda1 /mnt/gentoo/boot
|
Preparare lo Stage
Assicurarsi che la data sia settata correttamente utilizzando date
MMGGhhmmAAAA. Utilizzare il tempo UTC (ora di Greenwich, NdT).
Esempio 12: Impostare la data e l'ora (UTC) |
livecd ~ # date
Mon Mar 6 00:14:13 UTC 2006
livecd ~ # date 030600162006
Mon Mar 6 00:16:00 UTC 2006
|
Ora scaricare un pacchetto di stage da uno dei mirror. Spostarsi su /mnt/gentoo e scompattare il pacchetto con tar xjpf <pacchetto tar dello stage3>.
Esempio 13: Scaricare un archivio dello stage3 |
livecd ~ # cd /mnt/gentoo
livecd gentoo # links http://www.gentoo.org/main/en/mirrors.xml
livecd ~ # cd /mnt/gentoo
livecd gentoo # wget http://gentoo.osuosl.org/releases/x86/current/stages/stage3-i686-2006.1.tar.bz2
|
Esempio 14: Scompattare l'archivio dello stage3 |
livecd gentoo # time tar xjpf stage3*
real 1m13.157s
user 1m2.920s
sys 0m7.230s
|
Installare l'ultimo snapshot del Portage. Procedere come per l'archivio stage3: scegliere un mirror vicino dalla lista, scaricare lo snapshot più recente e scompattarlo.
Esempio 15: Scaricare lo snapshot di Portage più recente |
livecd gentoo # cd /mnt/gentoo/usr
livecd usr # links http://www.gentoo.org/main/en/mirrors.xml
livecd gentoo # cd /mnt/gentoo/usr
livecd usr # wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2
|
Esempio 16: Scompattare lo snapshot di Portage |
livecd usr # time tar xjf portage*
real 0m51.523s
user 0m28.680s
sys 0m12.840s
|
Fare il chroot
Montare il filesystem /proc, sovrascrivere il file /etc/resolv.conf, quindi effettuare il chroot nel nuovo ambiente Gentoo.
Esempio 17: Preparazione e chroot |
livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # cp -L /etc/resolv.conf /mnt/gentoo/etc/
livecd / # chroot /mnt/gentoo /bin/bash
livecd / # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
|
Impostazione della timezone (fuso orario, NdT)
Impostare la timezone corretta sovrascrivendo il file /etc/localtime con il file opportuno preso da /usr/share/zoneinfo/.
Esempio 18: Copiare il file della timezone |
livecd / # cp /usr/share/zoneinfo/Europe/Rome /etc/localtime
livecd / # date
Wed Mar 8 00:46:05 CET 2006
|
Impostare i nomi dell'host e del dominio
Impostare il nome della postazione (host) in /etc/conf.d/hostname e in /etc/hosts. Nell'esempio seguente, si usa miamacchina come nome della postazione e da.me come nome di dominio. Si possono modificare i file di configurazione con nano o con i seguenti comandi:
Esempio 19: Cambiare i nomi dell'host e il nome di dominio |
livecd / # cd /etc
livecd etc # echo "127.0.0.1 miamacchina.da.me miamacchina localhost"> hosts
livecd etc # sed -i -e 's/HOSTNAME.*/HOSTNAME="miamacchina"/' conf.d/hostname
livecd etc # hostname miamacchina
livecd etc # hostname -f
miamacchina.da.me
|
Configurazione del kernel
Installare i sorgenti del kernel (di solito gentoo-sources o vanilla-sources), configurarli, compilarli e copiare il file arch/i386/boot/bzImage in /boot.
Esempio 20: Installare i sorgenti del kernel, compilarli e installare il kernel |
livecd / # time emerge gentoo-sources
real 2m51.435s
user 0m58.220s
sys 0m29.890s
livecd / # cd /usr/src/linux
livecd linux # make menuconfig
livecd linux # time make -j2
real 3m51.962s
user 3m27.060s
sys 0m24.310s
livecd linux # make modules_install
livecd linux # cp arch/i386/boot/bzImage /boot/kernel
|
Configurazione del sistema
Modificare il file /etc/fstab e rimpiazzare BOOT, ROOT e SWAP con i nomi reali delle partizioni. E' importante verificare che i filesystem corrispondano alla propria installazione.
Esempio 21: fstab di esempio |
livecd linux # cd /etc
livecd etc # nano -w fstab
/dev/sda1 /boot ext2 noauto,noatime 1 2
/dev/sda3 / ext3 noatime 0 1
/dev/sda2 none swap sw 0 0
|
Configurare la rete in /etc/conf.d/net. Aggiungere lo script net.eth0 al run level default (predefinito). Se si dispone di più interfacce di rete, si facciano link simbolici a net.eth0 e li si aggiunga al run level default. Si cambi il file /etc/conf.d/net con nano o tramite i seguenti comandi:
Esempio 22: Configurazione della rete |
livecd etc # cd conf.d
livecd conf.d # echo 'config_eth0=( "192.168.1.10/24" )' >> net
livecd conf.d # echo 'routes_eth0=( "default via 192.168.1.1" )' >> net
livecd conf.d # rc-update add net.eth0 default
livecd conf.d # echo r8169 >> /etc/modules.autoload.d/kernel-2.6
livecd conf.d # rc-update add sshd default
|
Nota:
Emergere pcmcia-cs e aggiungerlo al run level default in caso di bisogno.
|
Impostare la password di root con passwd.
Esempio 23: Impostare la password di root |
livecd conf.d # passwd
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully
|
Controllare la configurazione del sistema in /etc/rc.conf, /etc/conf.d/rc, /etc/conf.d/keymaps, /etc/conf.d/clock e modificarli in caso di necessità.
Esempio 24: Opzionale: modificare alcuni file di configurazione |
livecd conf.d # nano -w /etc/rc.conf
livecd conf.d # nano -w /etc/conf.d/rc
livecd conf.d # nano -w /etc/conf.d/keymaps
livecd conf.d # nano -w /etc/conf.d/clock
|
Installazione gli strumenti di sistema
Installare un logger di sistema (programma che gestisce i messaggi di sistema, NdT) come syslog-ng e un demone di cron (programma che esegue istruzioni pianificate in precedenza, NdT) come vixie-cron, e aggiungerli al run level default.
Nota:
I demoni di cron dipendono da un MTA (mail transport agent, programma usato dal sistema per inviare mail, NdT). mail-mta/ssmtp viene proposto da emerge come dipendenza. Se si vuole usare un MTA più evoluto, converebbe installarlo adesso. Se si è di fretta, lasciare che venga installato ssmtp e rimuoverlo in seguito, dopo aver installato l'MTA preferito.
|
Esempio 25: Installare un logger di sistema e un demone cron |
livecd conf.d # time emerge syslog-ng vixie-cron
real 1m52.699s
user 1m1.630s
sys 0m35.220s
livecd conf.d # rc-update add syslog-ng default
livecd conf.d # rc-update add vixie-cron default
|
Installare gli strumenti di sistema (xfsprogs, reiserfsprogs o jfsutils) e quelli di rete (dhcpcd or rp-pppoe) nel caso se ne abbia bisogno.
Esempio 26: Installare ulteriori strumenti di sistema se richiesto |
livecd conf.d # emerge xfsprogs
livecd conf.d # emerge jfsutils
livecd conf.d # emerge reiserfsprogs
livecd conf.d # emerge dhcpcd
livecd conf.d # USE="-X" emerge rp-pppoe
|
Configurazione del bootloader
Emergere grub o lilo. Configurare o /boot/grub/grub.conf o /etc/lilo.conf e installare il bootloader appena emerso.
1. Usare grub
Esempio 27: Emerge grub e modicarne i file di configurazione |
livecd conf.d # time emerge grub
real 1m8.634s
user 0m39.460s
sys 0m15.280s
livecd conf.d # nano -w /boot/grub/grub.conf
|
Esempio 28: Esempio di grub.conf |
default 0
timeout 10
title=Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/sda3
|
Esempio 29: Installare grub |
livecd conf.d # grub
Probing devices to guess BIOS drives. This may take a long time.
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/
grub/menu.lst"... succeeded
Done.
grub> quit
|
Ora procedere con la sezione dedicata al riavvio.
2. Usare lilo
Esempio 30: Emerge lilo e modicarne i file di configurazione |
livecd conf.d # time emerge lilo
real 0m47.016s
user 0m22.770s
sys 0m5.980s
livecd conf.d # nano -w /etc/lilo.conf
|
Esempio 31: Esempio di lilo.conf |
boot=/dev/sda
prompt
timeout=50
default=gentoo
image=/boot/kernel
label=Gentoo
read-only
root=/dev/sda3
|
Esempio 32: Installare lilo |
livecd conf.d # lilo
Added Gentoo *
|
Riavvio del sistema
Uscire dall'ambiente di chroot, smontare tutti i filesystem e riavviare:
Esempio 33: Reboot |
livecd conf.d # exit
livecd / # umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
livecd / # reboot
|
Completare l'installazione
Nota:
Il tempo totale trascorso fra la comparsa del prompt di avvio sul CD minimal e la comparsa del prompt di login dopo il riavvio è stato di 00:42:31 sulla macchina di test. Meno di un'ora! Si noti che questo tempo include quello necessario a scaricare i pacchetti dello stage3, dello snapshot Portage e diversi altri pacchetti e il tempo speso per configurare il kernel.
|
Fare il login come root, quindi aggiungere uno o più utenti per l'uso quotidiano con useradd.
Esempio 34: Collegarsi al nuovo sistema da un altro PC |
$ nano -w ~/.ssh/known_hosts
$ ssh root@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
Password:
|
Esempio 35: Aggiungere un nuovo utente |
mybox ~ # adduser -g users -G lp,wheel,audio,cdrom,portage,cron -m giovanni
mybox ~ # passwd giovanni
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully
|
Ultimi ritocchi di configurazione
Si cominci a scegliere i mirror più vicini o definendo le variabili RSYNC e GENTOO_MIRRORS in /etc/make.conf o usando mirrorselect. A questo punto si può impostare il numero di processi di compilazione contemporanei.
Esempio 36: Usare mirrorselect e usare MAKEOPTS |
miamacchina ~ # emerge mirrorselect
miamacchina ~ # mirrorselect -i -o >> /etc/make.conf
miamacchina ~ # mirrorselect -i -r -o >> /etc/make.conf
miamacchina ~ # echo 'MAKEOPTS="-j2"' >> /etc/make.conf
|
Ora è opportuno abilitare e/o disabilitare alcune USE flag. Usare emerge -vpe world per avere la lista di tutti i pacchetti installati e le loro USE flag abilitate e/o disabilitate. Modificare /etc/make.conf o usare il seguente comando per definire la variabile USE:
Esempio 37: Visualizzare le USE flag in uso e abilitarne o disabilitarne alcune |
miamacchina ~ # emerge -vpe world
miamacchina ~ # echo 'USE="nptl nptlonly -ipv6 -fortran userlocales unicode"' >> /etc/make.conf
|
Se si abilita la USE flag userlocales per le versioni di glibc che ancora lo gestiscono, you should edit /etc/locales.build e definire i locale che si vogliono compilare.
Le versioni più recenti di glibc ignorano la USE flag userlocales e usano invece /etc/locale.gen. Se si sta aggiornando glibc a una di queste versioni, va creato il file /etc/locale.gen e cancellato
/etc/locales.build. Controllare l'output del comando emerge -vpe world per sapere se la propria versione di glibc gestisca la USE flag userlocales.
Esempio 38: Definire i locale |
miamacchina ~ # cd /etc
miamacchina etc # nano -w locales.build
miamacchina etc # grep '^[^#].*' locales.build | sed 's:/: :' >locale.gen
miamacchina etc # rm locales.build
miamacchina etc # nano -w locale.gen
|
Per ultimo, ma non meno importante, si può voler modificare la variabile CFLAGS nel file /etc/make.conf per ottimizzare il codice alle proprie necessità. Si noti che usare una lunga lista di opzioni è raramente necessario e può portare a rendere il sistema non funzionante. Si raccomanda di specificare il tipo di processore con l'opzione march e attenersi a -O2 -pipe.
Si potrebbe voler anche provare a usare ~x86. Lo si dovrebbe fare solo se si è in grado di gestire ebuild o pacchetti malfunzionanti. Se si preferisce avere un sistema stabile, non utilizzare la variabile ACCEPT_KEYWORDS.
Usare anche FEATURES="parallel-fetch ccache" è una buona idea.
Esempio 39: Ultime modifiche a make.conf |
miamacchina etc # nano -w make.conf
CFLAGS="-O2 -march=athlon-xp -pipe"
FEATURES="parallel-fetch ccache"
ACCEPT_KEYWORDS="~x86"
|
Si potrebbe voler ricompilare l'intero sistema due volte per implementare completamente gli ultimi cambiamenti alla configurazione. Ciò richiederebbe molto tempo per essere completato e porterebbe vantaggi in velocità minimi. Si raccomanda di lasciare che il sistema si ottimizzi gradualmente man mano che nuove versioni dei pacchetti vengono rilasciati. D'altra parte, la ricompilazione completa aiuta a mantenere la coerenza interna del sistema. Si consulti Guida all'aggiornamento di GCC per Gentoo Linux per informazioni sui benefici ottenibili con la ricompilazione completa di system e world.
Ricompilare solo i pacchetti che sono già stati aggiornati dal rilascio o che sono influenzati da nuove USE flag richiederà abbastanza tempo. Si può voler anche rimuovere i pacchetti che bloccano l'aggiornamento. Cercare "[blocks
B ]" nell'output emerge -vpuD --newuse world e usare emerge -C per rimuoverli.
Esempio 40: Aggiornare i pacchetti |
miamacchina etc # emerge ccache
miamacchina etc # emerge -vpuD --newuse world
miamacchina etc # time emerge -vuD --newuse world
real 180m13.276s
user 121m22.905s
sys 36m31.472s
miamacchina etc # emerge libtool
miamacchina etc # etc-update
miamacchina etc # time perl-cleaner all
real 1m6.495s
user 0m42.699s
sys 0m10.641s
miamacchina etc # python-updater
|
Cosa fare dopo
A seconda di cosa si vuole fare con il nuovo sistema Gentoo, si vuole installare applicazioni per un server o per un sistema desktop. A titolo di esempio, i comandi emerge gnome e emerge kde sono stati cronometrati nel sistema ~x86 installati come descritto. Entrambi sono stati installati a partire dallo stesso punto.
Si consiglia di consultare la lista della documentazione per scoprire come installare e configurare le applicazioni di propria scelta.
Importante:
Il seguente è solo un esempio. In nessun modo va considerato una raccomandazione.
|
Esempio 41: Emerge di GNOME |
miamacchina etc # emerge -vp gnome
miamacchina etc # nano -w /etc/make.conf
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
-kde -qt -arts -eds -esd gnome gstreamer gtk -xmms firefox"
miamacchina etc # time emerge gnome
real 520m44.532s
user 339m21.144s
sys 146m22.337s
|
Esempio 42: Emerge di KDE |
miamacchina etc # emerge -vp kde-meta
miamacchina etc # nano -w /etc/make.conf
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
kde qt -arts -eds -esd -gnome -gstreamer -gtk -xmms -firefox"
miamacchina etc # time emerge kde-meta
real 1171m25.318s
user 851m26.393s
sys 281m45.629s
|
|