|
1.
Installazione di uno stage
Impostare la data e l'ora
Prima di continuare è necessario controllare la data e l'ora ed aggiornarle. Un
orologio impostato male può portare problemi in futuro.
Per visualizzare l'ora e la data attuali eseguire date:
Codice 1.1: Verificare la data e l'ora |
# date
Tue Jan 17 12:59:00 UTC 2012
|
Se la data o l'ora fossero errate, è possibile aggiornarle utilizzando il
comando date MMDDhhmmCCYY ( dove M è il mese, D è il
giorno, h l'ora, m il minuto, C il secolo e Y
l'anno). A questo punto è consigliabile impostare l'ora UTC, è possibile
regolare il fuso orario (timezone) in seguito. Ad esempio per impostare la data
al 17 gennaio 2012 e l'ora alle 12:59:
Codice 1.1: Impostare data e ora in UTC |
# date 011712592012
|
La scelta
Il passo successivo consiste nell'installazione dello stage3 sul sistema.
È possibile sia scaricare l'archivio tar da internet, sia, se il sistema è stato
avviato da un CD di Installazione Universale, copiarlo dal disco stesso. Nella
maggior parte dei casi lanciare il comando uname -m può essere utile per
capire che tipo di stage è necessario utilizzare.
I CD minimali ed i LiveDVD di installazione non contengono alcun archivio
stage3.
1.
Predefinito: Scaricare lo stage da Internet
Scaricare lo stage
Andare al punto sul quale si è montato il filesystem (molto probabilmente
/mnt/gentoo):
Codice 1.1: Andare al punto di mount di Gentoo |
# cd /mnt/gentoo
|
Secondo la modalità di installazione scelta sono disponibili un paio di strumenti per
scaricare lo stage. Se si ha links, allora si può visitare immediatamente
la lista dei mirror di Gentoo e scegliere
un mirror vicino: digita links http://www.gentoo.org/main/en/mirrors.xml
e premi invio.
Se non si dispone di links, si dovrebbe poter almeno contare su
lynx. Se è necessario un proxy, espostare le variabili http_proxy
e ftp_proxy:
Codice 1.1: Impostare i proxy per lynx |
# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"
|
D'ora in poi si suppone che l'utente utilizzi links.
Selezionare un mirror vicino; generalmente uno di tipo HTTP è sufficente ma sono
anche disponibili mirror che utilizzano protocolli differenti.
Spostarsi nella directory ${release-dir}. Si dovrebbero
vedere tutti gli stage disponibili per l'architettura desiderata, eventualmente suddivisi
in sottodirectory a seconda della sottoarchitettura. Selezionarne uno e premere
D per scaricarlo. Quando si è finito, premere Q per chiudere il
browser.
Codice 1.1: Cercare i mirror con links |
# links http://www.gentoo.org/main/en/mirrors.xml
# links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml
|
Assicurarsi di scaricare un archivio stage3, le installazioni con stage1
o stage2 non sono più supportate.
Se si desidera controllare l'integrità dello stage scaricato, usare
md5sum e confrontare l'output con il checksum MD5 fornito sul mirror. Ad
esempio per controllare la validità di un pacchetto x86:
Codice 1.1: Controllare l'integrità di un tarball dello stage |
# md5sum -c ${stage3}.DIGESTS
${stage3}: OK
|
Estrazione dello stage
Decomprimere ora lo stage nel sistema. Utilizzare l'utility tar per
procedere poichè risulta essere il metodo più facile:
Codice 1.1: Estrazione dello stage |
# tar xvjpf stage3-*.tar.bz2
|
Assicurarsi di usare le stesse opzioni (xvjpf). La x sta per
Estrarre, la v per Verbose e mostra ciò che accade nel
processo di estrazione (opzionale), la j per Decomprimere con
bzip2, la p per Conservare i permessi e la f per
denotare che si vuole estrarre un file, non un input standard.
Ora si è pronti per procedere con la prossima sezione riguardante come Installare Portage.
1.
Installazione di Portage
Estrarre lo snapshot di Portage
Ora è necessario procedere all'installazione dello snapshot di Portage: si
tratta di un archivio che contiene tutto il software che è possibile installare
con le relative informazioni.
Scaricare ed installare uno snapshot di Portage
Posizionarsi nella directory in cui si è montato il filesystem (di solito
/mnt/gentoo):
Codice 1.1: Posizionarsi sul punto di mount |
# cd /mnt/gentoo
|
Avviare links (o lynx) e recarsi alla lista dei mirror Gentoo. Scegliere poi un
mirror vicino ed entrare nella directory snapshots/. Scaricare
l'ultimo snapshot di Portage (portage-latest.tar.bz2) selezionando
il file e premendo D.
Codice 1.1: Visitare la lista dei mirror |
# links http://www.gentoo.org/main/en/mirrors.xml
|
Uscire dal browser premendo Q. Al momento si è in possesso di uno
snapshot di Portage in /mnt/gentoo.
Se si desidera verificare l'integrità dello snapshot scaricato, è possibile
utilizzare il comando md5sum e confrontarne l'output con il checksum MD5
fornito sul mirror.
Codice 1.1: Controllo di integrità su uno snapshot di Portage |
# md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK
|
Il passo successivo consiste nell'estrarre l'archivio sul filesystem. Digitare
il comando esattamente come indicato, l'ultima è una C maiuscola, non una
c.
Codice 1.1: Estrazione dello snapshot di Portage |
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
|
1.
Configurare le opzioni di compilazione
Introduzione
Per ottimizzare Gentoo, si possono impostare alcune variabili che hanno effetto
sul comportamento di Portage. Tutte queste variabili possono essere impostate
come variabili di ambiente (usando export), ma non in modo permanente.
Per mantenere le impostazioni, Portage fornisce il file di configurazione
/etc/make.conf. È il file da modificare adesso.
Nota:
Un elenco commentato di tutte le variabili possibili si trova in
/mnt/gentoo/usr/share/portage/config/make.conf.example. Ma per una
installazione di Gentoo è soltanto necessario impostare le variabili che sono
menzionate sotto.
|
Utilizzare il proprio editor preferito (in questa guida si usa nano) per
poter cambiare le variabili di ottimizzazione che di cui si sta trattando.
Codice 1.1: Aprire /etc/make.conf |
# nano -w /mnt/gentoo/etc/make.conf
|
Come è evidente, il file make.conf.example è strutturato in modo
molto semplice: le righe commentate iniziano con "#", le altre righe definiscono
le variabili, usando la sintassi VARIABILE="valore". Molte di queste
variabili vengono trattate in seguito.
CFLAGS e CXXFLAGS
Le variabili CFLAGS e CXXFLAGS definiscono le opzioni di
ottimizzazione per i compilatori C e C++ rispettivamente di gcc. Anche
se qui vengono definite in generale, le massime prestazioni si ottengono quando
si impostano le variabili separatamente per ogni programma perchè ogni
programma è differente.
In make.conf si dovrebbero definire le impostazioni di
ottimizzazione che si ritiene possano rendere il sistema più reattivo in
generale. Non mettere impostazioni sperimentali in questa variabile; troppa
ottimizzazione può far funzionare male i programmi (crash, o peggio ancora,
malfunzionamento).
Non vengono spiegate tutte le possibili opzioni di ottimizzazione. Chi volesse
conoscerle, legga il Manuale Online
GNU o la pagina di informazioni gcc (info gcc funziona solo
su un sistema Linux). Lo stesso file make.conf.example contiene
molti esempi e informazioni da consultare.
Una prima impostazione è la flag -march= o -mtune= , che specifica
il nome dell'architettura. Le possibili opzioni sono descritte nel file
make.conf.example (come commenti).
Una seconda impostazione è la flag -O (o maiuscola, non zero), che
specifica la classe di ottimizzazione di gcc. Possibili classi sono
s (per ottimizzazioni sulla dimensione), O (per nessuna
ottimizzazione), 1, 2 o perfino 3 per ulteriori
ottimizzazioni sulla velocità (ogni classe ha le stesse flag di quella
precedente, più alcune aggiuntive). -O2 è quanto viene raccomandato come
impostazione predefinita. È risaputo che l'ottimizzazione -O3 causa gravi
problemi se usata a livello globale nel sistema, pertanto si consiglia vivamente
di rimanere fermi all'ottimizzazione -O2.
Un'altra flag di ottimizzazione molto usata è -pipe (vengono usate le
'pipe' piuttosto che i file temporanei, per la comunicazione tra le varie fasi
di compilazione). Non ha impatto sul codice generato, ma usa della memoria
aggiuntiva. In alcuni sistemi con poca memoria, gcc potrebbe venire interrotto
generando degli errori; in tal caso, non usare questa flag.
L'utilizzo di -fomit-frame-pointer (che non tiene il puntatore al frame
per funzioni che non ne hanno bisogno) potrebbe avere serie ripercussioni nel
caso sia necessario effettuare il debug dell'applicazione.
Quando si definiscono CFLAGS e CXXFLAGS, si dovrebbero mettere
insieme molte flag di ottimizzazione. I valori predefiniti contenuti nello
stage3 che si è decompresso dovrebbero essere già sufficienti. Il seguente è
solo un esempio:
Nota:
Si consiglia inoltre di leggere la Guida all'Ottimizzazione della
Compilazione per ulteriori informazioni su come le varie opzioni di
compilazione possono influenzare il proprio sistema.
|
MAKEOPTS
Con MAKEOPTS si definisce quante compilazioni parallele possono essere
eseguite durante l'installazione di un pacchetto. Una buona scelta è il numero
di CPU (o i core della/e CPU) nel sistema più uno, ma non è detto che sia sempre
l'impostazione migliore.
Codice 1.1: MAKEOPTS per un normale sistema con 1 CPU |
MAKEOPTS="-j2"
|
Pronti
Aggiornare /mnt/gentoo/etc/make.conf in base alle proprie
preferenze, e salvarlo. Si è ora pronti per continuare con l'(Installazione del sistema base Gentoo).
|