Installazione Gentoo · 10 min read · Feb 06, 2026

Il Server Perfetto - Gentoo 2007.0 - Pagina 2

3 Il Sistema di Base

3.1 Avvio del disco di installazione

Inserisci il tuo CD di Installazione Minima Gentoo nel sistema e avvialo. Puoi impostare alcune opzioni al bootloader, ma se lo lasci così com’è, continuerà e avvierà Linux da solo.

Gentoo Install Bootloader

(Verrà impostato per utilizzare una console framebuffer, ma nell’interesse di screenshot più piccoli ho cambiato l’opzione per utilizzare VGA premendo F1 e scegliendo il kernel gentoo-nofb.)

Un carico di testo scorrerà sullo schermo mentre il kernel si avvia e il CD di installazione rileva l’hardware. Poi ti verrà data una scelta di mappatura della tastiera.

Gentoo Install Keymap Select

Se stai usando una tastiera US puoi semplicemente lasciarla, oppure premere Invio e questo prompt scadrà con quella scelta. Vivo in Gran Bretagna, quindi voglio la mappatura della tastiera uk.

Più testo scorre…

Gentoo Installer still booting

Fino a quando non ti ritrovi a un prompt root.

Gentoo Installer at root prompt

Le probabilità sono che abbia trovato un server DHCP durante la rilevazione e sei già connesso a Internet. Tuttavia, vogliamo specificare il nostro indirizzo IP subito, quindi digitiamo,

net-setup eth0

E passiamo attraverso le opzioni come appropriato:

net-setup 1

net-setup 2

net-setup 3

net-setup 4

net-setup 5

net-setup 6

net-setup 7

net-setup 8

net-setup 9

Ora sei tornato al prompt root, come suggerito potresti voler semplicemente verificare che la tua rete sia attiva correttamente.

ifconfig

net-setup complete

E qualsiasi altro comando tu voglia eseguire per soddisfarti di avere una connessione a Internet. Ad esempio (dal Gentoo Handbook):

ping -c 3 www.gentoo.org

Ora imposta temporaneamente il tuo hostname. Lo leggeremo più tardi per automatizzare alcune fasi successive dell’installazione.

hostname server1.example.com

3.2 Accesso all’ambiente di installazione da remoto

Imposta la password di root. Questa è solo per il sistema di installazione, non per il sistema finale installato:

passwd

E avvia sshd:

/etc/init.d/sshd start

Le chiavi host verranno create e il demone sshd verrà avviato. Ora puoi accedere al sistema di installazione dal comfort del tuo solito programma terminale sul tuo computer. Ovviamente, se preferisci, o devi, puoi omettere questo passaggio e continuare a usare la console.

ssh [email protected]

Ovviamente funzionerà solo se server1.example.com si risolve sul tuo sistema.

First remote login

3.3 Configurazione del disco di sistema

Questa parte è probabilmente molto diversa su altre architetture. Fai riferimento al Gentoo Handbook se non sei su x86 o amd64, o se vuoi fare qualsiasi cosa diversa dal layout predefinito suggerito nel manuale x86.

Per partizionare il disco, usa parted. Stiamo per entrare direttamente e impostare lo schema di partizione Gentoo suggerito, e parted ci consente di farlo in un modo che può essere mostrato concisamente in testo:

parted /dev/hda

Riceverai un prompt (parted). A questo prompt inserisci i seguenti comandi:

mklabel msdos  
mkpartfs primary ext2 0 32  
mkpartfs primary linux-swap 32 545  
mkpart primary 545 -0  
set 1 boot on  
print

Dovresti vedere qualcosa di simile:

Disk /dev/hda: 5906MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  32.9MB  32.9MB  primary  ext2         boot 
 2      32.9MB  545MB   512MB   primary  linux-swap        
 3      545MB   5906MB  5361MB  primary                    
(parted) 

Digita quit per uscire e salvare le modifiche.

Abbiamo già creato i filesystem ext2 e swap sulle partizioni 1 e 2, quindi vogliamo solo creare il filesystem ext3 sulla partizione 3.

mke2fs -j /dev/hda3

E attiviamo lo swap per il nostro ambiente di installazione:

