Posso rimuovere / var / cache in sicurezza?


79

Sto esaurendo lo spazio su disco e ho notato che ho una /var/cachedirectory di grandi dimensioni . Posso rimuoverlo in sicurezza? (usando Arch Linux, BTW).

cache 

6
Verificherei cosa c'è dentro, ma dato che è lì che pacman store è i pacchetti che potresti voler eseguire pacman -Sco anche pacman -Sccse vuoi pulire l'intera cache dei pacchetti.
xenoterracide,

La maggior parte, ma non tutti, i file sottostanti /var/cachesono sicuri da eliminare. Non eliminare le directory o modificarne la proprietà. Corri du /var/cache/* | sort -nper vedere cosa sta prendendo spazio. Chiedi qui se non sai se le grandi directory sono sicure da pulire.
Gilles 'SO- smetti di essere malvagio'

Che dire di un analizzatore di utilizzo del disco - alternativeto.net/software/windirstat/?platform=linux
Aaron Newton

Risposte:


28

No .

Per uno, credo che /var/cache/bind/sia la directory predefinita in cui bind9 si aspetta che i suoi file di zona vengano archiviati (almeno su Debian; non so a caso se altre distribuzioni seguono l'esempio)

Per un altro, secondo questa documentazione , pacman (il gestore dei pacchetti usato da Arch Linux) memorizza la sua cache dei pacchetti /var/cache/pacman/pkg/e probabilmente non si aspetta altro che modificare i contenuti.

Ti consiglio di leggere più attentamente la documentazione e decidere se è il momento giusto per svuotare la cache del pacchetto.


Sì, non eliminare la directory / var / cache / apt / archives, ma è possibile eliminare i file: /var/cache/apt/pkgcache.bin e /var/cache/apt/srcpkgcache.bin, ma verranno ricreati da "apt-get update".
Diyismo,

6
Su Debian, /var/cache/bindcontiene file di zona trasferiti da altri nameserver - non dovrebbe contenere zone principali. Debian segue FHS, e FHS richiede che i file /var/cachesiano cancellabili. Naturalmente, la domanda riguarda Arch, e inoltre non si dovrebbero cancellare i file senza prima capire cosa siano.
derobert,

19
È come dire che non dovresti eliminare i file nella directory temporanea di Windows senza sapere cosa sono. Se la cartella è destinata ai file temporanei e il tuo programma mette lì dati non temporanei, allora questo è un grosso problema per il tuo programma, non per / var / cache
Tor Valamo,

82

Da http://www.lindevdoc.org/wiki//var/cache

Ci scusiamo per la (molto) risposta tardiva, ma credo sia importante includere questo bit per riferimento futuro.

Evidenziato il bit che risponde a questa domanda.

La directory / var / cache contiene file memorizzati nella cache, ovvero file che sono stati generati e possono essere rigenerati in qualsiasi momento, ma vale la pena archiviarli per risparmiare tempo nel ricalcolarli.

Qualsiasi applicazione può creare un file o una directory qui. Si presume che i file memorizzati qui non siano critici, quindi il sistema può eliminare periodicamente il contenuto di / var / cache o quando il suo contenuto diventa troppo grande.

Qualsiasi applicazione dovrebbe tenere conto del fatto che il file archiviato qui può scomparire in qualsiasi momento ed essere pronto a ricalcolarne il contenuto (con una certa penalità di tempo).

Quindi sì, puoi rimuovere questi file senza aspettarti che accada qualcosa di brutto.


7
Dovrai saltare attraverso alcuni cerchi se elimini /var/cachee vuoi usare in aptseguito.
Matthias Braun,

13

Come altri hanno già detto, /var/cache/può essere utilizzato da qualsiasi applicazione per archiviare informazioni per risparmiare sui tempi di recupero. Nella mia esperienza, però, la maggior parte dello spazio occupato è dal gestore dei pacchetti del sistema.

Dal wiki di Arch Linux :

pacmanarchivia i pacchetti scaricati /var/cache/pacman/pkg/e non rimuove automaticamente le versioni precedenti o disinstallate, pertanto è necessario ripulire deliberatamente quella cartella periodicamente per impedire che tale cartella cresca indefinitamente.

pacman -Sc

Tuttavia , a meno che lo spazio di archiviazione non sia un problema disperato, per risparmiare mal di testa in seguito, a causa di una futura incompatibilità; uno di questi altri strumenti devono essere utilizzati: paccache, pkgcachecleano pacleaner.


Per altro sistema:

Basato su Redhat (Fedora, CentOS, SL, ...)

yum clean all
# or
dnf clean all

Basato su Debian (Ubuntu, ...)

apt-get autoclean

Basato su SUSE

zypper clean

2
+1! Ho notato oggi che sto esaurendo lo spazio su disco ... un corto ha du -hs /* 2> /dev/nullrivelato che /varera molto grande. Si è scoperto che la mia cache pacman era 91GB. pacman -Scripulito i vecchi pacchetti e ridotto la cache pacman a 5 GB!
daniel451,

1
Questo articolo è una versione più dettagliata delle istruzioni nel wiki dell'arco su come usarepaccahce
joelostblom

9

Ho trovato questo post interessante in quanto stavo cercando di eliminare da / var / cache su Ubuntu 15.10 per il miglioramento dello spazio su disco, questo è quello che ho trovato:

I file di cache / var / cache / apt vengono rimossi dopo l'esecuzione di 'sudo apt-get clean', tuttavia la struttura della directory rimane che non è un problema se si cercano miglioramenti dello spazio su disco; 'apt-get clean' dovrebbe essere eseguito per ultimo se si desidera ottenere qualsiasi miglioramento dello spazio su disco con apt-get [auto] remove / [auto] clean ecc.

Per quanto riguarda tutto il resto nella directory, non potrei essere più d'accordo con "Tor Valamo" e la sua spiegazione. È cache, il sistema e le app che usano cache dovrebbero essere in grado di rigenerare tutto ciò che hanno creato lì. Le spese generali per le prestazioni sono limitate poiché la cache viene rigenerata da un'app all'altra

Nel dire che, ogni sistema potrebbe non essere conforme a questo principio, eseguire alcuni test, provare a spostare tutto nella directory della cache in una nuova posizione e verificare che il sistema e tutte le applicazioni funzionino prima di rimuovere la cache in modo permanente.


1

Puoi prendere questa determinazione tu stesso usando lsof.

Esegui lsof -Pn +D /var/cache/ | awk '{print $1}' | sort | uniqper vedere quale software ha attualmente file aperti in quella directory. Se qualcosa sembra moderatamente importante (o non sai di cosa si tratta), non rimuoverlo.

Inoltre, non dovresti comunque eliminare solo le directory senza backup; questo vale anche per /tmp. Se un file è attualmente in uso, la tua rimozione non verrà registrata fino alla chiusura del gestore (lo vedrai sparito nel file system). Inoltre, la rimozione può causare l' lsofarresto anomalo di altri programmi attualmente in esecuzione (vedere il comando sopra) se manca un file previsto.

Fondamentalmente, rimuovi solo i file che sai che sono sicuri da rimuovere e che non sono attualmente utilizzati da altri software in esecuzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.