# insegnatemi un trucchetto per spazio occupato [risolto]

## lopio

ciao,

la partizione gentoo si ingrossa pericolosamente. Va be' che all'inizio si fa emerge di tutto, va be' che occorrerebbe ogni tanto dare un'occhiata a distfiles pero' ho paura di perdermi qualche file temporaneo che continua ad accumularsi.

So che la domanda e' banale   :Embarassed:    ma come tenete d'occhio facilmente il fs    /   ? 

Avete mica uno scriptino furbo  :Wink:   che controlla le dir temporanee principali?

grazie

ciaoLast edited by lopio on Sun Jan 11, 2004 1:30 pm; edited 1 time in total

----------

## shev

MMmm, di preciso cos'è che non ti piace nel comando "df -h" (man df per maggiori info)? Non lo conosci o non ti basta?

----------

## lopio

 *Shev wrote:*   

> MMmm, di preciso cos'è che non ti piace nel comando "df -h" (man df per maggiori info)? Non lo conosci o non ti basta?

 

ciao,

pensavo di avere qualche suggerimento relativo alle dir da tenere d'occhio assolutamente (e ai formati dei file.....).

Poi se mi dici che df e' tutto cio' che mi serve allora forse vale la pena fare un semplice script per controllare solo tali dir (e/o tali file) invece che  tutto /

grazie

ciao

----------

## gaffiere

df ti dice quanto spazio libero ti rimane sulle intere partizioni (o mi sbaglio?)

potresti usare du (disk usage)  con il comando

```
du -h <nome dir>
```

che ti dice lo spazio occupato da tale directory

----------

## lopio

 *gaffiere wrote:*   

> df ti dice quanto spazio libero ti rimane sulle intere partizioni (o mi sbaglio?)
> 
> potresti usare du (disk usage)  con il comando
> 
> ```
> ...

 

scusa mi son spiegato male (scusa anche a Shev)  ma il comando che volevo usare nello script e' du ma volevo evitare di usarlo su / e volevo indirizzarlo solo su alcune directory e solo per certi tipi di file altrimenti mi tocca spulciarne l'output e  la cosa diventa un po' lunga.

ciao

----------

## randomaze

Fondamentalmente la directory da tenere sotto controllo (per gentoo) sarebbe

```

/usr/portage/distfiles

```

in aggiunta anche la:

```

/usr/share/doc

```

tende a riempirsi, avevo letto da qualche parte che la documentazione non viene normalmente cancellata... ma come ha detto shev ci sono vari topic che puoi controllare per avere conferme  :Wink: 

----------

## lopio

ok

grazie delle dritte.

PS assumo per buono che non ci siano directory tipo /tmp che tendono a riempirsi inverosimilmente   :Wink: 

----------

## gnu-statix

 *lopio wrote:*   

> ok
> 
> grazie delle dritte.
> 
> PS assumo per buono che non ci siano directory tipo /tmp che tendono a riempirsi inverosimilmente  

 

Quando si avvia il sistema leggi con attenzione cosa scrive... noterai alcune scritte, come:

cleaning /var/lock /var/run            [OK]

cleaning /tmp directory...             [OK]

Poi che lo faccia veramente non ho mai controllato, ma mi fido della mia gentoo  :Smile: 

----------

## MyZelF

 *randomaze wrote:*   

> Fondamentalmente la directory da tenere sotto controllo 

 

Aggiungerei anche /tmp e /var/tmp/portage.

Per quanto riguarda l'occupazione delle singole directory, trovo utile lanciare du con

```

$ du -sh /mia/directory

```

che mostra semplicemente il totale dello spazio occupato, e non quello per ogni subdirectory. Come ti è già stato suggerito, però, il man di "du" fuga ogni eventuale dubbio...  :Smile: 

----------

## micron

Ho buttato giù questo scriptino, non sarà il massimo (per quanto riguada lo stile è migliorabile) ma funziona  :Wink: 

```
#!/bin/bash

                                                                                

