# Informazioni pre-installazione

## lorenzot

 :Very Happy:  Salve a tutti,

in quanto niubbo, volevo maggiori informazioni su gentoo e la sua installazione.

Per velocizzare i tempi di compilazione, su cosa devo puntare, dal punto di vista dell'hardware?

Quanto tempo occorre, *circa*, per installare il sistema su un portatile, diciamo, con un Intel Core Duo 1.6/2.0GHz e 1Gb di RAM?

Questo perchè non avendo una connessione veloce, andrei da qualche amico ad installarlo, ma giustamente non posso nemmeno stare a casa sua tutto il giorno   :Razz: 

Questo mi porta alla seconda domanda: avendo appunto una connessione lenta, 64k (ISDN), mi preoccupa un po' l'installazione di software. Escludendo i programmi piu' corposi e l'aggiornamento intero del sistema, che sicuramente non farei con mia linea, per il resto come la vedete?

Grazie a tutti quelli che avranno il buon cuore di rispondermi,

ciao

----------

## Onip

per una compilazione veloce occorrono un buon processore e tanta RAM, in modo da poter compilare direttamente in Ram ( Link) .

Anche se è un argomento per un utente gentoo un po' esperto ti conviene darci un'occhiata, non è difficile da mettere su.

Per non prolungare troppo oltre la presenza a casa dell'amico è molto utile l'opzione -f di emerge. Questa, infatti, fa in modo che emerge scarichi solo i sorgenti dei pacchetti, senza compilarli. Finito il download (controlla per bene USE e i programmi) potrai, in linea di massima, compilarti poi tutto a casa.

esempio

```
# emerge kde-meta -pv
```

ti mostrerà tutti i pacchetti che sarà necessario installare per avere l'intero kde con le loro USE. A questo punto, utilizzando /etc/make.conf e /etc/portage/package.use, potrai sistemare le varie caratteristiche che desideri per ogni pacchetto.

A casa dell'amico ti basta, poi, dare

```
# emerge -f kde-meta
```

e ti verranno scaricati i sorgenti, senza compilare niente (quindi abbastanza velocemente).

Infine, anche a casa tua, potrai dare

```
# emerge kde-meta
```

 per installarti kde senza bisogno di connessione ad internet.

Ti consiglio, però, di leggerti per bene il manuale di installazione di gentoo (meglio quella da linea di comando) da cima a fondo per imparare bene ad entrare nell'ottica gentoo, in modo da fare una buona installazione fin da subito, in modo da evitare ripetuti "scassamenti" al solito amico.

In fine ti consiglio questo topic per potere, successivamente, aggiornare gentoo sfruttando l'adsl altrui   :Wink: 

Byez

p.s. Benvenuto in Gentoo

----------

## djinnZ

Usa la guida ufficiale, è abbastanza chiara e se hai dei dubbi chiedi cosa non ti è chiaro.

Per quanto riguarda i tempi dovrebbero essere necessari un 30/40 minuti per il download dei pacchetti (opzione -F di emerge, non -f). Quanto al compilare, un sistema desktop "carico" su una macchina del genere... diciamo sulle 24 ore totali. (il grosso del tempo lo prende gnome/kde)

Ovviamente puoi scaricare prima tutti i sorgenti e lasciare il pc acceso a compilare.

Se usi la ccache ovviamente la prima compilazione è un poco più lenta rispetto alle successive.

Per velocizzare seriamente potresti pensare di compilare in ram e spero che "l'esperto" ti possa dare ulteriori delucidazioni.

Edit: prima che confermassi ha risposto onip.

----------

## .:deadhead:.

Benvenuto: vedrai che ti troverai bene con gentoo, imparerai un sacco di cose nuove e ti divertirai!

una piccola precisazione: per compilare in ram ti è sufficiente montare in ram la dir /var/tmp/portage 

```
mount -t tmpfs -o size=XXm none /var/tmp/portage
```

 . Così facendo tutte le operazioni avverranno in una partizione virtuale in ram.

----------

## 102376

io monto con mount -t tmpfs -o size=XXm none /var/tmp/portage e poi basta dare il soilito emerge???? siamo sicuri ??

----------

## cloc3

 *zocram wrote:*   

> siamo sicuri ??

 

perché no? Che altro vorresti?

l'unico inconveniente, insito nel metodo di :deadhead:, può riguargare la compilazione di un numero elevato di pacchetti, o il mantenimento prolungato nel tempo del mounting in ram. In certi casi, infatti, si può verificare un ingombro inutile della ram, con pacchetti o file che non servono più (tanto più usando le FEATURES keepwork e keeptemp), fino ad intasarla. Non è raccomandabile, quindi, conservare a lungo il mounting in ram dopo la compilazione, soprattutto su un server che resta acceso per tempi lunghi.

