Gentoo Linux Italia

Guida all'installazione di Gentoo Linux 1.4_rc4

Contenuti:

1. Introduzione

Questo nuovo CD di boot dovrebbe essere avviabile da tutti i moderni lettori CD-ROM IDE e SCSI, sempre che il vostro lettore CD e il BIOS del vostro computer lo supportino. Il Linux incluso nel CD-ROM riconosce periferiche IDE (incluse nel kernel) e SCSI (disponibili come modulo). Inoltre, sono provveduti i moduli per tutti i tipi di schede di rete supportate da Linux, così come tutti gli strumenti per la configurazione e l'accesso via ssh alla rete e il download dei file.

I requisiti minimi di sistema sono: processore 486+ con idealmente almeno 64MB di RAM (Gentoo Linux è stato installato con successo anche con 64MB di RAM e 64MB di swap, ma in queste condizioni il processo di installazione risulta essere molto lento).

Gentoo Linux può essere installato usando uno dei tre file .tar denominati "stage" La scelta dipende da quanta parte del sistema volete compilare. Lo stage1 serve per compilare l'intero sistema da zero. Lo stage2 per compilare, da zero, solo alcune parti del sistema, mentre lo stage3 vi permetterà di risparmiare molto tempo dato che è già stato ottimizzato per il vostro specifico sistema e contiene un sistema Gentoo Linux di base.

Dovreste scegliere di partire dallo stage1, stage2 o stage3? Se scegliete di partire dallo stage1 avrete il controllo totale delle ottimizzazioni e delle funzionalità opzionale usata durante la fase di compilazione che è inizialmente abilitata sul vostro sistema. Questo rende lo stage1 ideale per gli utenti smaliziati che sanno quello che stanno facendo. Con lo stage2 saltate il processo di bootstrap, e dovrete accontentarvi delle opzioni di ottimizzazione che abbiamo scelto per il vostro particolare file .tar dello stage2. Con lo stage3 avrete una installazione di Gentoo Linux molto veloce, ma anche in questo caso dovrete accontentarvi delle ottimizzazioni che abbiamo scelto per voi. Questo potrebbe essere sufficiente, dato che le versioni rilasciate di Gentoo Linux hanno lo stage3 specificamente ottimizzato per i più popolari tipi di processori. Se state installando Gentoo Linux per la prima volta, il consiglio è di usare il file .tar dello stage3.

Bene, come facciamo a iniziare il processo di installazione? Prima dovrete decidere quale immagine ISO del LiveCD scaricare da http://www.ibiblio.org/gentoo/releases/1.4_rc4/x86/. Il consiglio è di considerare l'uso di uno dei nostri mirror in modo da alleviare il carico di lavoro dal server principale. Una lista di server può essere trovata su http://www.gentoo.org/main/en/mirrors.xml.

I LiveCD sono immagini complete per CD che dovrebbero essere masterizzate su un CDR o CD-RW usando un software per la masterizzazione. Al momento abbiamo due tipi di LiveCD. Il primo con la dicitura "gentoo-basic" è di approssimativamente 40MB e lo trovate nella directory x86/livecd/. Questo CD di piccole dimensioni permette un download iniziale e contiene un file .tar dello stage1 in /mnt/cdrom/gentoo dopo l'avvio dal CD.

Il secondo LiveCD che offriamo è etichettato "gentoo-3stages". Anche questo CD lo trovate nella directory x86/livecd e contiene i file .tar dello stage 1, 2 e 3. Usando questo CD, sarà possibile installare velocemente un sistema Gentoo Linux completamente funzionante. Che fine hanno fatto i LiveCD per i686, pentium3, athlon, athlon-mp e i pacchetti GRP (Gentoo Reference Platform)? Gentoo 1.4_rc4 è soltanto una "release candidate" minima. La 1.4_final tornerà ad essere suddivisa in architetture x86 e conterrà i pacchetti GRP. Se volete installare gli stage ottimizzati per queste architetture o i pacchetti GRP, usate la documentazione per la 1.4_rc2 che potete trovare su http://www.gentoo.org/doc/it/gentoo-x86-1.4_rc2-install.xml.

Importante: Se incontrate qualche problema in qualsiasi parte dell'installazione, potete riportarlo su http://bugs.gentoo.org. Se il bug coinvolge gli sviluppatori del software originale (come ad esempio il team KDE), sarà cura degli sviluppatori di Gentoo Linux occuparsi di farlo avere a chi di dovere.

Ora diamo una rapida occhiata al processo di installazione. Prima dovremo scaricare e masterizzare l'immagine e, quindi riavviare il nostro PC facendogli fare il boot dal LiveCD appena creato. Non appena raggiunto il prompt di root, creeremo le partizioni, i nostri filesystem ed estrarremo uno dei file .tar stageNN. Se stiamo usando i .tar dello stage1 o dello stage2, vedremo quali passi compiere per portare il nostro sistema allo stage3. Una volta che il sistema sarà arrivato allo stage3, potremo configurarlo (ottimizzando i file di configurazione, installando il bootloader, ecc.), e farlo ripartire avendo un sistema Gentoo Linux completamente funzionale. A seconda dello stage dal quale stiamo partendo, i requisiti per l'installazione sono i seguenti (N.d.T. emerge è il comando per la gestione del software in Gentoo Linux, per cui alcuni dei seguenti termini non sono traducibili):

file .tar (stage) requisiti per l'installazione
1 setup di partizioni e filesystem, emerge sync, bootstrap, emerge system, emerge kernel, configurazione finale
2 setup di partizioni e filesystem, emerge sync, emerge system, emerge kernel, configurazione finale
3 setup di partizioni e filesystem, emerge sync, configurazione finale

2. L'avvio

Fate il boot dal LiveCD. Dovreste vedere un testo di benvenuto con il logo di Gentoo Linux. In questa schermata potete semplicemente premere Enter per iniziare il processo di boot, o avviare il LiveCD con opzioni che usate abitualmente specificando un kernel seguito dalle opzione e quindi dalla pressione del tasto Enter. Per esempio gentoo nousb nohotplug. Consultate la seguente tabella per una lista di kernel e opzioni disponibili o premete F2 per avere una schermata di aiuto.

Kernel disponibili. descrizione
gentoo Il kernel base di gentoo (predefinito)
800 modalità  framebuffer a 800x600
1024 modalità  framebuffer a 1024x768 (predefinita)
1280 modalità  framebuffer a 1280x1024
nofb modalità  framebuffer disabilitata
smp avvia un kernel smp in modalità noframebuffer
acpi abilita "acpi=on" e carica i moduli acpi durante l'init
memtest avvia il programma di controllo della memoria

Opzioni di avvio disponibili. descrizione
doataraid carica i moduli ide raid da initrd
dofirewire fa il "modprobe" dei moduli firewire nel initrd (per i cdrom firewire, ecc)
dokeymap abilita la selezione della keymap per tastiere non americane
dopcmcia esegue il servizio "pcmcia"
doscsi ricerca le periferiche scsi (si blocca con alcune schede ethernet)
noapm disabilita il caricamento del modulo "apm"
nodetect non caricherà  "hotplug" e "hwsetup/kudzu"
nodhcp non sarà  fatto partire automaticamente il dhcp una volta rilevata la scheda di rete
nohotplug disabilita il caricamento del servizio di "hotplug"
noraid disabilita il caricamento dei moduli "evms"
nousb disabilita il caricamento da initrd dei moduli usb, disabilita l'"hotplug"
ide=nodma disabilita il dma delle periferiche ide malfunzionanti
cdcache Memorizza l'intera porzione "runtime" del cd nella ram. Per questo saranno utilizzati 40MB di RAM, ma avrete la possibilità  di fare l'"unmount" di /mnt/cdrom e montare un altro cdrom.

Una volta premuto ENTER, Linux comincerà a essere caricato da CD e vedrete il classico output del caricamento del kernel e i messaggi di initrd. Al termine del boot sarete automaticamente loggati come "root" e per motivi di sicurezza la password di root sarà impostata ad un valore random. Dovreste ora avere il prompt di root ("#") nella console corrente e poter aprire nuove console premendo Alt-F2, Alt-F3 e Alt-F4. Torniamo alla finestra di partenza premendo Alt-F1. Dovreste a questo punto scegliere una password per root e digitarla dopo il comando passwd.

Avrete probabilmente notato che sopra il prompt # c'è un testo di aiuto che spiega alcune cose su come configurare la scheda di rete e dove poter trovare i file .tar degli stage e i pacchetti nel CD.

3. Caricare i moduli del kernel