swapon /dev/hda2

E montiamo il filesystem su cui stiamo per installare.

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

3.4 Preparare la strada per Stage 3

Conferma che la data e l’ora siano corrette per il tuo sistema. Se non lo sono, le cose possono diventare confuse in seguito.

date
Thu Aug 30 13:58:36 UTC 2007

Che infatti, al momento in cui l’ho fatto, era un po’ sbagliato, quindi correggilo in questo modo:

date 083013542007

Ora dobbiamo scaricare il Tarball Stage 3 e lo snapshot di Portage. Piuttosto che perdere tempo con collegamenti o lynx, usiamo solo alcuni comandi:

mirrorselect --interactive --output > /tmp/mirror

mirrorselect - download mirrors

Seleziona i mirror appropriati per te e seleziona OK. Quando esci, una riga verrà scritta in /tmp/mirror con le tue selezioni. Vogliamo solo il primo, quindi:

source /tmp/mirror   
MIRRORS=($GENTOO_MIRRORS)   
MIRROR=${MIRRORS[0]}   
cd /mnt/gentoo   
wget ${MIRROR}releases/x86/current/stages/stage3-$(arch)-2007.0.tar.bz2 \   
|| wget ${MIRROR}releases/x86/current/stages/stage3-x86-2007.0.tar.bz2   
wget ${MIRROR}snapshots/portage-latest.tar.bz2

Non c’è effettivamente un modo sicuro per determinare le porzioni specifiche dell’architettura dell’URL stage3 sopra, quindi se non sei su x86, fai riferimento al Gentoo Handbook.

Estrai il tarball stage.

tar --extract --verbose --bzip2 --preserve-permissions --file stage3-*.tar.bz2

Estrai lo snapshot di portage.

tar --extract --verbose --bzip2 --file portage-latest.tar.bz2 --directory /mnt/gentoo/usr

Puoi eliminare quei download ora, se hai poco spazio.

rm portage* stage*

Ora, farò qualcosa di quasi eretico per la comunità Gentoo e lascerò intatto etc/make.conf! Quello è il file dove vengono impostate cose come i CFLAGS, e dove puoi impostarlo per essere ottimale come preferisci. Non lo toccherò. Dovresti almeno controllarlo per sanità. Se è insano potresti aver scaricato il file stage sbagliato. In particolare, su x86, il flag -mtune=i686 è impostato per impostazione predefinita anche sul file stage3 x86 semplice, il che potrebbe essere inappropriato se stai installando su hardware vecchio. Ma usando $(arch) speriamo di evitare tali problemi.

vi /mnt/gentoo/etc/make.conf

Stiamo solo per aggiungere alcune informazioni di cui abbiamo bisogno. Innanzitutto, i mirror da cui Gentoo si scaricherà. Abbiamo già recuperato i mirror di download una volta, quindi per risparmiare la scelta di nuovo, prenderemo quella selezione e aggiungeremo una selezione per il mirror rsync.

cat /tmp/mirror >> /mnt/gentoo/etc/make.conf   
mirrorselect --interactive --rsync --output >> /mnt/gentoo/etc/make.conf

mirrorselect - rsync mirrors

Ora copieremo alcune cose in /mnt/gentoo per poter chrootarci dentro e continuare l’installazione. Copiamo anche la configurazione di rete corrente in modo che il sistema installato abbia la stessa cosa. Questo piccolo script scriverà la configurazione attuale di eth0 nel nuovo formato /etc/conf.d/net.

