# Cosa succede quando si interrompe una compilazione?

## davedeth

Inizio chiedendo scusa se rompo sempre le scatole con queste domande un po' stupide, ma per me questa distro è un mondo tutto nuovo da scoprire. Come da titolo vorrei sapere cosa succede quando interrompo una compilazione e poi ne inizio un'altra le dipendenze compilate durante il primo processo che fine fanno? Come si fa a cancellare ciò che è venuto compilato e che, visto che ho interrotto la compilazione e non voglio più portarla avanti, mi potrebbe risultare inutile?

Mi scuso ancora per queste domande un po' da niubbo ma in fondo sono un niubbo che cerca di crescere!

Grazie in anticipo.

----------

## cloc3

 *davedeth wrote:*   

> Inizio chiedendo scusa se rompo sempre le scatole con queste domande un po' stupide

 

 :Question: 

cosa ci sarebbe di stupido?

queste sono le domande fondamentali che ognuno deve farsi quando incomincia ad usare gentoo.

emerge utilizza un meccanismo di protezione, durante la compilazione, chiamato sandbox, che offre completa garanzia in queste situazioni.

la compilazione non avviene nel file system, ma in un ambiente isolato, nella cartella /var/tmp/portage .

Solo al termine di tutte le operazioni e di tutti i controlli predisposti da un preciso protocollo, i file compilati vengono copiati nel file system.

----------

## djinnZ

documentarsi sulle opzioni --resume --skipfirst --depclean di emerge, discussione recentemente già vista... scusa ma sono in vena di fare lo str...

Se poi sei tanto sfigato da interrompere la compilazione (per crash) proprio mentre sta scrivendo su disco il pacchetto appena compilato... emerge -1 nomepacchetto e poi lo cancelli (per il momento è la soluzione più semplice).

Se emerge non riesce ad andare avanti si cancella il registro dell'installazione compromesso, si reistalla sempre il pacchetto e lo si elimina. Operazione molto pericolosa e sconsigliabile se non in casi disperati ed estremi.

Per entrambi i casi bisogna disabilitare collision protect. E ti ripeto che sono soluzioni estreme. Di norma ti basta il --resume e completi.

Se cerchi bene si parla anche di come riprendere in molti casi l'installazione senza buttar via quanto già fatto, anche dell'ultima compilazione.

----------

## davedeth

Tranqui anche a me capita (a volte troppo spesso) di fare lo str....   :Very Happy: 

Comunque l'emerge --resume lo conoscevo già. Quindi portage compila e installa tutto nella sandbox e quando ha finito installa tutto nel filesystem... per caso c'è un modo per fare pulizia nella sandbox?

----------

## Peach

 *davedeth wrote:*   

> Tranqui anche a me capita (a volte troppo spesso) di fare lo str....  
> 
> Comunque l'emerge --resume lo conoscevo già. Quindi portage compila e installa tutto nella sandbox e quando ha finito installa tutto nel filesystem... per caso c'è un modo per fare pulizia nella sandbox?

 

la sandbox di solito sta in /var/tmp/portage.

Considera cmq che portage normalmente quando riprende il processo di emerge di un pacchetto precedentemente interrotto pulisce da solo la sandbox prima di riprendere, una volta completato con successo questa viene ripulita.

Non c'è nessun problema a dare una ripulita a /var/tmp/portage di tanto in tanto, volendo puoi lasciar fare il lavoro a tmpwatch (configurandolo correttamente chiaramente)

----------

## davedeth

Quindi mi tornerà utile emergere sia gentoolkit che tmpwatch.

----------

## !equilibrium

 *Peach wrote:*   

> Non c'è nessun problema a dare una ripulita a /var/tmp/portage di tanto in tanto, volendo puoi lasciar fare il lavoro a tmpwatch (configurandolo correttamente chiaramente)

 

non serve tmpwatch, portage si autopulisce da solo:

 *Quote:*   

> /etc/make.conf
> 
> AUTOCLEAN="yes"
> 
> 

 

----------

## davedeth

Ma con quel comando funziona ancora l'emerge --resume?

----------

## !equilibrium

 *davedeth wrote:*   

> Ma con quel comando funziona ancora l'emerge --resume?

 

il resume non ti fa ripartire la compilazione da dove si è interrotta, fa ripartire emerge dal pacchetto in cui si è fermato

----------

## davedeth

Ma guarda te quante cose si imparano! Domandina: tutte queste belle cose sul portage dove si possono trovare? Esiste una guida facile che elenca i comandi di emerge?

----------

## Peach

 *davedeth wrote:*   

> Ma guarda te quante cose si imparano! Domandina: tutte queste belle cose sul portage dove si possono trovare? Esiste una guida facile che elenca i comandi di emerge?

 

```
 man emerge 
```

e Lavorare con Gentoo

 :Smile: 

----------

## davedeth

Capito... Ma l' AUTOCLEAN="yes" quando entra in funzione? E cancella la sandbox quindi?

----------

