Posso remover / var / cache com segurança?

79

Estou ficando sem espaço em disco e observei que tenho um /var/cachediretório grande . Posso remover isso com segurança? (usando o Arch Linux, BTW).


fonte
6
Eu verificaria o que estava lá, mas, dado que é onde os pacotes da pacman store, você pode executar pacman -Scou até mesmo pacman -Sccse deseja limpar todo o cache do pacote.
Xenoterracide
A maioria dos arquivos, mas não todos, /var/cacheé segura para excluir. Não exclua os diretórios nem mude sua propriedade. Corra du /var/cache/* | sort -npara ver o que está ocupando espaço. Pergunte aqui se você não sabe se os diretórios grandes são seguros para limpar.
Gilles
Que tal um analisador de uso do disco - alternativeto.net/software/windirstat/?platform=linux
Aaron Newton

Respostas:

28

Não .

Por um lado, acredito que /var/cache/bind/é o diretório padrão em que o bind9 espera que seus arquivos de zona sejam armazenados (pelo menos no Debian; não sei de antemão se outras distros seguem o exemplo)

Por outro lado, de acordo com esta documentação , o pacman (o gerenciador de pacotes usado pelo Arch linux) armazena seu cache de pacotes /var/cache/pacman/pkg/e provavelmente espera apenas que ele próprio modifique o conteúdo.

Eu recomendo que você leia a documentação mais de perto e decida se é um bom momento para limpar o cache do pacote.

Shadur
fonte
Sim, não exclua o diretório / var / cache / apt / archives, mas é possível excluir os arquivos: /var/cache/apt/pkgcache.bin e /var/cache/apt/srcpkgcache.bin, mas eles serão recriados por "apt-get update".
diyism
6
No Debian, /var/cache/bindcontém arquivos de zona transferidos de outros servidores de nomes - não deve conter zonas mestras. O Debian segue o FHS, e o FHS exige que os arquivos /var/cachesejam excluídos. Obviamente, a questão é sobre o Arch, e ainda não se deve excluir arquivos sem antes descobrir pelo menos o que são.
derobert
19
É como dizer que você não deve excluir arquivos no diretório temporário do Windows sem saber o que são. Se a pasta é destinado para arquivos temporários e seu programa coloca os dados não temporárias lá, então isso é um problema enorme para o seu programa, não para / var / cache
Tor Valamo
82

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

Desculpe pela resposta (muito) tardia, mas acredito que é importante incluir esse bit para referência futura.

Destacou o bit que responde a esta pergunta.

O diretório / var / cache contém arquivos em cache, ou seja, arquivos que foram gerados e podem ser re-gerados a qualquer momento, mas vale a pena armazenar para economizar tempo ao recalculá-los.

Qualquer aplicativo pode criar um arquivo ou diretório aqui. Supõe-se que os arquivos armazenados aqui não sejam críticos, portanto o sistema pode excluir o conteúdo de / var / cache periodicamente ou quando seu conteúdo fica muito grande.

Qualquer aplicativo deve levar em consideração que o arquivo armazenado aqui pode desaparecer a qualquer momento e estar pronto para recalcular seu conteúdo (com alguma penalidade de tempo).

Então, sim, você pode remover esses arquivos sem esperar que algo ruim aconteça.

Tor Valamo
fonte
7
Você terá que pular algumas etapas se você excluir /var/cachee quiser usá-lo aptposteriormente.
Matthias Braun
13

Como outros já disseram, /var/cache/pode ser usado por qualquer aplicativo para armazenar informações e economizar tempo de recuperação. Na minha experiência, porém, a maior parte do espaço ocupado lá é do gerenciador de pacotes do sistema.

No wiki do Arch Linux :

pacmanarmazena seus pacotes baixados /var/cache/pacman/pkg/e não remove as versões antigas ou desinstaladas automaticamente; portanto, é necessário limpar deliberadamente essa pasta periodicamente para impedir que essa pasta cresça indefinidamente em tamanho.

pacman -Sc

No entanto , a menos que o espaço de armazenamento seja um problema desesperado, economize dor de cabeça mais tarde, na causa de uma incompatibilidade futura; uma dessas outras ferramentas devem ser utilizadas: paccache, pkgcachecleanou pacleaner.


Para outro sistema:

Baseado em Redhat (Fedora, CentOS, SL, ...)

yum clean all
# or
dnf clean all

Baseado no Debian (Ubuntu, ...)

apt-get autoclean

Baseado em SUSE

zypper clean
Kevin
fonte
2
+1! Percebi hoje que estou ficando sem espaço em disco ... um curta du -hs /* 2> /dev/nullrevelado que /varera muito grande. Aconteceu que meu cache pacman era de 91 GB. pacman -Sclimpou os pacotes antigos e reduziu o cache do pacman para 5 GB!
Daniel451
1
Este artigo é uma versão mais detalhada das instruções no arco wiki sobre como usarpaccahce
joelostblom
9

Achei este post interessante porque eu estava procurando excluir do / var / cache no Ubuntu 15.10 para melhorar o espaço em disco, e foi o que encontrei:

/ var / cache / apt arquivos de cache são removidos após a execução do 'sudo apt-get clean', no entanto, a estrutura de diretórios permanece, o que não é problema se você estiver procurando por melhorias no espaço em disco; 'apt-get clean' deve ser executado por último se você quiser obter alguma melhoria de espaço em disco com o apt-get [auto] remove / [auto] clean etc.

Quanto a todo o resto do diretório, eu não poderia concordar mais com 'Tor Valamo' e sua explicação. É cache, o sistema e os aplicativos que usam cache devem poder regenerar tudo o que eles criaram lá. Você tem apenas pequenas despesas gerais de desempenho, pois o cache é regenerado de aplicativo para aplicativo

Ao dizer isso, todo sistema pode não estar em conformidade com esse princípio, faça alguns testes, tente mover tudo no diretório de cache para um novo local e teste se seu sistema e todos os seus aplicativos funcionam antes de remover o cache permanentemente.

JeffreyJ
fonte
1

Você pode fazer essa determinação usando você mesmo lsof.

Execute lsof -Pn +D /var/cache/ | awk '{print $1}' | sort | uniqpara ver qual software atualmente possui arquivos abertos nesse diretório. Se alguma coisa parecer moderadamente importante (ou você não souber o que é), não a remova.

Além disso, você não deve simplesmente lançar diretórios sem backups; isso até se aplica /tmp. Se um arquivo estiver em uso no momento, sua remoção não será registrada até depois que o manipulador for fechado (você o verá no sistema de arquivos). Além disso, a remoção pode causar lsofa falha de outros programas em execução no momento (consulte o comando acima) se um arquivo esperado estiver ausente.

Basicamente, remova apenas os arquivos que você sabe que são seguros para remover e que não estão sendo usados ​​no momento por outro software em execução.


fonte