Cómo mover el directorio de caché de usuario [~ / .cache] fuera del directorio / home a otra partición

11

El directorio .cache está lleno de archivos volátiles, no esenciales.

Me gustaría moverlo a una partición más apropiada, es decir , más rápido y sin copia de seguridad.

Creo que el archivo ~ / .pam_environment es apropiado para esto, pero no estoy seguro de si es el mejor o si está documentado correctamente o funciona correctamente.

keepitsimpleengineer
fuente
¿Cómo está preservando /some/other/place/.cache entre reinicios? Si uno mueve .cache a, por ejemplo, / dev / shm, cuando se reinicia el cuadro /dev/shm/.cache falta y entonces ~ / .cache cuelga el enlace simbólico.
Guía relacionada para google chrome aquí: joeyconway.com/blog/2011/09/11/…
Kzqai

Respuestas:

18

Si no le importa mantener las cosas allí durante los reinicios, puede usar tmpfs para almacenar el caché.

Establezca algo como lo siguiente en /etc/fstab:

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

Ahora, su .cache se almacenará en la memoria en lugar de en el disco, aunque si tiene memoria insuficiente podría terminar siendo intercambiado.

Un enfoque más tradicional sería mover el directorio a donde desee y vincularlo según corresponda:

mv ~/.cache /some/other/place
ln -s /some/other/place/.cache ~/
Scott Cesantía
fuente
Esto esta funcionando bien. Tenía la esperanza de usar pam-env, ya que es la forma "preferida", pero esto funciona, y si no está roto, no lo arregles. Por cierto, Chrome es mucho más rápido ahora.
keepitsimpleengineer
~/.pam_environmentes para establecer variables de entorno, que no tiene nada que ver con la tarea en cuestión. Además, aunque algunos afirman que .pam_environmentes preferible, no creo que sea necesariamente así, considerando lo pocas personas (según Google) lo están usando. .bashrces lo suficientemente bueno para mi
Scott Severance
1
Creo que la segunda opción tiene un error, la segunda línea debería ser ln -s /some/other/place/.cache ~/.cache, no solo un enlace a ~ /, ¿cómo sabrán las aplicaciones que el hogar es la carpeta de caché, no el viejo .cache dentro del hogar?
Alexei Martianov
1
Si no se especifica un nombre de archivo, ln usará el original. Entonces, aunque su ejemplo también funcionará, no hay error en mi respuesta.
Scott Severance