if [ $# -gt 1 ] ; then

 echo "Error, only one argument!!"

 exit 1

else

 if [ $# = 1 ]; then

  cd $1

 fi

 dir="./*"

fi

                                                                                

for i in $dir; do

 du -sh $i

done

```

Per lanciarlo fai:

```
./script [i]percorso_assoluto_dir[/i]
```

oppure

```
./script
```

per avere il risultato relativo alla dir in cui di trovi

----------

## lopio

Ho avuto le dritte sulle directory (era quello che volevo sapere perche' tenere d'occhio tutto / e' superfluo) e anche un utile script (grazie micron) quindi metto risolto   :Laughing: 

grazie ancora a tutti

PS. mai visto un forum cosi' valido   :Wink: 

----------

## micron

Colgo l'occasione per chiedere un paio di consigli. Sul mio piccolo serverino (con una installazione gentoo minimale) mi sono trovato la root (da poco più di 2G) quasi piena.

Indagando ho trovato queste info:

```
84M     ./opt

2.0G    ./usr

```

Nel dettaglio sotto /usr ho:

```
123M    ./X11R6

66M     ./bin

353M    ./lib

3.5M    ./local

720M    ./portage

247M    ./share

400M    ./src

```

Di var non ho tenuto conto dato che si trova su un'altra partizione.

Come detto è un sistema con un'installazione minimale (l'unico "fronzolo" è XFree, con twm, che serve per alcuni programmi di p2p).

Direi che dovrei dare una pulita a portage, ma come?

Usando lo script lo script distclean regolarmente non dovrei essere a posto?

----------

## randomaze

 *micron wrote:*   

> 
> 
> Direi che dovrei dare una pulita a portage, ma come?
> 
> 

 

potresti provare a cancellare l'intera directory "distfiles", il prezzo da pagare é che se riemergi qualcosa che giá avevi se lo deve riscaricare.

A occhio dovresti liberare +o- 300M

----------

## augustus

Occhio anche alle CFLAGS utilizzate: -O3 crea binari sovraottimizzati ed eccessivamente larghi.Con un -O2 o -Os risparmieresti un bel po' di spazio...

----------

## shev

Anche /usr/src potresti snellire, eliminando i sorgenti di almeno quei kernel che non usi (se non di tutti). Oltre ovviamente all'onnipresente distfiles  :Wink: 

p.s.: sulle cflags del post precedente considera soprattutto -Os, dovrebbe essere l'ideale per la tua situazione

----------

## micron

 *randomaze wrote:*   

> potresti provare a cancellare l'intera directory "distfiles", il prezzo da pagare é che se riemergi qualcosa che giá avevi se lo deve riscaricare.
> 
> A occhio dovresti liberare +o- 300M

 

distfiles mi occupa 450M, però preferisco tenerla... non si sa mai.

Ho poi scoperto che sotto /usr/src avevo due kernel  :Exclamation:  --> ho subito aggiornato il sistema  :Smile: 

Per quanto riguarda il discorso delle ottimizzazioni penso prenderò in considerazione il passaggio da O3 a Os. Grazie per l'hint!!

----------

## abissiblu

premetto che non conosco la programmazione linux, ma ho letto che molti di noi hanno il problema di ripulire gentoo dalle vecchie versioni dei files scaricati in /usr/portage/distfiles e mi sembra che la strrada seguita sia la cancellazione del contenuto della stessa con la successiva necessità di riscaricare tutto nuovamente.

c'è qualcuno che conosce il portage in grado di realizzare uno script che leggendo l'output di 

```
 emerge -ufd world 
```

  sia in grado di eliminare tutti i file presenti in /usr/portage/distfiles non elencati  in tale output? 

credo che sarebbe utile a molti.

ciao

----------

## micron

 *abissiblu wrote:*   

> c'è qualcuno che conosce il portage in grado di realizzare uno script che leggendo l'output di 
> 
> ```
>  emerge -ufd world 
> ```
> ...

 

non penso che sia molto difficile da realizzare, ad ogni modo esiste un programma che elimina i tarball delle vecchie versioni dei programmi installati e tutti i tarball di quelli disinstallati.

Si chiama distclean e lo puoi trovare qui

Ti può bastare?

PS: al momento sono un po' preso, però se vuoi posso realizzare il programma di cui parli  :Wink: 

----------

## abissiblu

grazie per la disponibilità!

do un'occhiata a cio che fa  *Quote:*   

>  distclean 

 , se riesco a capirlo, cosi imparo un pò

e ti faccio sapere se è cio che intendevo!

----------

## abissiblu

ho dato un'occhiata a distfiles ma non mi piace ecco perchè:

mi sembra che lui usi come elenco dei file da tenere quelli installati in ma in

```
 /var/tmp/portage/ 
```

si trovano anche riferimenti a vecchie versioni di uno stesso programma esempoi nel mio caso ci sono 

 vim-6.2-r5 e vim-6.2-r6

ma io il primo non lo voglio tenere la pulizia mi serve a questo!

ciao

----------

## micron

 *abissiblu wrote:*   

> ho dato un'occhiata a distfiles ma non mi piace ecco perchè:
> 
> mi sembra che lui usi come elenco dei file da tenere quelli installati in ma in
> 
> ```
> ...

 

Come dice il nome, distfiles fa pulizia rimuovendo i tarball dei programmi "inutili", e questi si trovano sotto:

```
/usr/portage/distfiles
```

è quindi naturale che non vada a fare pulizia sotto

```
/var/tmp/portage
```

All'interno di questa dir si trovano solitamente file di pochissimi byte, solo durante l'installazione di un programma la dir contiene il tarball scompattato. Dopo che il programma è installato la dir viene praticamente svuotata, a meno che tu non abbia messo l'opzione keeptemp in /etc/make.conf.

Penso che non ci siano problemi se viene rimossa la dir di un vecchio programma (accetto ovviamente smentite), penso che sia fattibile aggiungere questa feature a distclean, ma non so quanto spazio di possa guadagnare...

----------

## randomaze

 *micron wrote:*   

> Penso che non ci siano problemi se viene rimossa la dir di un vecchio programma (accetto ovviamente smentite), penso che sia fattibile aggiungere questa feature a distclean, ma non so quanto spazio di possa guadagnare...

 

Nessuna smentita. Il conenuto di /var/tmp/portage può essere spazzato via senza problemi.

(certo, basta che non venga fatto mentre emerge sta lavorando sull'altra console  :Rolling Eyes: )

----------

## micron

 *randomaze wrote:*   

> Nessuna smentita. Il conenuto di /var/tmp/portage può essere spazzato via senza problemi.
> 
> (certo, basta che non venga fatto mentre emerge sta lavorando sull'altra console )

 

Parli per esperienza personal?  :Very Happy: 

Scherzi a parte è una buona notizia, anche se penso che non si possa guadagnare un gran che come spazio, o sbaglio?

Direi che si potrebbe fare per una questione di "senso dell'ordine"...

----------

## randomaze

 *micron wrote:*   

> Parli per esperienza personal? 
> 
> 

 

No, questa esperienza mi manca. Comunque non sarebbe drammatico a parte la valanga di errori e l'emerge da rifare  :Wink: 

 *micron wrote:*   

> 
> 
> Scherzi a parte è una buona notizia, anche se penso che non si possa guadagnare un gran che come spazio, o sbaglio?
> 
> 

 

Un pò di Mega di sicuro, poi dipende (credo) da quanti emerge sono andati a ramengo (in teoria se va tutto bene il grosso dei files viene pulito dopo la compilazione... restano solo un pò di directory)

----------

## zioponics

 *Quote:*   

> Un pò di Mega di sicuro, poi dipende (credo) da quanti emerge sono andati a ramengo (in teoria se va tutto bene il grosso dei files viene pulito dopo la compilazione... restano solo un pò di directory)

 

L'importante é che non ti si impianta mentre compila openoffice!

Io cmq, ho sparato /usr/portage su una partizione sua, il che mi evita di predisporre una partizione troppo grande per /usr, ma soprattutto mi evita, nel caso dovessi riinstallare (tocco ferro, ma non solo!!) di dover rifare un emerge sync da scratch.

Per la /var/tmp/portage, ho fatto uguale .... l'ho messa su una partizione separata. Questo perché, compilando proprio openoffice mi si era riempita la partizione /var e così ciao ciao logs, mail, ....!!

----------

## abissiblu

 *micron wrote:*   

> 
> 
> Come dice il nome, distfiles fa pulizia rimuovendo i tarball dei programmi "inutili", e questi si trovano sotto:
> 
> ```
> ...

 

Il problema cui mi riferivo a proposito dello script da te consigliato, non è che mi lascia intatta 

```
/var/tmp/portage
```

 ma che usa questa per decidere quali file nella 

```
/usr/portage/distfiles
```

 deve tenere, non credo che sia una valida scelta discriminatoria quella. Io vorrei mantenere in distfiles solo quelli e tutti quelli necessari ad una rinstallazione di un qualsiasi paccheto gia da me installato.  per questo proponevo il controllo sull'output di un

```
 emerge -Ufd world 
```

salve

----------

