Tag Archives: find

Facciamo un po’ di spazio in /var/cache

cache spazio tortaIl mio primo computer aveva 130 MB (Mega, non Giga) di disco fisso. All’epoca la media era di 40 MB (sempre Mega, non Giga). L’hard disk in questione era talmente grosso da occupare lo spazio di due dischi normali da tre pollici e mezzo. Il mio maestro di musica mi chiese: ma cosa ci devi fare con centotrenta mega?

Gli hard disk attuali hanno delle capienze spaventose ma può capitare che la partizione di Linux, la root su cui è installato il sistema, non sia troppo grande, anche perché rispetto a Windows, Linux tende molto meno ad ingrassare. Tuttavia è sempre bene fare un po’ di pulizia.
Vediamo cosa contiene una delle directory più grasse e di cui possiamo spesso buttar via la maggior parte del suo contenuto: /var/cache.

/var/cache è principalmente usata per memorizzare file temporanei ma non troppo, o meglio quei file che difficilmente avranno vita lunga ma che potrebbero essere riutilizzati nel breve termine. Da una veloce analisi su un sistema Debian o Ubuntu con du o con baobab (ricordate di farli girare da root) si nota che sono principalmente due le sotto-directory più impegnate: apt e apt-build.

apt è la directory in cui apt-get scarica i pacchetti dai vari repository. I pacchetti non vengono buttati via subito poiché può capitare di dover reinstallare qualcuno dei pacchetti o magari dover reinstallare una versione precedente dopo aver sperimentato dei problemi con un aggiornamento (provate a usare Debian Sid per un po’ e capirete cosa significa).
Se vogliamo, ad esempio buttare via i pacchetti utilizzati (non scaricati, ma usati) più di quindici giorni fa, usiamo da terminale il comando:

find /var/cache/apt -name '*deb' -atime +15 -exec rm {} \;

Cache Spazio TreeIn questo comando specifichiamo il numero di giorni (-atime è access time, mentre +15 significa più di quindici giorni). L’opzione -exec, invece, permette di indicare un comando da eseguire su ogni file trovato da find. Ogni file trovato è indicato da {} (lo so, non piace neanche a me questa notazione).

Veniamo ora ad apt-build. È la directory dove vengono decompressi i sorgenti e avvengono le operazioni di ricompilazione dei pacchetti. Infatti apt-build è uno strumento a disposizione delle distribuzioni Debian e derivate (Ubuntu inclusa) per ricompilare ottimizzando le applicazioni e quando sia disponibile nei repository, a patto che vi siano anche i sorgenti (cercate deb-src in /etc/apt/sources.list).

Questa directory ha due sottodirectory: build e repository. In build ci sono i sorgenti veri e propri, mentre in repository vengono memorizzati i pacchetti deb ricompilati, andando a creare un repository locale. Ovviamente è più interessante liberare build. Lo si fa con un comando simile a quello precedente:

find /var/cache/apt-build/build -atime +15 -exec rm {} \;

Questa volta siamo più drastici e non usiamo l’opzione -name: tutti i file più vecchi di quindici giorni verranno cancellati, indipendentemente dal loro nome.

Alla fine ho liberato quasi 1GB di spazio che, ripeto, sugli hard disk moderni è un pugno di bruscolini, ma su un computer non tanto giovane può essere utile. Spero.