Gentoo Logo

Guida rapida all'installazione di Gentoo Linux x86 con RAID Software e LVM2

Indice:

1.  Introduzione

Questa guida contiene tutti i comandi necessari per una completa installazione da stage3 con LVM2 e RAID software ed è indirizzata ad utenti avanzati. È inoltre necessaria una connessione ad Internet per poter scaricare lo stage3 e una snapshot di Portage.

Importante: I nuovi utenti dovrebbero leggere il Manuale in quanto dà una migliore panoramica del processo d'installazione. La Guida rapida all'Installazione è indirizzata solamente agli utenti esperti che necessitano solamente di una checklist da seguire.

Tutti i comandi che necessitano un po' di tempo per completare sono eseguiti con time e quindi viene indicato il tempo di esecuzione. I tempi sono stati registrati su un AMD 2000 1,66 Ghz, 512 Mb di RAM e due dischi SATA connessi ad un controller hardware configurato come JBOD (cioè da Gentoo vengono visti due dischi separati). Se si possiede un controller RAID "hardware" integrato nella propria scheda madre, attenzione perché potrebbe non essere un vero e proprio controller hardware, ma un cosiddetto "Fake" RAID.

Codice 1.1: Specifiche della macchina di test

(Le seguenti specifiche e le informazioni sul tempo di esecuzione dei
programmi possono aiutare a fare una stima del tempo necessario per completare
l'installazione.)

# grep bogo /proc/cpuinfo
bogomips       : 3337.81

# hdparm -tT /dev/sda /dev/sdb
/dev/sda:
reads:   1048 MB in  2.00 seconds = 524.00 MB/sec
 Timing buffered disk reads:  152 MB in  3.01 seconds =  50.50 MB/sec

/dev/sdb:
 Timing cached reads:   1048 MB in  2.00 seconds = 524.00 MB/sec
 Timing buffered disk reads:  152 MB in  3.01 seconds =  50.50 MB/sec

# grep MemTotal /proc/meminfo
MemTotal:       509248 kB

2.  Guida rapida all'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
  (oppure in caso di problemi)
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
(utilizzare l'output di lspci per identificare i moduli necessari)

(L'esempio seguente va adattato al proprio hardware)
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 ...
(sshd genera la chiave e mostra informazioni aggiuntive)
 * 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: inserire_la_password
Retype new UNIX password: inserire_la_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

(Va usato l'indirizzo IP del nuovo sistema)
$ 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: inserire_la_password

Preparare i dischi

Caricare i moduli per il RAID software e LVM2.

Codice 2.8: Caricare i moduli RAID e LVM2

livecd ~ # modprobe raid0
livecd ~ # modprobe raid1
(sono disponibili pure raid5, raid6 e raid10)

livecd ~ # modprobe dm-mod

Usare fdisk o cfdisk per creare il proprio schema di partizionamento. I nomi dei dispositivi saranno probabilmente /dev/sda e /dev/sdb se si usano dischi SATA o SCSI, mentre /dev/hda e /dev/hdb per i dischi IDE. In questa guida viene utilizzato il seguente schema:

/dev/sda /dev/sdb Tipo
/dev/md1 /boot /boot Raid-1 (mirroring)
swap swap Partizioni normali
/dev/md3 / / Raid-1 (mirroring)
/dev/md4 Volumi LVM2 Raid-0 (striped)

Importante: La partizione di avvio non può essere in RAID striping. Quindi non si può usare né raid-5 né raid-0.

Nota: Se si vuole una maggiore stabilità, si può creare un raid-1 (oppure raid-5) pure per le partizioni di swap, così che un guasto ad uno dei dischi non causi la corruzione della partizione di swap e il conseguente crash delle applicazioni che la stavano usando. D'altro canto, se si vogliono migliorare le performance, è meglio usare partizioni di swap distinte, in quanto il kernel effettuerà automaticamente lo striping.

Codice 2.9: Creare le partizioni

livecd ~ # fdisk /dev/sda
(Assicurarsi di assegnare come tipo fd e impostare come avviabile)

(Il resto di questa guida utilizza il seguente schema di partizionamento)
livecd ~ # fdisk -l /dev/sda

Disk /dev/sda: 299.9 GB, 299989204992 bytes
255 heads, 63 sectors/track, 36471 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1 *             1          11       88326   fd  Linux raid autodetect
/dev/sda2              12          61      401625   82  Linux swap / Solaris
/dev/sda3              62         311     2008125   fd  Linux raid autodetect
/dev/sda4             312       36471   290455200   fd  Linux raid autodetect

(Partizionate il secondo disco esattamente come al primo)
livecd ~ # fdisk /dev/sdb

Quindi creare i nodi RAID. Si prega di tenere bene a mente, se non ci si sta avvalendo dell'aiuto di un initramfs durante l'avvio, che i punti di montaggio per /boot e / dovrebbero usare un formato di metadata più vecchio che può essere specificato tramite il parametro --metadata=0.90:

Codice 2.10: Creare i dispositivi e i nodi

livecd ~ # mknod /dev/md1 b 9 1
livecd ~ # mknod /dev/md3 b 9 3
livecd ~ # mknod /dev/md4 b 9 4

livecd ~ # mdadm --create /dev/md1 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda1 /dev/sdb1
mdadm: array /dev/md1 started.
livecd ~ # mdadm --create /dev/md3 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda3 /dev/sdb3
mdadm: array /dev/md3 started.
livecd ~ # mdadm --create /dev/md4 --level=0 --raid-devices=2 /dev/sda4 /dev/sdb4
mdadm: array /dev/md4 started.

(Attendere finché tutte le unità sono pronte)
livecd ~ # cat /proc/mdstat
Personalities : [raid0] [raid1]
md4 : active raid0 sdb4[1] sda4[0]
581006592 blocks 64k chunks

md3 : active raid1 sdb3[1] sda3[0]
1959808 blocks [2/2] [UU]

md1 : active raid1 sdb1[1] sda1[0]
88256 blocks [2/2] [UU]

Se si utilizza un initramfs, questo è responsabile della costruzione degli array RAID durante l'avvio. Quando si utilizza un initramfs di genkernel, questo può essere inizializzato usando l'opzione domdadm all'avvio.

Creare quindi i volumi LVM2 in /dev/md4. Il seguente schema viene utilizzato come esempio:

Directory Dimensione Filesystem
/usr 8 GB ext3
/usr/portage 2 GB ext2, dimensione dei blocchi ridotta, molti inode
/usr/portage/distfiles 4 GB ext2, blocchi più grandi, pochi inode
/home 10 GB ext3
/opt 4 GB ext3
/var 4 GB ext3
/var/tmp 6 GB ext2
/tmp 2 GB ext2

Codice 2.11: Creare i volumi LVM2

livecd ~ # vgscan
  Reading all physical volumes.  This may take a while...
  No volume groups found
livecd ~ # vgchange -a y
  No volume groups found

(Creare i volumi fisici, in questo esempio ce n'è solo uno)
livecd ~ # pvcreate /dev/md4
  Physical volume "/dev/md4" successfully created

(Creare i gruppi, in questo esempio ce n'è solo uno)
livecd ~ # vgcreate vg /dev/md4
  Volume group "vg" successfully created

(Creare i volumi logici)
livecd ~ # lvcreate -L8G -nusr vg
  /dev/cdrom: open failed: Read-only file system
  Logical volume "usr" created (Gli altri messaggi simili non sono mostrati)
livecd ~ # lvcreate -L2G -nportage vg
livecd ~ # lvcreate -L4G -ndistfiles vg
livecd ~ # lvcreate -L10G -nhome vg
livecd ~ # lvcreate -L4G -nopt vg
livecd ~ # lvcreate -L4G -nvar vg
livecd ~ # lvcreate -L6G -nvartmp vg
livecd ~ # lvcreate -L2G -ntmp vg

(Mostrare i gruppi e i volumi logici)
livecd ~ # vgs
  VG   #PV #LV #SN Attr  VSize   VFree
  vg     1   8   0 wz--n 554.09G 514.09G
livecd ~ # lvs
  LV        VG   Attr   LSize  Origin Snap%  Move Copy%
  distfiles vg   -wi-a-  4.00G
  home      vg   -wi-a- 10.00G
  opt       vg   -wi-a-  4.00G
  portage   vg   -wi-a-  2.00G
  tmp       vg   -wi-a-  2.00G
  usr       vg   -wi-a-  8.00G
  var       vg   -wi-a-  4.00G
  vartmp    vg   -wi-a-  6.00G

Usare mke2fs, mke2fs -j, mkreiserfs, mkfs.xfs e mkfs.jfs per creare i filesystem. Per inizializzare la swap usare mkswap e swapon.

Codice 2.12: Creare i filesystem e attivare la swap

(ext2 è più che sufficiente per la partizione /boot)
livecd ~ # mke2fs /dev/md1

(Per la partizione di root utilizzare ext3)
livecd ~ # mke2fs -j /dev/md3

(Adesso creare i filesystem nei volumi logici)
livecd ~ # mke2fs -b 4096 -T largefile /dev/vg/distfiles
livecd ~ # mke2fs -j /dev/vg/home
livecd ~ # mke2fs -j /dev/vg/opt
livecd ~ # mke2fs -b 1024 -N 200000 /dev/vg/portage
livecd ~ # mke2fs /dev/vg/tmp
livecd ~ # mke2fs -j /dev/vg/usr
livecd ~ # mke2fs -j /dev/vg/var
livecd ~ # mke2fs /dev/vg/vartmp

(Creare e attivare le partizioni di swap)
livecd ~ # mkswap /dev/sda2 && mkswap /dev/sdb2
livecd ~ # swapon -p 1 /dev/sda2 && swapon -p 1 /dev/sdb2
(Controllare che tutte le partizioni di swap abbiano la stessa priorità)
livecd ~ # swapon -v -s
Filename                   Type            Size    Used    Priority
/dev/sda2                  partition       401616  0       1
/dev/sdb2                  partition       401616  0       1

Montare i nuovi filesystem in /mnt/gentoo. Creare le directory per gli altri punti di mount e montare anche quest'ultimi.

Codice 2.13: Montare i filesystem

livecd ~ # mount /dev/md3 /mnt/gentoo
livecd ~ # cd /mnt/gentoo
livecd gentoo # mkdir boot home usr opt var tmp
livecd gentoo # mount /dev/md1 /mnt/gentoo/boot
livecd gentoo # mount /dev/vg/usr /mnt/gentoo/usr
livecd gentoo # mount /dev/vg/home /mnt/gentoo/home
livecd gentoo # mount /dev/vg/opt /mnt/gentoo/opt
livecd gentoo # mount /dev/vg/tmp /mnt/gentoo/tmp
livecd gentoo # mount /dev/vg/var /mnt/gentoo/var
livecd gentoo # mkdir usr/portage var/tmp
livecd gentoo # mount /dev/vg/vartmp /mnt/gentoo/var/tmp
livecd gentoo # mount /dev/vg/portage /mnt/gentoo/usr/portage
livecd gentoo # mkdir usr/portage/distfiles
livecd gentoo # mount /dev/vg/distfiles /mnt/gentoo/usr/portage/distfiles

(Impostare i permessi corretti nelle directory temporanee)
livecd gentoo # chmod 1777 /mnt/gentoo/tmp /mnt/gentoo/var/tmp

Preparare lo Stage

Assicurarsi che la data sia settata correttamente utilizzando date MMGGhhmmAAAA. Utilizzare il tempo UTC (ora di Greenwich, NdT).

Codice 2.14: Impostare la data e l'ora (UTC)

(controllare l'orologio)
livecd gentoo # date
Tue Jan 17 12:59:00 UTC 2012

(Impostare data e ora correnti, se necessario)
livecd ~ # date 011713592012 (Il formato è MMGGhhmmAAAA)
Tue Jan 17 13:59:00 UTC 2012

Ora scaricare un pacchetto di stage da uno dei mirror.

Codice 2.15: Scaricare un archivio dello stage3

livecd ~ # cd /mnt/gentoo
livecd gentoo # links http://www.gentoo.org/main/en/mirrors.xml
(Scegliere un mirror, spostarsi nella directory releases/x86/current-stage3/,
evidenziare lo stage3 voluto, probabilmente lo stage3 per i686, e premere D per scaricarlo)

(Oppure scaricarlo con wget senza scegliere il mirror più vicino)
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.16: 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.17: Scaricare lo snapshot di Portage più recente

livecd gentoo # cd /mnt/gentoo/usr
livecd usr # links http://www.gentoo.org/main/en/mirrors.xml
(Scegliere un mirror, spostarsi nella directory snapshots/, evidenziare portage-latest.tar.bz2 e premere D per scaricarlo)

(Oppure scaricarlo con wget senza scegliere un mirror vicino)
livecd gentoo # cd /mnt/gentoo/usr
livecd usr # wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2

Codice 2.18: 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.19: 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.20: Impostare il fuso orario

livecd / # ls /usr/share/zoneinfo
(Si usa Roma come esempio)
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.21: 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
(Usare il nome dell'host scelto e controllare)
livecd etc # hostname miamacchina
livecd etc # hostname -f
miamacchina.da.me

Configurazione del Kernel

Installare i sorgenti del kernel (solitamente gentoo-sources), configurarli, compilarli e copiare il file arch/i386/boot/bzImage in /boot.

Codice 2.22: Installare i sorgenti del kernel, compilarli e installarli

livecd etc # time emerge gentoo-sources

real  3m3.110s
user  1m2.320s
sys   0m34.990s
livecd etc # cd /usr/src/linux
livecd linux # make menuconfig

(Configurare il kernel normalmente e assicurarsi che i moduli raid e
lvm siano compilati come built-in, cioè non come moduli. Stessa cosa vale
per i driver dei dischi e per quelli dei filesystem.)
Multi-device support (RAID and LVM)  --->
[*] Multiple devices driver support (RAID and LVM)
  <*>   RAID support
  < >     Linear (append) mode (NEW)
  <*>     RAID-0 (striping) mode
  <*>     RAID-1 (mirroring) mode
  < >     RAID-10 (mirrored striping) mode (EXPERIMENTAL) (NEW)
  < >     RAID-4/RAID-5 mode (NEW)
  < >     RAID-6 mode (NEW)
  < >     Multipath I/O support (NEW)
  < >     Faulty test module for MD (NEW)
  <*>   Device mapper support
  < >     Crypt target support (NEW)
  < >     Snapshot target (EXPERIMENTAL) (NEW)
  < >     Mirror target (EXPERIMENTAL) (NEW)
  < >     Zero target (EXPERIMENTAL) (NEW)
  < >     Multipath target (EXPERIMENTAL) (NEW)
  < >     Bad Block Relocation Device Target (EXPERIMENTAL) (NEW)

livecd linux # time make -j2

(Il tempo impiegato dipende molto dalle opzioni che sono state selezionate)
real  5m5.869s
user  4m32.320s
sys   0m32.930s

livecd linux # make modules_install
livecd linux # cp arch/i386/boot/bzImage /boot/kernel

Successivamente compilare l'initramfs con cui effettuare il boot del sistema.

Codice 2.23: Compilare l'initramfs

# emerge genkernel
# genkernel --install --no-ramdisk-modules --lvm --mdadm 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.24: fstab di esempio

livecd linux # cd /etc
livecd etc # nano -w fstab
/dev/md1          /boot                   ext2  noauto,noatime  1 2
/dev/md3          /                       ext3  noatime         0 1
/dev/sda2         none                    swap  sw,pri=1        0 0
/dev/sdb2         none                    swap  sw,pri=1        0 0
/dev/vg/usr       /usr                    ext3  noatime         1 2
/dev/vg/portage   /usr/portage            ext2  noatime         1 2
/dev/vg/distfiles /usr/portage/distfiles  ext2  noatime         1 2
/dev/vg/home      /home                   ext3  noatime         1 2
/dev/vg/opt       /opt                    ext3  noatime         1 2
/dev/vg/tmp       /tmp                    ext2  noatime         1 2
/dev/vg/var       /var                    ext3  noatime         1 2
/dev/vg/vartmp    /var/tmp                ext2  noatime         1 2

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.25: 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
(Se il driver della scheda di rete è stato compilato come modulo,
aggiungerlo a /etc/conf.d/modules)
livecd conf.d # echo 'modules="r8169"' >> /etc/conf.d/modules
(Se si vuole riconnettersi tramite ssh dopo aver riavviato il nuovo sistema)
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.26: Impostare la password di root

livecd conf.d # passwd
New UNIX password: inserire_la_password
Retype new UNIX password: re_inserire_la_password
passwd: password updated successfully

Modificare il file /etc/timezone per impostare il fuso orario definito in precedenza.

Codice 2.27: 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.28: 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 le utilità per RAID e LVM2.

Codice 2.29: Installare i programmi per RAID & LVM2

livecd conf.d # emerge mdadm lvm2
livecd conf.d # rc-update add mdraid boot
livecd conf.d # rc-update add lvm boot

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.30: 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.31: Installare ulteriori strumenti di sistema se richiesto

livecd conf.d # emerge xfsprogs           (Se si usa il filesystem XFS)
livecd conf.d # emerge jfsutils           (Se si usa il filesystem JFS)
livecd conf.d # emerge reiserfsprogs      (Se si usa il filesystem Reiser)
livecd conf.d # emerge dhcpcd             (Se si ha bisogno di un client DHCP)
livecd conf.d # emerge ppp  (Se si usa una connessione ADSL PPPoE)

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.32: 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.33: Esempio di grub.conf

default 0
timeout 10

title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/md3
initrd /boot/initramfs # Solo se initramfs è richiesto

Codice 2.34: Installare grub su entrambi i dischi

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> root (hd1,0)
 Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd1)

grub> quit

Riavvio

Uscire dall'ambiente in chroot, smontare tutti i filesystem e riavviare:

Codice 2.35: Riavvio

livecd conf.d # exit
livecd / # umount -l /mnt/gentoo/usr{/portage/distfiles,/portage,}
livecd / # umount -l /mnt/gentoo/dev{/pts,/shm,}
livecd / # umount -l /mnt/gentoo{/usr,/var/tmp,/tmp,/var,/opt,/dev,/proc,/home,/boot,}
livecd / # reboot
(Non dimenticarsi di rimuovere il CD)

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.36: Collegarsi al nuovo sistema da un altro PC

(Ripulire il file known_hosts in quanto il nuovo sistema ha generato una nuova e definitiva hostkey)
$ nano -w ~/.ssh/known_hosts
(Cercare la linea con l'indirizzo IP del nuovo PC, cancellarla, quindi salvare il file e uscire da nano)

(Usare l'indirizzo IP del nuovo sistema)
$ 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: inserire_la_password

Codice 2.37: Aggiungere un nuovo utente

miamacchina ~ # useradd -g users -G lp,wheel,audio,cdrom,portage,cron -m giovanni
miamacchina ~ # passwd giovanni
New UNIX password: inserire_la_password_di_giovanni
Retype new UNIX password: reinserire_la_password_di_giovanni
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.38: 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
(Solitamente un buon valore è il numero di processori più uno)
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.39: Visualizzare le flag USE in uso e abilitarne o disabilitarne alcune

miamacchina ~ # emerge -vpe world
(Portage mostra i pacchetti e le loro USE flag, come esempio, disabilitiamo fortran, e abilitiamo ipv6 e unicode)
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.40: 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.41: Ultime modifiche a make.conf

miamacchina etc # cd portage
miamacchina portage # nano -w make.conf
(Impostare -march corrispondente al proprio processore in CFLAGS)
CFLAGS="-O2 -march=athlon-xp -pipe"
(Aggiungere la linea seguente solo se si sa cosa si sta facendo)
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.42: Aggiornare i pacchetti

(Notare che il passaggio a ~x86 causa l'aggiornamento di molti pacchetti)
miamacchina etc # emerge -vpuD --newuse world
(Esaminare con cura la lista dei pacchetti e le loro USE flag, rimuovere i pacchetti che ne bloccano altri se ce ne sono, e far partire il lungo processo)
miamacchina etc # time emerge -vuD --newuse world
(Sono stati (ri)compilati 79 pacchetti)

real  180m13.276s
user  121m22.905s
sys   36m31.472s

(Reinstallare libtool per evitare potenziali problemi)
miamacchina etc # emerge --oneshot libtool

(Aggiornare i file di configurazione, assicurandoci di non permettere a dispatch-conf di modificare file di configurazione che si sono modificati)
miamacchina etc # dispatch-conf

(Se si è aggiornato perl, è meglio eseguire perl-cleaner)
miamacchina etc # time perl-cleaner all
real  1m6.495s
user  0m42.699s
sys   0m10.641s

(In caso di aggiornamenti importanti a python, è meglio eseguire python-updater)
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.43: Emerge di GNOME

miamacchina etc # emerge -vp gnome
(Esaminare la lista dei pacchetti e le loro flag USE, quindi modificare make.conf se richiesto)
miamacchina etc # nano -w /etc/portage/make.conf
(Sono state definite le flag USE seguenti)
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
     -kde -qt4 -arts -eds -esd gnome gstreamer gtk firefox"

miamacchina etc # time emerge gnome
(326 pacchetti sono stati installati)

real  520m44.532s
user  339m21.144s
sys   146m22.337s

Codice 2.44: Emerge di KDE

miamacchina etc # emerge -vp kde-meta
(Esaminare la lista dei pacchetti e le loro flag USE, quindi modificare make.conf se richiesto)
miamacchina etc # nano -w /etc/portage/make.conf
Sono state definite ls USE flag seguenti)
USE="nptl nptlonly -ipv6 -fortran unicode svg hal dbus \
     kde qt4 -arts -eds -esd -gnome -gstreamer -gtk -firefox"

miamacchina etc # time emerge kde-meta
(391 pacchetti sono stati installati)

real  1171m25.318s
user  851m26.393s
sys   281m45.629s


Stampa

Aggiornato il 24 luglio 2012

La versione originale di questo documento è più recente ed è stata aggiornata il 15 agosto 2013

Oggetto: La Guida rapida all'Installazione spiega il processo di installazione di Gentoo senza però scendere molto nei particolari. Lo scopo di questa guida è quello di permettere agli utenti di eseguire una installazione da stage3 con RAID software e LVM2 in poco tempo. L'utente che vuole seguire questa guida deve già avere precedenti esperienze con l'installazione di Gentoo Linux.

Xavier Neys
Autore

Sven Vermeulen
Autore

Steven Wagner
Autore

Luca Marturana
Traduzione

Andrea Perotti
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.