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 di
Portage è necessaria una connessione ad Internet.
Importante:
I nuovi utenti dovrebbero seguire il Manuale in quanto dà una panoramica
migliore riguardo al processo d'installazione. La Guida rapida
all'Installazione è indirizzata solamente agli utenti esperti che necessitano
solamente di una checklist da seguire.
|
È 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.
Codice 1.1: Specifiche del computer di test |
# grep bogo /proc/cpuinfo
bogomips : 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
Scaricare il CD da uno dei mirror. È
possibile trovare le ISO del minimal CD in
releases/x86/current-iso/. Il minimal CD è utilizzabile
solamente per installazioni via Internet. Questa guida userà il CD minimal.
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.
Diverse opzioni 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 opzioni differenti. Il modo più sicuro è probabilmente quello di
usare l'opzione nodetect e caricare esplicitamente i moduli necessari.
Codice 2.1: 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.
Codice 2.2: 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 a PPTP, modificare
/etc/ppp/chap-secrets e /etc/ppp/options.pptp quindi
utilizzare pptp <server ip>.
Per un collegamento wireless, utilizzare iwconfig per impostare 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 impostare il sistema utilizzando
export http_proxy, ftp_proxy e RSYNC_PROXY.
Codice 2.3: 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).
Codice 2.4: 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 links.
Opzionale: connettersi al nuovo sistema tramite ssh
La funzionalità più interessante è sicuramente sshd. È possibile
avviarlo, connettersi da un'altra postazione e fare copia incolla dei comandi
da questa guida.
Codice 2.5: 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
|
A questo punto cambiare la password di root (amministratore) sulla macchina si
cui è in esecuzione il LiveCD in modo che da permettere la connessione da un
altro computer. Prestare attenzione al fatto che consentire a root di
connettersi tramite ssh non è consigliabile in circostanze normali. Se la
propria rete locale non è fidata, usare una password lunga e complicata, sarà
necessario usarla una volta sola in quanto sparirà al riavvio del sistema.
Codice 2.6: 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, tenendo la guida in un altra finestra e facendo copia e incolla
dei comandi.
Codice 2.7: 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
Utilizzare 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 ed una partizione principale così come sono usate nel resto del
manuale. Sostituire sda con il nome del proprio disco. Molti
sistemi ignorano la flag di partizione avviabile, ma alcuni lo richiedono.
Impostare questa flag sulla propria partizione di boot tramite il comando
a di fdisk.
Codice 2.8: 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.
Codice 2.9: 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.
Codice 2.10: Montare i filesystem |
livecd ~ # mount /dev/sda3 /mnt/gentoo
livecd ~ # mkdir /mnt/gentoo/boot
livecd ~ # mount /dev/sda1 /mnt/gentoo/boot
livecd ~ # cd /mnt/gentoo
|
Preparare lo Stage
Assicurarsi che la data sia settata correttamente utilizzando date
MMGGhhmmAAAA. Utilizzare il tempo UTC (ora di Greenwich, NdT).
Codice 2.11: Impostare la data e l'ora (UTC) |
livecd gentoo # date
Tue Jan 17 12:59:00 UTC 2012
livecd ~ # date 011713592012
Tue Jan 17 13:59:00 UTC 2012
|
Ora scaricare un pacchetto di stage da uno dei mirror.
Codice 2.12: 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 ftp://distfiles.gentoo.org/pub/gentoo/releases/x86/current-stage3/stage3-i686-*.tar.bz2
|
Spostarsi su /mnt/gentoo
ed estrarre il pacchetto con tar xjpf <pacchetto tar dello stage3>.
Codice 2.13: Estrarre l'archivio dello stage3 |
livecd gentoo # time tar xjpf stage3*
real 1m14.157s
user 1m2.920s
sys 0m7.530s
|
Installare l'ultimo snapshot del Portage. Procedere come per l'archivio stage3:
scegliere un mirror vicino dalla lista,
scaricare lo snapshot più recente ed estrarlo.
Codice 2.14: 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://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2
|
Codice 2.15: Estrarre lo snapshot di Portage |
livecd usr # time tar xjf portage*
real 0m40.523s
user 0m28.280s
sys 0m8.240s
|
Fare il chroot
Montare i filesystem /proc e /dev, sovrascrivere il
file /etc/resolv.conf, quindi effettuare il chroot nel proprio
ambiente Gentoo.
Codice 2.16: Preparazione e chroot |
livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # mount --rbind /dev /mnt/gentoo/dev
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 del fuso orario (timezone, NdT)
Impostare il fuso orario corretto su uno di quelli elencati in
/usr/share/zoneinfo/.
Codice 2.17: Impostare il fuso orario |
livecd / # ls /usr/share/zoneinfo
livecd / # cp /usr/share/zoneinfo/Europe/Rome /etc/localtime
livecd / # echo "Europe/Rome" > /etc/timezone
livecd / # date
Tue Jan 17 14:39:59 CET 2012
|
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:
Codice 2.18: 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),
configurarli, compilarli e copiare il file arch/i386/boot/bzImage
in /boot.
Codice 2.19: Installare i sorgenti del kernel, compilarli e installare il kernel |
livecd etc # time emerge gentoo-sources
real 2m51.435s
user 0m58.220s
sys 0m29.890s
livecd etc # 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
|
Creare eventualmente un'immagine initramfs da cui effettuare il boot:
Codice 2.20: Creare un'immagine initramfs |
# emerge genkernel
# genkernel --install --no-ramdisk-modules initramfs
|
Configurazione del sistema
Modificare il file /etc/fstab e sostituire BOOT, ROOT
e SWAP con i nomi reali delle partizioni. E' importante verificare che i
filesystem corrispondano alla propria installazione.
Codice 2.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 l'init script
net.eth0 al run level default (predefinito). Se si dispone di più
interfacce di rete, creare dei link simbolici a net.eth0 e aggiungerli al
run level default. Ricordarsi inoltre di impostare il proprio hostname.
Modificare i file /etc/conf.d/net e /etc/conf.d/hostname
con nano o tramite i seguenti comandi:
Codice 2.22: Configurazione della rete |
livecd etc # cd init.d
livecd init.d # ln -s net.lo net.eth0
livecd init.d # cd ../conf.d
livecd conf.d # echo 'config_eth0="192.168.1.10 netmask 255.255.255.0 brd 192.168.1.255"' >> net
livecd conf.d # echo 'routes_eth0="default via 192.168.1.1"' >> net
livecd conf.d # echo 'hostname="myhostname"' > hostname
livecd conf.d # rc-update add net.eth0 default
livecd conf.d # echo 'modules="r8169"' >> /etc/conf.d/modules
livecd conf.d # rc-update add sshd default
|
Nota:
Emergere pcmciautils se si usano dispositivi PCMCIA.
|
Impostare la password di root con passwd.
Codice 2.23: Impostare la password di root |
livecd conf.d # passwd
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully
|
Modificare il file /etc/timezone per impostare il fuso orario
definito in precedenza.
Codice 2.24: Edit /etc/timezone |
Europe/Rome
|
Controllare la configurazione del sistema in /etc/rc.conf e
/etc/conf.d/keymaps e modificarli in caso di necessità.
Codice 2.25: Opzionale: modificare alcuni file di configurazione |
livecd conf.d # nano -w /etc/rc.conf
livecd conf.d # nano -w /etc/conf.d/keymaps
|
Installazione degli 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, converrebbe installarlo
adesso. Se si è di fretta, lasciare che venga installato ssmtp e rimuoverlo in
seguito, dopo aver installato l'MTA preferito.
|
Codice 2.26: 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 ppp), se necessario.
Codice 2.27: 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 # emerge ppp
|
Configurazione del bootloader
Emergere grub e configurarlo. Se si utilizza un'immagine initramfs iniziale
ricordarsi di aggiornare i parametri di boot relativi al suo corretto caricamento.
Codice 2.28: Emergere grub e modificarne 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
|
Codice 2.29: Esempio di grub.conf |
default 0
timeout 10
title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/sda3
initrd /boot/initramfs
|
Codice 2.30: 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 0xfd
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
|
Riavvio del sistema
Uscire dall'ambiente di chroot, smontare tutti i filesystem e riavviare:
Codice 2.31: Reboot |
livecd conf.d # exit
livecd / # umount -l /mnt/gentoo/dev{/shm,/pts,}
livecd / # umount -l /mnt/gentoo{/proc,/boot,}
livecd / # reboot
|
Completare l'installazione
Nota:
Il tempo totale trascorso fra la comparsa del prompt di avvio sul minimal
CD 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.
Codice 2.32: 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:
|
Codice 2.33: Aggiungere un nuovo utente |
miamacchina ~ # useradd -g users -G lp,wheel,audio,cdrom,portage,cron -m giovanni
miamacchina ~ # passwd giovanni
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully
|
Ultimi ritocchi di configurazione
Cominciare scegliendo i mirror più vicini o definendo le variabili SYNC
e GENTOO_MIRRORS in /etc/portage/make.conf o usando
mirrorselect. A questo punto si può impostare il numero di processi di
compilazione contemporanei.
Codice 2.34: Usare mirrorselect e usare MAKEOPTS |
miamacchina ~ # emerge mirrorselect
miamacchina ~ # mirrorselect -i -o >> /etc/portage/make.conf
miamacchina ~ # mirrorselect -i -r -o >> /etc/portage/make.conf
miamacchina ~ # echo 'MAKEOPTS="-j2"' >> /etc/portage/make.conf
|
Ora è opportuno abilitare e/o disabilitare alcune flag USE. Usare emerge -vpe
world per avere la lista di tutti i pacchetti installati e le loro USE flag
abilitate e/o disabilitate. Modificare /etc/portage/make.conf o usare il
seguente comando per definire la variabile USE:
Codice 2.35: Visualizzare le flag USE in uso e abilitarne o disabilitarne alcune |
miamacchina ~ # emerge -vpe world
miamacchina ~ # echo 'USE="nptl nptlonly ipv6 -fortran unicode"' >> /etc/portage/make.conf
|
Le versioni più recenti di glibc usano /etc/locale.gen per definire
le impostazioni dei locale.
Codice 2.36: Definire i locale |
miamacchina ~ # cd /etc
miamacchina etc # nano -w locale.gen
miamacchina etc # locale-gen
|
Per ultimo, ma non meno importante, si può voler modificare la variabile
CFLAGS nel file /etc/portage/make.conf per ottimizzare il codice
alle proprie necessità. Notare che l'uso di 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.
Codice 2.37: Ultime modifiche a make.conf |
miamacchina etc # cd portage
miamacchina portage # nano -w make.conf
CFLAGS="-O2 -march=athlon-xp -pipe"
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.
Consultare 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 flag USE 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.
Codice 2.38: Aggiornare i pacchetti |
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 --oneshot libtool
miamacchina etc # dispatch-conf
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, probabilmente si
vorranno 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 come una
raccomandazione.
|
Codice 2.39: Emerge di GNOME |
miamacchina etc # emerge -vp gnome
miamacchina etc # nano -w /etc/portage/make.conf
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
-kde -qt4 -arts -eds -esd gnome gstreamer gtk firefox"
miamacchina etc # time emerge gnome
real 520m44.532s
user 339m21.144s
sys 146m22.337s
|
Codice 2.40: Emerge di KDE |
miamacchina etc # emerge -vp kde-meta
miamacchina etc # nano -w /etc/portage/make.conf
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
kde qt4 -arts -eds -esd -gnome -gstreamer -gtk -firefox"
miamacchina etc # time emerge kde-meta
real 1171m25.318s
user 851m26.393s
sys 281m45.629s
|
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|