[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
5. Copia dei file di installazione di Gentoo
Indice:
5.a. 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.2: Impostare data e ora in UTC |
# date 011712592012
|
La scelta
Il passo successivo consiste nell'installazione dello stage3 sul sistema.
Il comando uname -m può essere utile per capire che tipo di stage è necessario utilizzare, dato che fornisce informazioni sull'architettura del sistema.
I CD minimali ed i LiveDVD di installazione non contengono alcun archivio
stage3.
5.b. Usare lo stage da Internet
Scaricare lo stage
Andare al punto sul quale si è montato il filesystem (molto probabilmente
/mnt/gentoo):
Codice 2.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, esportare le variabili http_proxy
e ftp_proxy:
Codice 2.2: 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 releases/x86/autobuilds/. 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.
La maggior parte degli utenti PC dovrebbero utilizzare lo stage3 stage3-i686-<release>.tar.bz2. Tutti i PC moderni vengono considerati i686. Se si
utilizzasse una macchina più vecchia è possibile consultare la lista dei processori compatibili
i686 su Wikipedia. I processori vecchi come i Pentium, K5, K6, o Via C3 e
simili richiedono il più generico stage3 x86. Processori più vecchi del
486 non sono supportati.
Codice 2.3: 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 (e nella maggior parte dei casi non si trovano più sui mirror).
Se si desidera controllare l'integrità dello stage scaricato, usare
openssl e confrontare l'output con i checksum forniti sul mirror. I
digest file contengono diversi checksum, ciascuno dei quali è stato ottenuto da
un algoritmo specifico. Quelli consigliati sono SHA512 e Whirlpool.
Codice 2.4: Determinare l'integrità dello stage scaricato |
# openssl dgst -r -sha512 stage3-i686-<release>.tar.bz2
# sha512sum stage3-i686-<release>.tar.bz2
# openssl dgst -r -whirlpool stage3-i686-<release>.tar.bz2
|
Ora occorre confrontare l'output dei comandi precedenti con i valori
memorizzati all'interno dei file .DIGESTS, anche questi disponibili sui mirror.
I valori devono corrispondere esattamente, altrimenti il file scaricato potrebbe
essere corrotto (oppure ad essere corrotti sono i digest file).
Estrazione dello stage
Decomprimere ora lo stage nel sistema. Utilizzare l'utility tar per
procedere poichè risulta essere il metodo più facile:
Codice 2.5: 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 Configurare le opzioni di compilazione.
5.c. 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/portage/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 3.1: Aprire /etc/portage/make.conf |
# nano -w /mnt/gentoo/etc/portage/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). Uno dei valori più comunemente
usati è native, che comunica al compilatore di selezionare come
architettura target quella del sistema in uso (quello cioè sul quale si sta
effettuando l'installazione).
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:
Codice 3.2: Definizione delle variabili CFLAGS e CXXFLAGS |
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="${CFLAGS}"
|
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 3.3: MAKEOPTS per un normale sistema con 1 CPU |
MAKEOPTS="-j2"
|
Pronti
Aggiornare /mnt/gentoo/etc/portage/make.conf in base alle proprie
preferenze, e salvarlo. Si è ora pronti per continuare con l'Installazione del sistema base Gentoo.
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|