In questo senso, bashrc-ng (il link di Onip) aiuta parecchio, perchè smonta automaticamente ogni singolo pacchetto a compilazione avvenuta.

----------

## lavish

 *lorenzot wrote:*   

> in quanto niubbo [...]

 

Non so quanto convenga suggerire ad un utente alle prime armi con gentoo metodi di compilazione non ufficialmente supportati (ho visto parecchi utenti con problemi "inspiegabili" che hanno risolto tornando a compilare tradizionalmente)

Riguardo al fetch dei sorgenti, si', ti conviene usare l'opzione -F per scaricare tutto e magari compilare in un secondo momento... non pensare che ti occorrano tempi biblici con un dual core comunque  :Wink: 

Ciao e in bocca al lupo!

----------

## Kernel78

 *cloc3 wrote:*   

> Non è raccomandabile, quindi, conservare a lungo il mounting in ram dopo la compilazione, soprattutto su un server che resta acceso per tempi lunghi.

 

Io non ho keepwork e keeptemp tra le mie features e tengo /var/tmp/portage sempre montata in tmpfs e ho uptime di 15-20 giorni.

L'unica accortezza è andare a controllare come mai un emerge si è interrotto e togliere la sporcizia.

Una piccola curiosità, è un po' che non uso più lo script in questione che faceva il mount/umount in ram ma se lo si usava aveva senso tenere keepwork e keeptemp ? (spero di non essere troppo OT)

----------

## cloc3

 *Kernel78 wrote:*   

> 
> 
> Una piccola curiosità, è un po' che non uso più lo script in questione che faceva il mount/umount in ram ma se lo si usava aveva senso tenere keepwork e keeptemp ? (spero di non essere troppo OT)

 

no. chiaramente. se vuoi conservare i dati di compilazione, l'uso di bashrc-ng (e più in generale quello della ram) è una contraddizione implicita.

proprio questo volevo dire.

 *lavish wrote:*   

> 
> 
>  *lorenzot wrote:*   
> 
> in quanto nubbio"
> ...

 

lorenzot ha chiesto spiegazioni relative alla velocità di compilazione.

Onip gli ha risposto fornendo indicazioni ampie, corredate da precisi riferimenti bibliografici, e un invito a darci un'occhiata.

adesso spetta a lui accogliere i suggerimenti nella misura che ritiene adatta alle proprie capacità.

successivamente, è stato zocram a riprendere la discussione su un aspetto secondario.

@lorenzot: aggiungerei una cosa.

relativamente ai download, la linea 64K è un limite che comporta dei problemi. Attualmente, tuttavia, emerge offre una possibilità che aiuta parzialmente:

basta aggiungere in /etc/make.conf l'opzione:

```

FEATURES="parallel-fetch"

```

ti permette di proseguire il download dei sorgenti mancanti durante la compilazione dei pacchetti precedenti. non è una cosa difficile, ma una opzione introdotta per venire incontro a queste situazioni  :Smile:  .

il bello di gentoo è che per ogni problema si trovano infinite soluzioni, a patto di essere disposti a comprendere adeguatamente la documentazione.

----------

## lorenzot

Grazie a tutti per la pronta risposta e il caloroso benvenuto!   :Very Happy: 

Ora vedrò cosa fare, la decisione non è semplicissima.

Ma in fondo gentoo, in quanto a caratteristiche, è la distribuzione che piu' mi aggrada.

L'altra alternativa sarebbe un BSD, ma al momento lo escluderei.

Non resta che incrociare le dita e... vi farò sapere   :Razz: 

Grazie ancora,

ciao

----------

## djinnZ

come al solito mi ero dimenticato una cosa importante:

con l'attuale versione le dipendenze verso java sono quasi tutte verso sun jdk. Il pacchetto lo devi scaricare manualmente per problemi di licenza di redistribuzione.

Non ricordo come sia attualmente la situazione ma la versione di jdk/jre potrebbe non essere esattamente l'ultima corrente (in ogni caso ti consiglio di installare sia il jdk1.4 che l'1.5)

Per velocizzare ulteriormente il sistema ti consiglio di limitarti solo al primo emerge per system, lilo/grub e kernel e poi di lavorare direttamente sul sistame, rispetto alla live senza tmp in ram il tempo, usando la compilazione in ram, dovrebbe ridursi di un quarto.

----------

## lorenzot

Questo fine settimana acquisterò il portatile che accoglierà in grembo la gentoo.

Ho visto che esiste la versione per amd64,il che mi porterebbe anche a considerare l'acquisto di un bel AMD X2 64.

Che voi sappiate questa versione ha un qualsivoglia "problema" (è recente, ha pochi packages, ecc..) per farmi scartare l'idea?