#!/bin/bash
cat /etc/resolv.conf > /mnt/gentoo/etc/resolv.conf
echo "HOSTNAME=\"$(hostname -f)\"" > /mnt/gentoo/etc/conf.d/hostname
eth0=$(ifconfig eth0 | grep "inet addr")
ip=$(echo $eth0 | cut -f2 -d' ' | cut -f2 -d:)
broadcast=$(echo $eth0 | cut -f3 -d' ' | cut -f2 -d:)
netmask=$(echo $eth0 | cut -f 4 -d' ' | cut -f2 -d:)
gw=$(route -n | grep -e '^0.0.0.0' | unexpand -a | cut -f3)
nservers=$(grep -e '^nameserver' /etc/resolv.conf | cut -f2 -d' ')
sdomains=$(grep -e '^search' /etc/resolv.conf | cut -f2- -d' ')
echo 'modules=( "ifconfig" )' > /mnt/gentoo/etc/conf.d/net
echo "config_eth0=( \"${ip} netmask ${netmask} broadcast ${broadcast}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "routes_eth0=( \"default via ${gw}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "dns_domain_eth0=\"$(hostname -d)\"" >> /mnt/gentoo/etc/conf.d/net
echo "dns_servers_eth0=\"${nservers}\"" >> /mnt/gentoo/etc/conf.d/net
if [ -n "$sdomains" ] ; then echo "dns_search_eth0=\"${sdomains}\"" ; fi >> /mnt/gentoo/etc/conf.d/net

Dopo, /mnt/gentoo/etc/conf.d/net dovrebbe apparire così, con i valori corretti ovviamente.

modules=( "ifconfig" )
config_eth0=( "192.168.1.5 netmask 255.255.255.0 broadcast 192.168.1.255" )
routes_eth0=( "default via 192.168.1.1" )
dns_domain_eth0="example.com"
dns_servers_eth0="192.168.1.1"

Usare questo formato farà sì che lo script di inizializzazione della rete Gentoo utilizzi i dati ivi per scrivere un nuovo /etc/resolv.conf, oltre a configurare la rete stessa, quindi in futuro ci sarà solo un file da mantenere corretto. (Abbiamo copiato il /etc/resolv.conf del sistema di installazione puramente per uso all’interno dell’ambiente chroot fino a quando non avviamo il sistema installato.)

Fatto ciò possiamo completare i preparativi per chroot e entrare.

3.5 Opzionale: Installare temporaneamente vim nell’ambiente Stage3

Il sistema Gentoo Stage 3 non ha vi. Invece, la pratica predefinita è utilizzare l’editor incluso nano. Se preferisci davvero avere vi, fai quanto segue ora:

VIM=$(which vim)   
VIMDIR=$(dirname ${VIM})   
cp --dereference ${VIM} /mnt/gentoo${VIM}   
ln --symbolic ${VIM} /mnt/gentoo$(dirname ${VIM})/vi

(Le librerie di cui dipende sono già in atto.)

Tuttavia, ulteriori istruzioni presupporranno che non lo hai fatto. Se lo hai fatto, sei abbastanza intelligente da sostituire il comando che desideri.

3.6 Entrare nell’ambiente chroot Stage3

mount -t proc none /mnt/gentoo/proc   
mount -o bind /dev /mnt/gentoo/dev   
chroot /mnt/gentoo /bin/bash   
env-update   
source /etc/profile   
export PS1="(chroot) $PS1"

Ora siamo nell’ambiente chrootato, aggiorneremo portage allo stato attuale.

emerge --sync

Se ti preoccupa usare la console della macchina, potresti voler impostare la mappatura della tastiera in /etc/conf.d/keymaps. Altrimenti, puoi anche lasciarla.

nano --nowrap /etc/conf.d/keymaps

Ora impostiamo il nostro fuso orario. Controlla il contenuto di /usr/share/zoneinfo per vedere quale fuso orario utilizzare. (Non modificheremo USE o il make.profile predefinito.) Ad esempio,

cp /usr/share/zoneinfo/Europe/London /etc/localtime

Imposta il fuso orario in /etc/conf.d/clock. Imposta semplicemente la variabile TIMEZONE su qualsiasi file tu abbia copiato in /etc/localtime in precedenza. Ad esempio,

nano --nowrap /etc/conf.d/clock
TIMEZONE="Europe/London"

(Non dimenticare di decommentare la riga.)

Potresti dover impostare CLOCK su locale. Di solito non è necessario, ma è generalmente necessario se stai installando in VMWare e possibilmente in altri ambienti virtuali.

3.7 Installare il kernel

emerge gentoo-sources

Stiamo per fare un’installazione genkernel, per installare il kernel Gentoo standard. Questo è in parte per semplicità per questo howto. Se ti senti a tuo agio a costruire i tuoi kernel, fallo seguendo le note del Gentoo Handbook nel Capitolo 7.

emerge genkernel   
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6

Il secondo comando copia la configurazione del kernel del disco di installazione per essere il nostro kernel attuale. Se siamo arrivati fin qui, è una scommessa equa che questa configurazione del kernel funzioni per noi.

Qui possiamo accorciare qualcosa e risparmiarci un passaggio più complicato in seguito. Vogliamo aggiungere il supporto per le quote alla configurazione del kernel. Ciò che faremo qui è aggiungerlo al file di modello di configurazione che genkernel utilizza, in modo da non perdere la modifica quando aggiorniamo il kernel.

nano --nowrap /usr/share/genkernel/x86/kernel-config-2.6

Cerca # CONFIG QUOTA is not set e cambialo nel seguente modo (aggiungendo le due righe successive):

CONFIG_QUOTA=y 
# CONFIG_QFMT_V1 is not set 
CONFIG_QFMT_V2=y 

Poi possiamo continuare:

genkernel all

Questo potrebbe richiedere del tempo. Sta costruendo il supporto per tutto. Ho detto che questa sarebbe stata una build Gentoo generica.

Nota; se stai installando su un disco SCSI o SATA, è meglio a questo punto fare invece,

genkernel --menuconfig all

e selezionare il driver a basso livello appropriato per l’interfaccia SCSI o SATA a cui è collegato il disco di sistema, per essere compilato nel kernel monolitico piuttosto che come modulo. Credo che dovrebbe funzionare se non lo fai (caricando il modulo del driver dall’initrd proprio come il disco di installazione), ma al momento sembra di no.

3.8 Configurare i filesystem

nano --nowrap /etc/fstab

Assumendo che tu sia sullo stesso schema di partizione in cui mi trovo, cioè: seguendo questa guida, sostituisci /dev/BOOT con /dev/hda1; /dev/ROOT con /dev/hda3; e /dev/SWAP con /dev/hda2. Il file modificato dovrebbe apparire così:

[...]
#                                           
# NOTA: Se la tua partizione BOOT è ReiserFS, aggiungi l'opzione notail a opts.
/dev/hda1               /boot           ext2            noauto,noatime  1 2
/dev/hda3               /               ext3            noatime         0 1
/dev/hda2               none            swap            sw              0 0
/dev/cdrom              /mnt/cdrom      audo            noauto,ro       0 0
#/dev/fd0               /mnt/floppy     auto            noauto          0 0
[...]

3.9 Avviare la rete all’avvio.

rc-update add net.eth0 default   
rc-update add hostname default

3.10 Installare i servizi di sistema

emerge syslog-ng vixie-cron   
rc-update add syslog-ng default   
rc-update add vixie-cron default

3.11 Bootloader

emerge bootloader

Questo installerà il bootloader predefinito per la tua architettura. Le seguenti istruzioni presuppongono che tu sia su x86 o amd64 e che questo bootloader sia grub. Poiché si tratta di un’installazione ultra-generica per PC, ci limiteremo a scriverlo. Se il resto di questa guida si adatta al tuo sistema, così dovrebbe essere anche questo; altrimenti, fai riferimento al Gentoo Handbook, capitolo 10.

echo -e "default 0\ntimeout 5\n\ntitle=GentooLinux\nroot (hd0,0)" > /boot/grub/grub.conf   
echo "kernel `ls /boot/kernel*` root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev" >> /boot/grub/grub.conf   
echo "initrd `ls /boot/initramfs*`" >> /boot/grub/grub.conf   
grep --invert-match rootfs /proc/mounts > /etc/mtab   
grub-install --no-floppy /dev/hda

3.12 Conclusione e riavvio

rc-update add sshd default   
passwd

E dai una password a root. In questo modo possiamo accedere dopo senza dover andare alla console. Supponendo che tutto abbia funzionato.

Esci dal chroot e riavvia.

exit   
cd   
umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo   
reboot

Ovviamente, potresti dover rimuovere il CD dall’unità. Questo dipenderà dall’ordine di avvio; ma potresti anche liberartene; non è più necessario.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.