Gentoo Logo

[ << ] [ < ] [ 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/amd64/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.

Codice 2.3: Cercare i mirror con links

# links http://www.gentoo.org/main/en/mirrors.xml

(Se si necessita di proxy in links:)
# 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

## Calcolo del checksum SHA512
# openssl dgst -r -sha512 stage3-amd64-<release>.tar.bz2
oppure
# sha512sum stage3-amd64-<release>.tar.bz2
## Calcolo del checksum Whirlpool
# openssl dgst -r -whirlpool stage3-amd64-<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="-march=k8 -O2 -pipe" # Gli utenti Intel EM64T usino -march=core2
# Usare le stesse impostazioni per entrambe le variabili
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 ] [ > ] [ >> ]


Stampa

Visualizza tutto

Aggiornato il 11 febbraio 2013

La versione originale di questo documento è più recente ed è stata aggiornata il 18 dicembre 2013

Oggetto: L'installazione Gentoo si effettua tramite un file chiamato stage3. Il capitolo tratta dell'estrazione dell'archivio stage3 e della configurazione di Portage.

Sven Vermeulen
Autore

Grant Goodyear
Autore

Roy Marples
Autore

Daniel Robbins
Autore

Chris Houser
Autore

Jerry Alexandratos
Autore

Seemant Kulleen
Sviluppo x86

Tavis Ormandy
Sviluppo Alpha

Jason Huebel
Sviluppo AMD64

Guy Martin
Sviluppo HPPA

Pieter Van den Abeele
Sviluppo PPC

Joe Kallar
Sviluppo SPARC

John P. Davis
Redazione

Pierre-Henri Jondot
Redazione

Eric Stockbridge
Redazione

Rajiv Manglani
Redazione

Jungmin Seo
Redazione

Stoyan Zhekov
Redazione

Jared Hudson
Redazione

Colin Morey
Redazione

Jorge Paulo
Redazione

Carl Anderson
Redazione

Jon Portnoy
Redazione

Zack Gilburd
Redazione

Jack Morgan
Redazione

Benny Chuang
Redazione

Erwin
Redazione

Joshua Kinard
Redazione

Tobias Scherbaum
Redazione

Xavier Neys
Redazione

Joshua Saddler
Redazione

Gerald J. Normandin Jr.
Revisione

Donnie Berkholz
Revisione

Ken Nowack
Revisione

Lars Weiler
Contributi

Marco Mascherpa
Traduzione

Stefano Pacella
Traduzione

Enrico Morelli
Traduzione

Davide Cendron
Traduzione

Sergio Vaccaro
Traduzione

Donate to support our development efforts.

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