Se la rilevazione automatica del bus PCI, non funzionasse per qualche periferica, potrete comunque caricare i moduli appropriati manualmente. Per vedere la lista di tutte le schede di rete supportate, digitate ls /lib/modules/*/kernel/drivers/net/*. Per caricare un particolare modulo, digitate:

Esempio 1: Configurazione dei moduli PCI

# modprobe pcnet32
(sostituendo a pcnet32 il modulo della vostra scheda di rete)

Se vogliamo riuscire ad accedere a ogni periferica SCSI che non è stata individuta durante il processo di auto-identificazione, dovremmo caricare i moduli appropriati da /lib/modules, usando ancora modprobe:

Esempio 2: Caricamento dei moduli SCSI

# modprobe aic7xxx
(sostituite a aic7xxx il vostro adattatore SCSI)
# modprobe sd_mod
(sd_mod è il modulo per il supporto dei
dischi SCSI)

Nota: Il supporto per CD-ROM e dischi SCSI è incluso nel kernel.

Se state usando dell'hardware RAID, dovreste caricare i moduli per l'ATA-RAID e per il controller RAID

Esempio 3: Caricamento dei moduli RAID

# insmod ataraid
# insmod pdcraid
(Promise Raid Controller)
# insmod hptraid
(Highpoint Raid Controller)

Il LiveCD di Gentoo dovrebbe aver abilitato il DMA per i vostri dischi. Se così non fosse, potete usare hdparm per impostare il DMA sui vostri dischi.

Esempio 4: Impostare il DMA

Sostituite a hdX il device del vostro disco. 
# hdparm -d 1 /dev/hdX 
Abilita il DMA 
# hdparm -d1 -A1 -m16 -u1 -a64 /dev/hdX
Abilita il DMA e altre opzioni per aumentarne le performance
# hdparm -X66 /dev/hdX 
Forza/abilita l' Ultra-DMA -- pericoloso -- con alcuni drive può causare dei pasticci

4. Configurare la rete

E' già tutto a posto? 

Se state usando un liveCD 1.4_rc3 o successivo, è possibile che la rete sia già stata configurata automaticamente. Se è così potreste essere in grado di usare molti dei comandi orientati alla rete inclusi nel LiveCD come, tra gli altri, ssh, scp, ping, irssi, wget e lynx.

Se la configurazione della rete è andata a buon fine, il comando /sbin/ifconfig dovrebbe mostrarvi le interfacce di rete come lo e eth0:

Esempio 5: /sbin/ifconfig per schede di rete configurate

eth0  Link encap:Ethernet  HWaddr 00:50:BA:8F:61:7A
	inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
	inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
	UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
	RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
	TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
	collisions:1984 txqueuelen:100
	RX bytes:485691215 (463.1 Mb)  TX bytes:123951388 (118.2 Mb)
	Interrupt:11

Potete anche provare a eseguire un ping verso il server DNS del vostro provider (che trovate in /etc/resolv.conf) e verso un sito web di vostra scelta, giusto per vedere che tutti i pacchetti raggiungano la rete e la risoluzione dei nomi DNS funzioni correttamente.

Esempio 6: Test della rete

# ping -c 3 www.gentoo.it 

Riuscite ad usare la rete? Allora potete saltare il resto di questa sezione.

Configurazione del PPPoE  

Assumendo che abbiate bisogno di PPPoE per connettervi a internet, su qualsiasi versione del livecd abbiamo cercato di rendervi le cose più facili includendo rp-pppoe. Usate lo script adsl-setup per configurare la vostra connessione. Vi verrà richiesto il device a cui è connesso il vostro modem adsl, il vostro username e la password, l'indirizzo del DNS, e se avete bisogno di un firewall minimo oppure no.

Esempio 7: Configurazione di PPPoE

#  adsl-setup 
#  adsl-start 

Se qualcosa andasse storto, assicuratevi che lo username e la password immessi siano esatti, dando un'occhiata al file /etc/ppp/pap-secrets o /etc/ppp/chap-secrets, e che stiate usando il corretto device ethernet.

Configurazione automatica della rete 

Se la configurazione automatica non è andata a buon fine, la via più semplice per configurare la rete è eseguire lo script net-setup:

Esempio 8: Net-Setup Script

# net-setup eth0

Naturalmente se preferite, potete ancora configurare il network manualmente, come vedremo in seguito.

Configurazione manuale del DHCP 

Configurare una rete DHCP è semplice; se il vostro provider non usa DHCP, passate al paragrafo "Configurazione statica".

Esempio 9: Configurazione di una rete DHCP

# dhcpcd eth0

Nota: Alcuni provider richiedono un hostname. Per fare questo aggiungete un flag -h nomehost nella riga di comando del dhcpcd.

Non vi spaventate se ricevete messaggi di avviso dadhcpConfig; niente panico; gli errori non sono quasi mai degni di nota. Potete continuare col paragrafo "Test della rete".

Configurazione manuale della rete 

E' necessario configurare la rete per scaricare i sorgenti e compialre la vostra [distribuzione] Gentoo Linux. Digitate i seguenti comandi sostituendo a $IFACE la vostra interfaccia di rete (di solito eth0), a $IPNUM il vostro indirizzo IP, a $BCAST il vostro indirizzo di broadcast, e a $NMASK la vostra network mask. Per il comando route, invece, sostituite a $GTWAY l'indirizzo IP del vostro gateway.

Esempio 10: Configurazione della rete con IP statico

# /sbin/ifconfig $IFACE $IPNUM broadcast $BCAST netmask $NMASK
# /sbin/route add -net default gw $GTWAY netmask 0.0.0.0 metric 1

E' il momento di creare il file /etc/resolv.conf in modo tale che sia possibile la risoluzione dei nomi. (In questo modo possiamo raggiungere siti Web/FTP direttamente col nome piuttosto che attraverso l'indirizzo IP).

Segue un esempio da seguire per la creazione del vostro /etc/resolv.conf:

Esempio 11: esempio di /etc/resolv.conf

domain miodominio.it
nameserver 10.0.0.1
nameserver 10.0.0.2

Sostituite a 10.0.0.1 e a 10.0.0.2 l'indirizzo IP del vostro server DNS primario e secondario rispettivamente.

Configurazione della rete con un Proxy 

Se siete all'interno di un proxy, è necessario configurare il vostro proxy prima di continuare. Per questo dovremo esportare alcune variabili.

Esempio 12: Configurazione di un proxy

# export http_proxy="machine.company.com:1234" 
# export ftp_proxy="$http_proxy" 
# export RSYNC_PROXY="$http_proxy" 

La rete funziona! 

La rete dovrebbe essere ora configurata e funzionante. Dovreste essere in grado di usare i comandi ssh, scp, lynx, irssi e wget per connettervi ad altre macchine nella vostra LAN o ad Internet.

La rete non funziona! 

Se la vostra rete non funziona, potrete trovare aiuto sui Forum di Gentoo. Alcuni link utili possono essere trovati su http://forums.gentoo.org/viewtopic.php?t=43025.

5. Aggiorniamo la data e l'ora del nostro sistema

E' necessario aggiornare la data e l'ora del nostro sistema. Possiamo farlo usando il comando date

Esempio 13: Aggiornamento della data del sistema

# date
Thu Feb 27 09:04:42 CST 2003
(Se la data è sbagliata correggetela col
comando che segue)
# date 022709042003
(date MMDDhhmmCCYY)

6. Filesystem, partizioni e device a blocchi (block devices)

Introduzione ai device a blocchi 

In questa sezione, prenderemo in esame gli aspetti concernenti i dischi su Gentoo Linux e Linux in generale, includendo Linux filesystem, partizioni e device a blocchi. Quindi, una volta che avrete preso familarità  con tutto ciò che riguarda dischi e filesystem, sarete guidati attraverso il processo di configurazione delle partizioni e filesystem per la vostra installazione di Gentoo Linux.

Iniziamo con l'introdurre i "device a blocchi". La periferica a blocchi più famosa è probabilmente quella che rappresenta il primo drive IDE in un sistema Linux:

Esempio 14: /dev/hda, il device a blocchi che rappresenta il disco master sull'IDE primario nelvostro sistema

/dev/hda

Se il vostro sistema usa periferiche SCSI, il vostro primo disco sarà :

Esempio 15: /dev/sda, il device a blocchi che rappresenta il primo drive logico SCSInel vostro sistema

/dev/sda

Il device a blocchi rappresenta una interfaccia astratta del disco. Programmi utente possono usare questi device a blocchi per interagire col vostro disco senza preoccuparsi se il vostro disco è IDE, SCSI o qualcos'altro. I programmi possono semplicemente indirizzare la scrittura su disco come un insieme di blocchi da 512 bytes, contigui e accessibili in modo casuale.

Partizioni e fdisk 

Sotto Linux, creiamo i filesystem usando uno speciale comando chiamato mkfs (o mke2fs, mkreiserfs, ecc.) specificando un device a blocchi come argomento sulla linea di comando.

Comunque, anche se è teoricamente possibile usare un intero disco come /dev/hda o /dev/sda per allocare un singolo filesystem, non è mai fatto in pratica. Al contrario, interi dischi sono suddivisi in piccoli e più maneggevoli device a blocchi chiamati "partizioni". Queste partizioni sono create usando uno strumento chiamato fdisk, che è usato per creare e modificare le tabelle delle partizioni (partition table) memorizzate in ogni disco. La tabella della partizione definisce esattamente come suddividere l'intero disco.

Possiamo dare un'occhiata a una partition table eseguendo fdisk, specificando il device a blocchi che rappresenta l'intero disco come argomento:

Nota: Interfacce alternative per la partition table includono cfdisk, parted e partimage.

Esempio 16: Eseguiamo fdisk

# fdisk /dev/hda

o

Esempio 17: Eseguiamo fdisk per vedere una partition table su /dev/sda

# fdisk /dev/sda

Nota: Nota che non dovreste né salvare, né fare dei cambiamenti alla partition table del disco se le sue partizioni contengono filesystem che sono in uso o contengono dati importanti. Altrimenti potreste causare la perdita dei dati del disco.

Una volta all'interno di fdisk, dovreste ricevere un benvenuto attraverso un promptche dovrebbe assomigliare a questo:

Esempio 18: Il prompt di fdisk

Command (m for help):

Digitate p per visualizzare la configurazione corrente delle partizioni del disco:

Esempio 19: Un esempio di configurazione delle partizioni

Command (m for help): p

Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux

Command (m for help):

Questo disco in particolare, è configurato per contenere sette filesystem Linux (ognuna con una partizione corrispondente elencata come "Linux") così come una partizione di swap (elencata come "Linux swap").

Notate il nome del device a blocchi corrispondente alla partizione, sulla prima colonna di sinistra, partendo da /dev/hda1, per arrivare a /dev/hda9. Ai primordi dell'era dei computer, i programmi per il partizionamento permettevano al massimo quattro partizioni (chiamate partizioni "primarie"). Questo era troppo limitativo, così fu creato un compromesso chiamato partizione estesa. Una partizione estesa è molto simile ad una primaria e viene contata all'interno delle quattro. Comunque, una partizione estesa può contenere un numero illimitato di partizioni chiamate logiche, provvedendo in modo significativo ad aggirare il limite delle quattro partizioni.

Tutte le partizioni a partire dalla hda5 sono partizioni logiche. I numeri da 1 a 4 sono riservati per partizioni primarie o estese.

Così nel nostro esempio, hda1 fino a hda3 sono partizioni primarie. hda4 è una partizione estesa che contiene le partizioni logiche da hda5 a hda9. Non dovreste mai usare /dev/hda4 per crearvi filesystem direttamente, è solo un contenitore per le partizioni da hda5 a hda9.

Nota inoltre che ogni partizione ha un "Id" chiamato anche "partition type" ("tipo di partizione"). Ogni volta che create una partizione, dovreste assicurarvi che il tipo di partizione sia configurato correttamente. '83' è il tipo di partizione corretto per partizioni che conterranno un filesystem Linux, mentre '82' è il corretto tipo per partizioni per lo swap di Linux. Potete impostare il tipo di partizione usando l'opzione t in fdisk. Il kernel di Linux usa l'impostazione del tipo di partizione per determinare automaticamente all'avvio i filesytem e i device di swap del disco.

Usiamo fdisk per partizionare il disco 

Ora che le partizioni sono state create, è il momento di creare i filesystem sulle partizioni boot e root in modo tale che possano essere montate e usate per la memorizzazione dei dati. Configurerete anche la partizione di swap.

Gentoo Linux supporta una grande varietà  di tipi differenti di filesystem ognuno dei quali ha i propri punti di forza e debolezze e un proprio set di caratteristiche che riguardano le performance. Attualmente è supportata la creazione di filesystem ext2, ext3, XFS, JFS e ReiserFS.

ext2 è il vero e proprio filesystem di Linux ma non ha il supporto per il "metadata journaling", il che significa che routine che effettuano il controllo sui filesystem ext2 all'avvio possono sprecare diverso tempo. C'è adesso una scelta abbastanza varia di filesystem journaled di nuova generazione che possono essere scelti per la loro consistenza e sono generalmente preferiti alle controparti non-journaled. I filesystem di tipo "journaled" prevengono i lunghi tempi di attesa quando riavviate il vostro sistema e i vostri filesystem appaiono in uno stato inconsistente.

ext3 è la versione "journaled" del filesystem ext2 e provvede il "metadata journaling" per un veloce recupero (recovery) dei dati in aggiunta ad altre caratteristiche di journaling avanzate come il "full data" e l'"ordered data journaling". ext3 è veramente un buon filesystem oltre che affidabile. Offre generalmente performance decenti in molte condizioni. Dato che non impiega estensivamente l'uso di "trees" nel suo design interno, non scala molto bene, il che significa che non è una scelta ideale per filesystem molto grandi o situazioni dove deve manipolare grandi quantità di dati in una singola directory o file molto grandi. Ma se usato in un ambiente a lui congeniale per il design con cui è stato pensato, ext3 è un eccellente filesystem.

ReiserFS è un filesystem basato su B*-tree che ha ottime performance su file di piccole dimensioni e velocità  superiori a ext2 e ext3 con file di dimensioni minori di 4k, spesso di un fattore 10x-15x. ReiserFS scala inoltre molto bene e supporta il metadata journaling. Dal kernel 2.4.18+, ReiserFS ha raggiunto la solidità che lo porta a essere raccomandato caldamente sia per un uso generico che per casi estremi come la creazione di grandi filesystem, l'uso su molti file piccoli, file molto grandi e directory contenenti decine di migliaia di file. ReiserFS è il filesystem che raccomandiamo di default per tutte le partizioni non boot.

XFS è un filesystem con tecnologia meta-data journaling che è completamente supportato in Gentoo Linux dal kernel xfs-sources, arriva con un robusto set di caratteristiche ed è ottimizzato per la scalabilità . Ne raccomandiamo l'uso su sistemi Linux con high-end SCSI e/o unità di memorizzazione su canali in fibra e connessi a UPS. Data l'aggressività con la quale XFS fa il cache in RAM dei dati in transito, programmi progettati in modo non appropriato (quelli che non prendono precauzioni quando scrivono file su disco, e ce ne sono abbastanza) possono perdere una discreta quantità di dati se il sistema si arresta in modo inaspettato.

JFS è il filesystem journaling ad alte prestazioni di IBM. E' recentemente diventato pronto per il mercato, ma a oggi non è stato sufficientemente provato per fare commenti positivi o negativi sulla sua generale stabilità .

Se siete interessati al filesystem più robusto, usate ext3. Se siete invece interessati a un filesystem ad alte prestazioni con il supporto journaling, usate ReiserFS; sia ext3 che ReiserFS sono maturi e perfezionati.

In base agli esempi e a quanto detto in precedenza, useremo i seguenti comandi per inizializzare tutte le nostre partizioni:

Esempio 27: Inizializzazione delle partizione (esempio)

# mke2fs -j /dev/hda1
# mkswap /dev/hda2
# mkreiserfs /dev/hda3

Abbiamo scelto ext3 per la partizione di avvio /dev/hda1 perché è un robusto filesystem con il journaling supportato dalla maggioranza dei boot loaders. Abbiamo usato mkswap per la partizione di swap /dev/hda2 (e qui la scelta è ovvia). E per il nostro filesystem principale su /dev/hda3 abbiamo scelto ReiserFS, dato che è un solido filesystem con il journaling il quale offre eccellenti performance. Ora andate avanti e inizializzate le vostre partizioni.

Come vostro riferimento, ecco i vari comandi mkfs tipo disponibili durante il processo di installazione:

mkswap è il comando usato per creare partizioni di swap:

Esempio 28: Inizializzare lo Swap

# mkswap /dev/hda2

Potete usare ilcomando mke2fs per creare filesystem ext2:

Esempio 29: Creazione di un Filesystem ext2

# mke2fs /dev/hda1

Se vi piacesse usare ext3, potrete creare filesystem ext3 usando mke2fs -j:

Esempio 30: Creazione di un Filesystem ext3

# mke2fs -j /dev/hda3

Nota: Potete trovare maggiori informazioni sull'uso di ext3 sotto Linux 2.4 all'indirizzo http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html.

Per creare filesystem ReiserFS, usate il comando mkreiserfs:

Esempio 31: Creazione di un Filesystem ReiserFS

# mkreiserfs /dev/hda3

Per creare filesystem XFS usiamo il comando mkfs.xfs:

Esempio 32: Creazione di un Filesystem xfs

# mkfs.xfs /dev/hda3

Nota: Potete voler aggiungere un paio di flag in più al comando mkfs.xfs: -d agcount=3 -l size=32m. Il flag -d agcount=3 abbassa il numero dei gruppi di allocazione. XFS insiste usando almeno 1 gruppo di allocazione per ogni 4 GB di partizione, così, per esempio, se avete una partizione di 20GB avreste bisogno di 5 gruppi (agcount) come minimo. Il flag -l size=32m porta a 32 MB la grandezza del journal, incrementando le performance.

Per creare un filesystem JFS, usate il comando mkfs.jfs.

Esempio 33: Creazione di un Filesystem JFS

# mkfs.jfs /dev/hda3

7.Fare il "mount" delle partizioni

E' il momento di attivare la vostra partizione di swap, che vi servirà in seguito come memoria virtuale aggiuntiva:

Esempio 34: Attiviamo lo SWAP

# swapon /dev/hda2

Poi, creerete i mountpoint (letteralmente: punti di montaggio) /mnt/gentoo e /mnt/gentoo/boot, e quindi vi monterete i vostri filesystem. Se avete deciso di creare /usr o /var come partizioni separate, dovrebbero essere rispettivamente montate in /mnt/gentoo/usr e /mnt/gentoo/var. (N.d.T. la partizione /var dovrà essere molto campiente in quanto conterrà la directory temporanea del sistema Portage per la compilazione dei pacchetti.)

Importante: Se la partizione di boot (dove risiede il kernel) è ReiserFS, dovrete essere sicuri di montarla con l'opzione -o notail in modo tale che GRUB possa essere installato correttamente. Dovrete anche assicurarvi che notail termini la riga che si riferisce alla partizione di avvio in /etc/fstab. Ritorneremo brevemente su questo punto.

Esempio 35: Creazione dei mount points

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

Importante: Se state avendo problemi a montare la vostra partizione di boot con ext2, riprovate usando mount /dev/hXX /mnt/gentoo/boot -t ext2

8. I file .tar dello stage, e chroot

Ottenere il file .tar dello stage desiderato 

Se non lo aveste ancora fatto, è il momento di decidere quale stage usare come base per l'installazione.

Alternativamente, se avete il LiveCD denominato "basic", il file .tar dello stage1 è ancora disponibile sul CD in /mnt/cdrom/gentoo. Dovrete in seguito fare comunque un download degli altri stage e metterli in /mnt/gentoo.

Se state usando il metodo di installazione "from scratch, build everything" ("costruisci tutto da zero"), dovrete usare l'immagine stage1-ix86-1.4_rc4.tbz2. Se invece state usando uno dei CD di grosse dimensioni come la ISO "3stages", avrete anche la possibilità di scegliere tra le immagini stage2 e stage3. Queste immagini vi permettono di risparmiare tempo a spesa della configurabilità dato che abbiamo scelto noi le ottimizzazione per il compilatore e le variabili USE di default. Sul CD gli stage sono accessibili in /mnt/cdrom/gentoo e puoi digitare ls /mnt/cdrom/gentoo per vedere cos'è disponibile sul vostro CD.

Se avete scelto di eseguire l'installazione usando un file .tar di stage che non è sul nostro CD, è possibile ma avrete bisogno si scaricare lo stage che volete usando le seguenti istruzioni. Se, invece, avete già  lo stage tarball che volete usare, procedete con la sezione "Scomprimere l'immagine che desiderate usare"

Esempio 36: Download degli stages richiesti

# cd /mnt/gentoo
Usate lynx per scaricare il file .tar:
# lynx http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/1.4_rc4/x86/

	Usate i tasti cursore Up e Down (o il tasto TAB) per
	andare nella directory corretta ed evidenziare lo stage che volete scaricare.
	Premete d per iniziare il download, salvate il file e uscite dal browser.
	O usate wget da linea di comando:

# wget inserite qui l'URL del file .tar con lo stage che volete

E' ora il momento di estrarre il file .tar dello stage che avete scelto in /mnt/gentoo. Dovrete estrarre solo lo stage da cui volete partire, se avete scelto di partire dallo stage3 dovrete estrarre solo il file .tar dello stage3. Estraete l'immagine come segue:

Importante: Ricordatevi di usare l'opzione p col comando tar. Altrimenti alcuni file potrebbero ricevere permessi errati

Esempio 37: Scomprimere lo stage

# cd /mnt/gentoo

	Sostituite "stage2" o "stage1" a "stage3"
	se volete partire da uno stage diverso dal 3.


	Se scaricate il file .tar del vostro stage, cambiate il percorso che segue con
	"/mnt/gentoo/"invece di "/mnt/cdrom/gentoo/".

#tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2

Se avete scaricato il il file .tar del vostro stage in /mnt/gentoo, potrete rimuoverlo digitando rm /mnt/gentoo/stage*.tar.bz2.

Digitiamo il "chroot" 

Il prossimo passo sarà di "entrare" nel nuovo sistema Gentoo Linux tramite chroot dall'ambiente di installazione.

Nota: Potreste ricevere notifica durante env-update dicendo che /etc/make.profile/make.defaults non è disponibile (isn't available): ignoratelo. Andrete a eseguire emerge sync in seguito che risolverà questo problema.

Esempio 38: Preparazione ed ingresso nell'ambiente chroot

# mount -t proc proc /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
# chroot /mnt/gentoo /bin/bash
# env-update
Regenerating /etc/ld.so.cache...
# source /etc/profile
I passi summenzionati aggiornano i percorsi di ricerca della shell.

Dopo aver eseguito questi comandi, sarete "dentro" il nuovo ambiente Gentoo Linux in /mnt/gentoo. Eseguiremo il resto dell'installazione all'interno di questo ambiente.

9. Scarichiamo il Portage Tree corrente usando sync

Dovrete ora eseguire emerge sync. Questo vi assicura di avere la copia più recente del Portage tree. Il Portage tree contiene tutti gli script (chiamati ebuild) usati per la compilazione di ogni pacchetto sotto Gentoo Linux. Attualmente abbiamo script di ebuild per 4000 pacchetti. Una volta che emerge sync sia stato completato, avrete un completo Portage tree in /usr/portage.

Esempio 39: Aggiornamento usando sync

# emerge sync

10. Impostare le ottimizzazioni di Gentoo (make.conf)

Ora che stiamo lavorando su una copia del Portage tree, coloro che usano lo stage1 devono effettuare il bootstrap di Gentoo Linux procedendo secondo le istruzioni che seguono. Primo: editare il file /etc/make.conf. In questo file dovremo impostare ad hoc i vari flag USE che servono a specificare quali funzionalità supplementari si vogliano includere per la compilazione dei pacchetti. In genere le impostazioni di default sono accettabili (ovvero un USE vuoto o non configurato). Maggiori informazioni sui flag di USE possono essere trovate qui. Una lista completa dei flag USE la potete trovare qui.

Si dovrebbero definire in modo appropriato anche i flag CHOST, CFLAGS e CXXFLAGS a seconda del tipo di sistema che si vuol creare (potete trovare esempi documentati direttamente in questo file). Queste impostazioni saranno usate per dire ai compilatori C e C++ come ottimizzare il codice che deve essere generato per il vostro sistema. E' comune, per esempio, per utenti con processori Athlon XP specificare un flag "-marc=athlon-xp" sia in CFLAGS che in CXXFLAGS in tal modo tutti i pacchetti saranno compilati e ottimizzati con un set di istruzioni e performance caratteristiche del processore in uso. Il file /etc/make.conf contiene una guida generale riguardo le impostazioni proprie di CFLAGS e CXXFLAGS.

Se necessario, potremmo anche impostare le informazioni sul proxy nel caso vi trovaste dietro un firewall. Usate il seguente comando per editare /etc/make.conf usando nano un semplice editor visuale.

Esempio 40: Editiamo il make.conf

# nano -w /etc/make.conf
(Sistemiamo CHOST, CFLAGS, CXXFLAGS e ogni impostazione USE o proxy)

Nota: Coloro che hanno bisogno di personalizzare in modo sostanziale il processo di compilazione potrebbero dare uno sguardo al file /etc/make.globals. Questo file comprende i parametri predefiniti (default) di Gentoo e non dovrebbe mai essere modificato. Se i parametri di default non sono sufficienti, i nuovi valori dovrebbero essere messi in /etc/make.conf, i valori dei parametri di /etc/make.conf sovrascrivono gli stessi in /etc/make.globals. Se siete interessati a personalizzare le impostazioni di USE, guardate in /etc/make.profile/make.defaults. Se volete disabilitare alcune impostazioni di USE, aggiungete in /etc/make.conf USE="-flag" per disabilitare i flag. (N.d.T.: p.e. USE="gnome" includerà gnome nella compilazione di programmi che potrebbero avere qualche feature in più includendo gnome, ma che sostanzialmente non ne hanno bisogno per il corretto funzionamento, mentre USE="-gnome" non includerà  gnome.)

11. Partendo dallo Stage1

Nota: Se non state usando lo stage1, saltate questa sezione.

Il file .tar dello stage1 serve per compilare un sistema completamente personalizzato e ottimizzato. Se avete scelto questo file state probabilmente cercando di avere un sistema ultra ottimizzato. Buon divertimento, perché l'ottimizzazione è la cosa più importante di Gentoo Linux. L'installazione partendo dallo stage1 prende diverso tempo, ma il risultato è che il sistema verrà ottimizzato dalle fondamenta, a seconda della macchina e delle vostre necessità.

Adesso è il momento di incominciare il processo di "bootstrap". Tale processo dura circa due ore sul mio AMD 1200MHz. Durante questo tempo, la "GNU C library", la "suite" del compilatore e altri programmi chiave del sistema. verranno compilati. Iniziate il bootstrap come segue:

Esempio 41: Bootstrapping

# cd /usr/portage
# scripts/bootstrap.sh

Il processo di "bootstrap" avrà inizio adesso.

Nota: Portage usa per default /var/tmp durante la fase di complilazione dei pacchetti, usando spesso centinaia di megabyte come area di memorizzazione temporanea. Se preferite cambiare dove Portage memorizza i propri file temporanei, impostate una nuova variabile PORTAGE_TMPDIR prima di far partire il processo di bootstrap come segue:

Esempio 42: Cambiare la directory temporanea del PORTAGE

# export PORTAGE_TMPDIR="/altradir/tmp"

Il comando bootstrap.sh compilerà  i pacchetti binutils, gcc, gettext e glibc, ricompilando binutils, gcc e gettext dopo la compilazione delle glibc. Inutile dirlo, questo processo durerà  un po' di tempo. Una volta che il processo sarà completato, il vostro sistema è in "stage2" il che significa che potete andare alle istruzione relative allo stage2.

12. Partendo dallo Stage2 e continuando dallo Stage1

Nota: Questa sezione è per coloro che stanno continuando l'installazione dello stage1 o che stanno partendo da uno stage2. Se state usando lo stage3, saltate questa sezione.

Il file .tar dello stage2 ha già il "bootstrapping" fatto per voi. Tutto quello che dovete fare è installare il resto del sistema.

Nota: Se state partendo da uno stage2 pre-costruito e volete essere sicuri che il vostro ambiente di sviluppo (compilatori, librerie, ecc.) siano aggiornati, aggiungete una opzione -u al comado che segue. Se non sapete cosa significa questo, non tenete in considerazione questo suggerimento.

Esempio 43: Installazione del resto del sistema

# emerge -p system
[lista dei pacchetti che devono essere installati]
# emerge system

Questo passaggio richiederù un po' di tempo per compilare l'intero sistema di base. Il lato positivo è che avrete un sistema veramente ottimizzato. D'altra parte dovrete trovare qualcosa da fare. L'autore suggerisce "Star Wars - Super Bombard Racing" per la PS2.

La compilazione è ora completa. Andate avanti e saltate alla sezione "Configurazione della time zone".

13. Partendo dallo Stage3

Nota: Questa sezione è per coloro che partono dallo stage3, e non per coloro che sono partiti dallo stage 1 o 2 i quali dovrebbero saltare questa sezione.

Il file .tar dello stage3 provvede un sistema Gentoo di base completamente funzionale, in questo caso non è necessario nessun processo di compilazione. Comunque, dato che lo stage3 è pre-compilato, potrebbe essere un po' datato, e se questo vi preoccupa, potrete automaticamente aggiornare il vostro stage3 esistente con le versioni più aggiornate di tutti i pacchetti eseguendo i passi che seguono. Nota che questo potrebbe richiedere parecchio tempo se lo stage3 è molto vecchio; altrimenti questo processo generalmente è veloce e vi permetterà  di beneficiare degli ultimi aggiornamenti e correzioni di bug. In ogni caso, sentitevi liberi di saltare questi passi e di procedere con la prossima sezione.

Esempio 44: Otteniamo l'aggiornamento

# export CONFIG_PROTECT="-*"
# emerge -up system
(lists the packages that would be installed)
# emerge -u system
(actually merges the packages)
# unset CONFIG_PROTECT

14. Impostare la "time zone"

E' ora necessario impostare la vostra time zone.

Cercate la vostra Timezone ( o GMT se state usando il Greenwich Mean Time) in /usr/share/zoneinfo. Poi, create un link simbolico come segue:

Esempio 45: Creazione di un link simbolico per la time zone

# ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime

15. Installare il kernel e il System Logger

Nota: Se non l'avete ancora fatto, editate /etc/make.conf a vostro piacimento.

Avete ora bisogno di scaricare i sorgenti del kernel di Linux. Gentoo provvede sbariate ebuild di kernel, un elenco può essere trovato qui. Se siete indecisi circa quali sorgenti del kernel scegliere, vi consigliamo il gentoo-sources o il vanilla-sources. Se volete il supporto XFS, dovreste scegliere l'xfs-sources.

Attenzione: Se state configurando il vostro proprio kernel, siate prudenti con l'opzione grsecurity. Essendo troppo aggressivi con le impostazioni di sicurezza si potrebbe causare a certi programmi (tipo X) di non funzionare propriamente. Se in dubbio, lasciate stare.

Sceglietene uno e unitelo (emerge) al sistema:

Esempio 46: Installare i sorgenti del kernel

# emerge sys-kernel/gentoo-sources

una volta che il kernel è disponibile, è il momento di personalizzarlo e compilarlo:

Notate che /usr/src/linux è un link simbolico ai sorgenti del kernel attualmente installato e che è impostato automaticamente dal Portage al momento dell'emerge. Se avete più di un kernel, è necessario impostare il link /usr/src/linux affinché punti ai sorgenti corretti, prima di procedere.

Esempio 47: Compilazione del kernel

# cd /usr/src/linux
# make menuconfig
# make dep && make clean bzImage modules modules_install
# cp /usr/src/linux/arch/i386/boot/bzImage /boot

Attenzione: Affinché il vostro kernel funzioni a dovere, ci sono alcune opzioni che dovrete essere sicuri siano incluse nel kernel e non compilate come modulo. Assicuratevi di abilitare "ReiserFS" se avete partizioni di questo tipo; la stessa cosa vale per "Ext3". Se state usando partizioni XFS, abilitate l'opzione "SGI XFS filesystem support". E' sempre una buona idea lasciare il supporto per ext2 abilitato sia che lo usiate o no. Seguono alcune opzioni comuni di cui avrete bisogno:

Esempio 48: opzioni make menuconfig

Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers"
(Avete bisogno di questo per delle opzioni che seguono.)
     ...

File systems --->
  <*> Reiserfs support
(Solo se avete partizioni ReiserFS.)
       ...
  <*> Ext3 journalling file system support
(Solo se avete partizioni ext3.)
       ...
  [*] Virtual memory file system support (former shm fs)
(Richiesto per Gentoo Linux.)
       ...
  <*> JFS filesystem support
(Solo se avete partizioni JFS.)
       ...
  [*] /proc file system support
(Richiesto per Gentoo Linux.)
  [*] /dev file system support (EXPERIMENTAL)
  [*]   Automatically mount at boot
(Richiesto per Gentoo Linux.)
  [ ] /dev/pts file system for Unix98 PTYs
(Disabilitate questa, non è
necessaria.)       ...
  <*> Second extended fs support
(Solo se avete partizioni ext2.)
       ...
  <*> XFS filesystem support
(Solo se avete partixioni XFS.)

Se state usando hardware di tipo RAID avrete bisogno di abilitare un paio di opzioni in più nel kernel: Per i controller Highpoint RAID, abilitate il supporto per il chipset hpt366, per i controller IDE RAID e Highpoint 370 software RAID. Per i controller Promise abilitate il supporto PROMISE PDC202{46|62|65|67|68|69|70}, per i controller IDE RAID e Support Promise software RAID (Fasttrak(tm))

Se usate PPPoE per connettervi a internet, avrete bisogno delle seguenti opzioni nel kernel (preferibilmente come moduli): "PPP (point-to-point protocol) support", "PPP support for async serial ports", "PPP support for sync tty ports". Le due opzioni relative alla compressione non sono strettamente necessarie così come "PPP over Ethernet" che potrebbe essere usata solo da rp-ppoe quando il kernel è in modalità PPPoE.

Se avete un masterizzatore IDE, avrete bisogno di abilitare l'emulazione SCSI nel kernel. Abilitate "ATA/IDE/MFM/RLL support" ---> "IDE, ATA and ATAPI Block devices" ---> "SCSI emulation support" (abilitato di solito come modulo), qundi sotto "SCSI support", abilitate "SCSI support", "SCSI CD-ROM support" e "SCSI generic support" (abilitati come moduli anche questi). Se avete scelto di usarli come moduli, allora digitate echo -e "ide-scsi/nsg/nsr_mod" >> /etc/modules.autoload per averli automaticamente al boot.

Nota: Per coloro che lo preferiscono, è possibile installare una [distribuzione] Gentoo Linux con kernel 2.2. Per questo c'è da pagare un prezzo: perdere le ottime caratteristiche che sono prerogativa della serie 2.4 del kernel (come il supporto per i filesystem di tipo XFS e tmpfs, iptables, e altro), anche se Gentoo Linux con kernel 2.2 può essere aggiornato per il supporto a ReiserFS e a devfs. Gli script di boot di Gentoo Linux richiedono che tmpfs o ramdisk siano supportati dal kernel, così coloro che vogliono usare il kernel 2.2 devono essere sicuri di avere il support per ramdisk incluso nel kernel e non compilato come modulo. E' vitale che un flag gentoo=notmpfs sia aggiunto in /boot/grub/menu.lst nella linea del kernel per la serie 2.2 in modo tale che gli script di boot montino ramdisk invece di tmpfs. Se scegliete di non usare devfs, devrete aggiungere una riga del tipo gentoo=notmpfs,nodevfs.

Il nuovo kernel e i suoi moduli sono ora installati. C'è ora bisogno di scegliere il sistema di logging che dovrà essere installato. E' disponibile il tradizionale sistema di logging sysklogd. Ma ci sono anche syslog-ng e metalog. Utenti che preferivano sysklogd (il quale non brilla per prestazioni) si stanno rivolgendo verso syslog-ng e metalog. Se siete in dubbio, potete provare metalog che sembra essere abbastanza popolare. Per installare il logger scelto, digitate uno dei seguenti quattro comandi:

Esempio 49: Installazione di un sistema di log a scelta

# emerge sys-apps/sysklogd
# rc-update add sysklogd default
o
# emerge app-admin/syslog-ng
# rc-update add syslog-ng default
o
# emerge app-admin/metalog
# rc-update add metalog default
o
# emerge app-admin/msyslog
# rc-update add msyslog default

Importante: Metalog scrive il suo output su disco a blocchi, così i messaggi non sono immediatamente registrati nei log di sistema. Se state tentando di provare un daemon, questa caratteristica (che ne migliora le prestazioni) potrebbe non essere la soluzione migliore. Una volta che il sistema è a regime potrete provare a mandare al daemon di metalog un segnale di tipo USR1 che temporaneamente dovrebbe disabilitare il suddetto comportamento (il buffering dei messaggi prima di scriverli in blocco). Questo significa che tail -f /var/log/logfile dovrebbe funzionare come ci aspettiamo. Per tornare alla situazione standard invieremo un nuovo segnale, questa volta di tipo USR2. Se voleste disabilitare permanentemente il buffering, potete cambiare l'opzione METALOG_OPTS da "-B" a "-B -s" in /etc/conf.d/metalog.

Se volete, potete ora scegliere il pacchetto cron che preferite. Per ora offriamo, dcron, fcron e vcron. Se non sapete quale scegliere tra questi, potete usare vcron. I pacchetti possono essere installati come segue:

Esempio 50: Installazione di un pacchetto cron

# emerge sys-apps/dcron
# crontab /etc/crontab
o
# emerge sys-apps/fcron
# crontab /etc/crontab
o
# emerge sys-apps/vcron
# crontab /etc/crontab
Non dimenticate di aggiungere il vostro *cron all'appropriato init level.
# rc-update add *cron default

Per maggiori informazioni sui programmi e daemon che partono al boot, date un'occhiata alla guida rc-scripts.

16. Installazione di altri pacchetti necessari

Se avete bisogno di rp-pppoe per connettervi alla rete, siate consci che a questo punto non è stato ancora installato. Potrebbe essere una buona cosa farlo ora.

Esempio 51: Installazione di rp-pppoe

# USE="-X" emerge rp-pppoe

Nota: Con l'impostazione USE="-X" impediamo che pppoe installi l'interfaccia grafica opzionale, il che è una buona cosa in quanto verrebbe installato anche l'ambiente grafico X con tutte le sue dipendenze. Potrete sempre ricompilare rp-pppoe con il supporto X in seguito.

Nota: Notate che adesso rp-pppoe è installato ma non configurato. Dovrete configurarlo usando adsl-setup dopo aver riavviatoGentoo per la prima volta.

Potreste aver bisogno di installare pacchetti addizionali nel Portage tree, se state usando ad esempio XFS, ReiserFS o LVM. Per XFS, dovreste installare il pacchetto xfsprogs:

Esempio 52: Installazione dei tools per i filesystem

# emerge sys-apps/xfsprogs
Se state usando ReiserFS, dovreste installare i tool di ReiserFS:
# emerge sys-apps/reiserfsprogs
Se state usando JFS, dovreste installare i tools JFS:
# emerge jfsutils
Se invece state usando LVM, dovreste installare il pacchetto lvm-user:
# emerge sys-apps/lvm-user

Se state usando un laptop e volete usare gli slot PCMCIA al vostro primo reboot, dovrete installare il pacchetto pcmcia-cs.

Esempio 53: Emerge pcmcia-cs

# emerge sys-apps/pcmcia-cs

Attenzione: Dovrete reinstallare pcmcia-cs dopo l'installazione per far si che PCMCIA lavori correttamente.

17. Modifica di /etc/fstab per la vostra macchina

Il vostro sistema Gentoo Linux è ormai pronto all'uso. Tutto ciò di cui abbiamo bisogno è di configurare alcuni importanti file di sistema e installare il GRUB boot loader. Il primo file che abbiamo bisogno di configurare è /etc/fstab. Ricordate che se avete scelto una partizione di avvio di tipo ReiserFS dovrete aggiungere una opzione notail. Ricordatevi inoltre di specificare il tipo di filesystem appropriato per ogni partizione (ext2, ext3 o reiserfs).

Usate qualcosa tipo l' /etc/fstab mostrato sotto, ma naturalmente sostituite "BOOT", "ROOT" e "SWAP" con i block device che avete scelto di usare (hda1, hda2, ecc.).

Esempio 54: Configurazione dell'fstab


# /etc/fstab: static file system information.
#
# noatime turns of atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency). It's safe to drop the noatime options if you want and to
# switch between notail and tail freely.

# <fs>          	<mountpoint>    <type>  	<opts>
<dump/pass>
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/BOOT		/boot	        ext2		noauto,noatime	1 2
/dev/ROOT		/	        ext3		noatime		0 1
/dev/SWAP		none            swap		sw		0 0
/dev/cdroms/cdrom0	/mnt/cdrom	iso9660		noauto,ro	0 0
proc			/proc           proc		defaults	0 0

Attenzione: Notate che /boot NON è montato al boottime. Questo per proteggere i dati in /boot dal pericolo di corruzione. Se avete bisogno di accedere a /boot ricordatevi di montarlo!

Diamo una password a root 

Prima di dimenticarcene, diamo una password a root digitando:

Esempio 55: Cambiamo la password di root

# passwd

Vorrete anche aggiungere un altro utente, oltre a root, per un uso quotidiano. Per questo consultate le FAQ di Gentoo.

Impostiamo il nome della macchina 

Create questo file in modo da contenere il nome di dominio "fully-qualified" della vostra macchina, su una singola riga, p.e. nomemacchina.nomedominio.it.

Esempio 56: Impostare l'hostname

# echo nomemacchina.nomedominio.it > /etc/hostname

Modifichiamo /etc/hosts 

Questo file contiene una lista di indirizzi IP associati al relativo hostname. E' usato dal sistema per risolvere indirizzi IP di macchine che possono non essere sul vostro DNS server. Segue un esempio di questo file:

Esempio 57: Editare il file /etc/hosts

127.0.0.1      localhost
# la prossima riga contiene l'IP della vostra macchina associato al suo nome
192.168.1.1    nomemacchina.nomedomimio	 nomemacchina

Nota: Se siete in una rete DHCP, potrebbe essere utile impostare localhost col nome attuale della macchina. Questo aiuterà GNOME e altri programmi nella risoluzione dei nomi.

Configurazione finale della rete 

Aggiungete il nome di ogni modulo necessario per il corretto funzionamento del vostro sistema in /etc/modules.autoload (potete anche aggiungere le opzioni necessarie sulla stessa riga). Alla partenza di Gentoo Linux, questi moduli verranno automaticamente caricati. Particolarmente importanti sono i moduli relativi alla scheda di rete (naturalmente se li avete compilati come moduli ;-)):

Esempio 58: /etc/modules.autoload


	Assumendo che stiate usando una scheda di rete 3COM. Controllate
	/lib/modules/`uname -r`/kernel/drivers/net per la
	vostra scheda.

3c59x

Editate lo script /etc/conf.d/net affinché la rete sia configurata per il primo avvio:

Esempio 59: Configurare la rete in modo permanente

# nano -w /etc/conf.d/net
# rc-update add net.eth0 default

Se aveste più schede di rete necessiterete di aggiungere altri script net.ethx per ognuna (x = 1, 2, ...):

Esempio 60: Interfacce di rete multiple

# cd /etc/init.d
# cp net.eth0 net.ethx

# rc-update add net.ethx default

Se avete una scheda PCMCIA installata, date una rapida occhiata a /etc/init.d/pcmcia per verificare se è conforme alle vostre esigenze e aggiungete le righe seguenti in testa al file /etc/init.d/net.ethx:

Esempio 61: Aggiungiamo dipendenze PCMCIA in /etc/init.d/net.ethx

depend() {
	need pcmcia
}
	

In questo modo i driver pcmcia verranno caricati automaticamente ogni volta che verrà avviata la rete.

18. Ultimi passi: configurazioni di base (includendo l'impostazione per la mappatura internazionale della tastiera)

Esempio 62: Configurazione di base

# nano -w /etc/rc.conf

Dando una scorsa al file troverete diverse variabili che inizializzano alcune configurazioni di base. Vorrete essere sicuri che CLOCK sia quello voluto. Per usare tastiere con layout diverso da quello americano potrete impostare la variabile KEYMAP (cercate in /usr/share/keymaps le possibilità).

19. Configurazione di un bootloader

Note 

Nello spirito di Gentoo, gli utenti possono ora scegliere tra più di un bootloader. Usando il nostro "virtual package system", gli utenti possono scegliere sia GRUB che LILO come loro bootloader.

E' chiaro che non è necessario avere entrambi i bootloader installati. Infatti potrebbe essere un ostacolo, vi consigliamo di sceglierne uno solo.

Importante: Se state installando Gentoo Linux su un sistema con una scheda video GeForce integrata con chipset NVIDIA nForce o nForce2, dovreste usare LILO ed evitare GRUB. Con l'abilitazione del video on-board, l'area di memoria (low memory) della vostra RAM può essere usata come RAM video. Dato che anche GRUB usa la stessa area di memoria al momento del boot, si può verificare una condizione di "out of memory". Così se avete una nForce o potenzialmente altre schede on-board video, usate LILO. Oltretutto se state usando schede video off-board, potrebbe essere simpatico avere la possibilità di rimuovere la scheda video e usare quella on-board in caso di bisogno, non è vero? :)

Configurazione di GRUB 

La parte più critica per capire la configurazione di GRUB è familiarizzare con la notazione che GRUB usa per definire i dischi e le partizioni. La partizione Linux /dev/hda1 è chiamata (hd0,0) sotto GRUB. Nota che le parentesi che racchiudono hd0,0 sono richieste. I dischi vengono contati a partire da zero invece che da "a" e le partizioni partono da zero invece che da uno. Dovrete essere consapevoli che con periferiche hd sono contati solo i dischi rigidi e non periferiche atapi-ide come cdrom e masterizzatori e che lo stesso costrutto vale anche per periferiche SCSI. (Di solito queste prendono numeri alti rispetto a periferiche ide a eccezione di quando il bios è configurato per fare il boot da device SCSI). Così facendo finta che abbiate un disco su /dev/hda, un lettore cdrom su /dev/hdb, un masterizzatore su /dev/hdac e un secondo disco su /dev/hdd e nessun disco SCSI, la partizione /dev/hdd7 diventa (hd1,6). Tutto questo potrebbe suonare complicato, ed è effettivamente così, ma come vedrete, grub offre un meccanismo di completamento col tasto TAB, che diviene funzionale per coloro che hanno un notevole numero di dischi e partizioni e sono un po' smarriti con lo schema numerico del grub. Avendo preso coscienza di questo, è il momento di installare GRUB. Appena avrete preso confidenza con questa notazione, potrete convertire le partizioni di boot e root in un formato comprensibile a GRUB e scriverle nel suo file di configurazione. Proviamo quindi a installare GRUB.

La via più breve per installare GRUB è semplicemente digitare grub al prompt:

Esempio 63: Installare GRUB

# emerge grub
# grub

Importante: Questa parte non funzionerà  se state usando hardware RAID. Saltate alla sezione sulla creazione del file grub.conf. Dopodiché completerete il setup di grub per i controller RAID.

Vi verrà  presentato il "grub command-line prompt: grub>. Ora dovrete digitare i giusti comandi per installare il record di boot del GRUB nel vostro disco. Nel mio esempio, io voglio installare il record di boot nell'MBR (master boot record) del mio disco rigido, in modo tale da vedere il GRUB prompt a ogni riavvio del mio computer. Nel mio caso i comandi che devo digitare sono:

Esempio 64: Installazione di GRUB nell'MBR

grub> root (hd0,0)
// La mia partizione di boot
grub> setup (hd0)
// Dove viene installato il boot record, in questo caso
nell'MBR

Esempio 65: Installazione di GRUB non nell'MBR

Alternativamente, potrete installare il grub su qualche altra partizione oltre che nell'MBR
grub> root (hd0,0)
// La partizione di boot
gurb> setup (hd0,4)
// Dove viene installato il boot record, in questo caso la partizione /dev/hda5
grub> quit

Come funzionano i comandi. Il primo comando root ( ) dice a GRUB la locazione della partizione di boot (nel nostro esempio /dev/hda1 o (hd0,0) nella terminologia GRUB. Il secondo comando setup ( ) dice a GRUB dove installare il record di boot e sarà configurato per cercare i suoi file di configurazione nella locazione root ( ) che avete specificato. Nel mio caso, voglio che il record di boot sia installato nell'MBR del disco rigido, così specificherò semplicemente /dev/hda (anche conosciuto come (hd0)). Se sto usando un altro boot loader e voglio installare GRUB come boot loader secondario, avrei dovuto installare il GRUB nel record di boot di una particolare partizione. In questo caso avrei dovuto specificare una particolare partizione invece dell'intero disco. Una volta che il GRUB è stato installato con successo, potete uscire dal GRUB digitando quit.

Nota: Il meccanismo completamento (TAB) del grub può essere usato all'interno del grub. Supponiamo che abbiate scritto root ( se ora premete il tasto TAB, vi dovrebbe essere mostrata una lista di periferiche disponibili (non solo dischi), ripremendo il tasto TAB dopo aver scritto root (hd, grub vi dovrebbe mostrare solo i dischi e ripremendo il TAB dopo aver scritto root (hd0, dovreste avere la lista delle partizioni del primo disco. Il controllo della sintassi con cui il grub definisce le partizioni unito al completamento dovrebbe aiutarvi a fare le giuste scelte.

L'installazione di Gentoo è ora completa, dobbiamo solo creare il file /boot/grub/grub.conf che dovrebbe mostrare un menu quando il sistema viene riavviato.

Importante: Per assicurare un compatibilità con le versioni precedenti, vi consigliamo di creare un link tra grub.conf e menu.lst. Potete farlo digitando ln -s /boot/grub/grub.conf /boot/grub/menu.lst.

Creiamo il file grub.conf (nano -w /boot/grub/grub.conf), e aggiungiamo le seguenti righe:

Esempio 66: Esempio di grub.conf

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux
root (hd0,0)
kernel (hd0,0)/boot/bzImage root=/dev/hda3

 # Seguono le instruzioni per usare l'hardware RAID
title=Gentoo Linux su RAID
root (hd0,0)
kernel (hd0,0)/boot/bzImage root=/dev/ataraid/dXpY

 # Seguono le istruzioni per coloro che necessitano di un dual-boot
title=Windows XP
root (hd0,5)
cavetenloader (hd0,5)+1

Nota: (hd0,0) deve essere scritto senza spazi tra le parentesi.

Importante: Se avete configurato l'emulazione SCSI per un masterizzatore IDE, per renderlo attivo avrete bisogno di aggiungere un "hdx=ide-scsi" alla linea del kernel nel menu.lst (dove "hdx" dovrebbe essere il device del vostro masterizzatore).

Dopo aver salvato il file, l'installazione di Gentoo Linux è completa. Selezionando la prima opzione diciamo al GRUB di fare il boot con Gentoo Linux. La seconda parte del file grub.conf è opzionale, mostra solo come usare GRUB per fare il boot anche con partizioni Windows.

Nota: (hd0,0) dovrebbe puntare alla vostra partizione "boot" (/dev/hda1 nel nostro esempio) e /dev/hda3 dovrebbe puntare al filesystem root. La partizione (hda0,5) contiene il boot loader di NT.

Nota: Il percorso dell'immagine del kernel è relativa alla partizione /boot. Se per esempio avete la partizione /boot (hd0,0) separata dalla root (/) (hd0,1), tutti i percorsi del grub.conf diverrebbero /bzImage.

Ancora, se avete bisogno di passare delle opzioni al kernel, aggiungetele semplicemente alla fine del comando kernel. Stiamo già  passandogli un'opzione (root=/dev/hda3), ma possiamo passargliene delle altre. In particolare potreste disabilitare il supporto per il devfs (non è raccomandato a meno che non sappiate cosa state facendo) aggiungendo l'opzione gentoo=nodevfs al comando kernel.

Nota: A differenza delle prime versioni di Gentoo Linux, non è più necessario aggiungere devfs=mount alla fine della riga kernel per abilitare il devfs. Nelle nuove versioni è abilitato per default.

Configurare il LILO 

Mentre GRUB può essere una nuova alternativa per molte persone, non è sempre la scelta migliore. LILO, il LInuxLOader, è il più provato e un vero cavallo da soma dei bootloader di Linux. Ecco come installare LILO se lo volete usare al posto di GRUB:

Il primo passo è installarlo:

Esempio 67: Emerge LILO

# emerge lilo

Ora è il momento di configurare LILO. Ecco qui un esempio del file di configurazione lilo.conf.

Esempio 68: Esempio di lilo.conf

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
lba32
default=linux

image=/boot/vmlinuz-2.4.20
	label=linux
	read-only
	root=/dev/hda5

#For dual booting windows/other OS
other=/dev/hda1
	label=dos

  • boot=/dev/hda dice a LILO di installarsi nel primo disco del primo controller IDE.
  • map=/boot/map specifica il file di map. In un normale uso, questo non dovrebbe essere modificato.
  • install=/boot/boot.b dice a LILO di installare il file specificato come nuovo settore di boot. Per un uso normale, questo non dovrebbe essere alterato. Se questa linea è omessa, LILO assumerà un /boot/boot.b di default come file da utilizzare.
  • L'esistenza di prompt dice a LILO di mostrare qualsiasi cosa sia fornito nella linea message. Mentre non è raccomandato che rimuoviate la linea prompt, se lo doveste fare, potreste ancora avere un prompt premendo il tasto [Shift] mentre la vostra macchina fa il boot.
  • timeout=50 imposta il tempo durante il quale LILO aspetterà qualche input prima di procedere con il boot di default. Questo è misurato in decine di secondi, con 50 come default.
  • message=/boot/message si riferisce alla shermata che LILO mostra per permetterti di selezionare il sistema operativo o il kernel da avviare.
  • lba32 descrive la geometria del disco. Un altro parametro comune è linear. Non dovreste cambiare questa linea a meno che non siate veramente sicuri di quello che state facendo. Altrimenti potreste avere un sistema non avviabile.
  • default=linux si riferisce al systema operativo che il LILO avvierà di default con le opzioni che seguono dopo questa linea
  • image=/boot/vmlinuz-2.4.20 specifica il kernel da avviare.
  • label=linux è il nome del sistema operativo visualizzato nella schermata di LILO. In questo caso è anche il nome a cui si riferisce la linea di default.
  • read-only specifica che la partizione di root (vedi la riga seguente) è di sola lettura e non può essere alterata durante il processo di boot.
  • root=/dev/hda5 dice al LILO quale partizione del disco deve essere usata come partizione di root.
  • Nota: Un ringraziamento a RedHat.com per queste informazioni.

    Dopo avere editato il nostro lilo.conf, è il momento di eseguire LILO per caricare queste informazioni nell'MBR:

    Esempio 69: Eseguire LILO

    # /sbin/lilo
    

    LILO è configurato e ora la tua macchina è pronta per l'avvio di Gentoo Linux!

    20.Creazione dei dischi di avvio

    I dischi di avvio di GRUB 

    E' sempre una buona idea creare un dischetto di avvio la prima volta che installiamo una qualsiasi distribuzione Linux. Questa è una sicurezza e generalmente non è una cattiva idea. Se state usando qualche tipo di hardware RAID, potreste avere necessità di creare un disco di avvio di GRUB. Con questi tipi di hardware RAID non è possibile installare grub dalla shell dalla quale si è fatto "chroot". Se questo è il vostro caso, create un disco di avvio di GRUB e quando riavviate la prima volta potrete installare GRUB nell'MBR. Create il vostro disco di avvio in questo modo:

    Esempio 70: Creare un disco di avvio di GRUB

    # mke2fs /dev/fd0# mount /dev/fd0 /mnt/floppy
    # mkdir -p /mnt/floppy/boot/grub
    # cp /usr/share/grub/i386-pc/stage1 /mnt/floppy/boot/grub/
    # cp /usr/share/grub/i386-pc/stage2 /mnt/floppy/boot/grub/
    # umount /mnt/floppy
    # grub
    
    grub> root (fd0)
    grub> setup (fd0)
    grub> quit
    

    Ora riavviate e al prompt del grub (da floppy), potrete eseguire i necessari comandi root e setup.

    I dischi di avvio di LILO 

    Anche se state usando LILO è una buona idea creare un disco di avvio:

    Esempio 71: Creare un disco di avvio di LILO

    # dd if=/boot/your_kernel of=/dev/fd0 
    Questo è possibile solo con kernel più piccoli di 1.4MB
    

    21. L'installazione è completa!

    Gentoo Linux è installato. Rimane solo da uscire dalla shell, fare l'umount delle partizioni e riavviare il sistema:

    Esempio 72: Riavviare il sistema

    # etc-update
    # exit
    // questo per uscire dalla shell; potreste anche digitare ^D
    # cd / 
    # umount /mnt/gentoo/boot
    # umount /mnt/gentoo/proc
    # umount /mnt/gentoo
    # reboot
    

    Nota: Dopo il riavvio, è una buona idea eseguire il comando update-modules per creare il file /etc/modules.conf. Invece di modificare questo file direttamente, dovreste generalmente applicare le modifiche al file /etc/modules.d.

    Importante: Ricordate che se state usando hardware RAID, dovreste usare il disco di avvio per il primo reboot e fare i passaggi per installare il grub nell'MBR. Se l'avete già fatto, congratulazioni.

    Se avete qualche domanda o vi piacerebbe essere coinvolti con gli sviluppatori di Gentoo Linux, considerate di unirvi alle nostre mailing lists gentoo-user e gentoo-dev (c'è un link "click to subscribe" nel sito ufficiale). Abbiamo anche una comoda guida Desktop configuration guide che vi aiuterà a continuare nel configurare il vostro nuovo sistema Gentoo Linux per la parte grafica e un' utile guida Portage user guide che vi aiuterà  a familiarizzare con il sistema Portage. Potrete trovare il resto della documentazione Gentoo qui. Se avete altre domande che riguardano l'installazione o qualsiasi altra cosa in merito, leggete le FAQ di Gentoo Linux. Benvenuti in Gentoo Linux!

    22. Gentoo-Stats

    Il programma per le statistiche di utilizzo di Gentoo Linux è partito come tentativo di dare agli sviluppatori un modo per capire chi sono gli utilizzatori di base. Il programma raccoglie informazioni circa l'uso di Gentoo Linux e ci aiuta a dare una priorità alle fasi di sviluppo. L'installazione è completamente opzionale ma vi saremmo grati se decideste di farla. Le statistiche possono essere viste su http://stats.gentoo.org/

    Il server gentoo-stats assegnerà  un ID univoco al vostro sistema. Questo ID sarà usato per assicurare che ogni sistema sia contato una sola volta. Questo ID non sarà  usato per identificare individualmente il vostro sistema e nemmeno per identificare il vostro IP o altre informazioni personali. E' stata presa ogni precauzione per assicurare la vostra privacy nel sistema di sviluppo. Ecco le cose che vengono monitorare dal programma "gentoo-stats":

    • pacchetti installati e la loro versione
    • informazioni sulla CPU: velocità  (MHz), marca, modello, CPU flag (come "mmx" o "3dnow")
    • informazioni sulla memoria (RAM fisica totale disponibile, spazio di swap totale disponibile)
    • schede PCI e chipset delle schede di rete
    • il profilo Gentoo Linux che sta usando la vostra macchina (cioè dove sta puntando il link /etc/make.profile).

    Siamo consapevoli che la conoscenza di informazioni sensibili è un pericolo per molti utenti Gentoo Linux (così come lo è per gli sviluppatori).

    • A meno che non lo modifichiate, il programma gentoo-stats non trasmetterà informazioni sensibili come password, dati di configurazione, taglia delle scarpe...
    • La trasmissione del vostro indirizzo di email è opzionale ed è disabilitato di default.
    • L'indirizzo IP che origina la trasmissione dei vostri dati non verrà  mai registrato per potervi identificare. Non c'è l'accoppiata "indirizzo IP/ID del sistema".

    L'installazione è semplice, dovete solo eseguire i seguenti comandi:

    Esempio 73: Installare gentoo-stats

    # emerge gentoo-stats
    // Installa gentoo-stats
    # gentoo-stats --new
    // ottiene il nuovo ID del sistema
    

    Il secondo comando richiederà un nuovo ID per il vostro sistema ed entrerà automaticamente dentro /etc/gentoo-stats/gentoo-stats.conf. Potete dare un'occhiata a questo file per vedere le opzioni di configurazione aggiuntive.

    Il programma dovrebbe quindi essere eseguito a cadenza regolare (gentoo-stats non dovrebbe essere eseguito come root). Aggiungete questa riga al vostro crontab:

    Esempio 74: Aggiungere gentoo-stats al cron

    0 0 * * 0,4 /usr/sbin/gentoo-stats --update > /dev/null
    

    Il programma gentoo-stats è un semplice script perl che può essere visto usando il vostro editor preferito.



    Ultimo aggiorn.:
    6 Maggio 2003
    Daniel Robbins
    Supervisore

    Chris Houser
    Autore Originale

    Jerry Alexandratos
    Autore Originale

    Grant Goodyear
    Revisione

    John P. Davis
    Aggiornamento

    Pierre-Henri Jondot
    Aggiornamento

    Eric Stockbridge
    Aggiornamento

    Rajiv Manglani
    Aggiornamento

    Jungmin Seo
    Aggiornamento

    Stoyan Zhekov
    Aggiornamento

    Jared Hudson
    Aggiornamento

    Colin Morey
    Aggiornamento

    Jorge Paulo
    Aggiornamento

    Carl Anderson
    Aggiornamento

    Sven Vermeulen
    Aggiornamento

    Enrico Morelli
    Traduttore

    Team Italiano
    Traduttore

    Sommario: Queste instruzioni vi guideranno attraverso il processo di installazione di Gentoo Linux 1.4_rc4. L'installazione di Gentoo Linux supporta vari tipi di approcci a seconda di quanto volete che il vostro sistema sia costruito da zero.
    - 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.