@djinnZ: grazie dell'informazione, aggiungerei azzeccata, perchè uso Java per motivi scolastici  :Wink: 

----------

## Ic3M4n

L'architettura a 64 bit necessita di alcuni accorgimenti in più per far funzionare alcuni programmi tipo flash o mplayer. solitamente devi avere delle librerie di compatibilità verso i 32 bit. è anche vero che nulla ti vieta di prendere un 64 bit e compilarlo e utilizzarlo come un 32.

----------

## djinnZ

 *lorenzot wrote:*   

> Ho visto che esiste la versione per amd64,il che mi porterebbe anche a considerare l'acquisto di un bel AMD X2 64.
> 
> Che voi sappiate questa versione ha un qualsivoglia "problema" (è recente, ha pochi packages, ecc..) per farmi scartare l'idea?

 

Come acquisto l'amd64 è una buona scelta, come impostazione del sistema... attenderei prima di "farmi le ossa" (genericamente su linux, non è un problema gentoo), amd64 come ha detto iceman ha qualche diffcoltà di integrazione tra le librerie a 64 bit e quelle a 32 ed alcuni pacchetti possono essere più ostici da installare per via delle due serie di librerie presenti sul sistema.

Personalmente, sia perchè ho altri computer a 32 e preferisco compilare una sola volta gli aggiornamenti sia perchè non ci sono grandi differenze in termini di prestazioni, preferisco tutto a 32. Quando sarai più pratico puoi sempre migrare a 64 (non è una operazio e facile ma neppure impossibile).

E soprattutto non esagerare con le USE flag.

----------

## !equilibrium

 *djinnZ wrote:*   

> con l'attuale versione le dipendenze verso java sono quasi tutte verso sun jdk. Il pacchetto lo devi scaricare manualmente per problemi di licenza di redistribuzione.

 

non e' piu' cosi' da un bel po.

 *cloc3 wrote:*   

> In questo senso, bashrc-ng (il link di Onip) aiuta parecchio, perchè smonta automaticamente ogni singolo pacchetto a compilazione avvenuta.

 

l'ultima versione di bashrc-ng previene in modo automatico il saturamento di RAM e SWAP, garantendo sempre al sistema un minimo di memoria libera per lavorare ed evitare che imploda su se stesso in caso di compilazioni troppo esose.

----------

## cloc3

 *!equilibrium wrote:*   

> 
> 
> l'ultima versione di bashrc-ng previene in modo automatico ...

 

già. si tratta oramai di una applicazione matura di ottima affidabilità.

già che si è aperta la discussione, la continuo qui dove sta. tanto mi pare che anche così possa essere raccolta da chi di dovere  :Cool:  .

fosse per me, chiederei 3 ulteriori caratteristiche:

1. una opzione per consentire all'utente che lo desidera di smontare automaticamente la ram dopo una eventuale compilazione fallita;

2. una opzione per consentire all'utente che lo desidera di impedire (o meglio incodare automaticamente) eventuali compilazioni lanciate in simultaneo;

3. una opzione per consentire all'utente che lo desidera di evitare l'uso della swap (ahi! qui temo che mi sto facendo un pochino gli affaracci sporchi del kernel. va be', ma da ottimo nubbio, mi vorrete concedere la libertà di pretendere un po' quello che mi pare?).

----------

## !equilibrium

 *cloc3 wrote:*   

> già che si è aperta la discussione, la continuo qui dove sta. tanto mi pare che anche così possa essere raccolta da chi di dovere  .

 

veramente c'e' un thread apposito, sarebbe meglio che le richieste di nuove feature continuassero li'.

 *cloc3 wrote:*   

> fosse per me, chiederei 3 ulteriori caratteristiche:
> 
> 1. una opzione per consentire all'utente che lo desidera di smontare automaticamente la ram dopo una eventuale compilazione fallita;
> 
> 2. una opzione per consentire all'utente che lo desidera di impedire (o meglio incodare automaticamente) eventuali compilazioni lanciate in simultaneo;
> ...

 

la prima e' gia' in essere, luca89 ha fatto uno script shell che provvede a smontare eventuali compilazioni interrotte e mai piu' riprese.

per il resto, in caso fai una richiesta di feature direttamente sul tracker del progetto SF, cosi' le implementiamo.

----------

## lorenzot

Salve ragazzi,

avrei qualche incertezza su come modificare il file make.conf.

Ho acquistato il portatile, ha un Core 2 Duo (Merom se non sbaglio), a 1.6GHz,

la segente configurazione può andare?

```
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j3"
```

Ho letto che in GCC 4.3 posso settare -march a "core2".

Come è meglio procedere?

----------

