Como mover o diretório de cache do usuário [~ / .cache] para fora do diretório / home para outra partição

11

O diretório .cache está cheio de arquivos voláteis e não essenciais.

Gostaria de movê-lo para uma partição mais apropriada, ou seja , mais rápida e sem backup.

Acredito que o arquivo ~ / .pam_environment seja apropriado para isso, mas não tenho certeza se é o melhor ou se está documentado ou funcionando corretamente.

keepitsimpleengineer
fonte
Como você está preservando /some/other/place/.cache entre reinicializações? Se alguém mover .cache para, digamos, / dev / shm, quando a caixa for reiniciada, o /dev/shm/.cache está ausente e, portanto, ~ / .cache está com o link simbólico pendente.
Guia relacionado para o google chrome aqui: joeyconway.com/blog/2011/09/11/…
Kzqai

Respostas:

18

Se você não se preocupa em manter o material presente nas reinicializações, use tmpfs para armazenar o cache.

Defina algo como o seguinte em /etc/fstab:

tmpfs /home/someuser/.cache tmpfs defaults,size=512M 0 0

Agora, seu .cache será armazenado na memória em vez de no disco, embora se você tiver memória insuficiente, ele poderá acabar sendo trocado.

Uma abordagem mais tradicional seria mover o diretório para onde você quiser e vinculá-lo conforme apropriado:

mv ~/.cache /some/other/place
ln -s /some/other/place/.cache ~/
Scott Severance
fonte
Isso está funcionando bem. Eu esperava usar o pam-env, pois é o caminho "preferido", mas isso funciona e, se não estiver quebrado, não conserte. BTW Chrome é muito mais rápido agora!
keepitsimpleengineer
~/.pam_environmenté para definir variáveis ​​de ambiente, o que não tem nada a ver com a tarefa em questão. Além disso, embora alguns afirmem que .pam_environmenté o preferido, não acho que seja necessariamente assim, considerando o número de pessoas (de acordo com o Google) o usando. .bashrcé bom o suficiente para mim.
Scott Severance
1
Eu acho que a segunda opção tem um erro, a segunda linha deve ser ln -s /some/other/place/.cache ~/.cache, não apenas o link para ~ /, como os aplicativos saberão que a casa é uma pasta de cache, não o antigo .cache dentro de casa?
Alexei Martianov
1
Se nenhum nome de arquivo for especificado, o ln usará o original. Portanto, embora seu exemplo também funcione, não há erro na minha resposta.
Scott Severance