Comment déplacer le répertoire de cache utilisateur [~ / .cache] du répertoire / home vers une autre partition

11

Le répertoire .cache regorge de fichiers volatils non essentiels.

Je voudrais le déplacer vers une partition plus appropriée, c'est-à - dire plus rapide et non sauvegardée.

Je crois que le fichier ~ / .pam_environment est approprié pour cela, mais je ne sais pas si c'est le meilleur ou s'il est documenté correctement ou fonctionne correctement.

keepitsimpleengineer
la source
Comment conservez-vous /some/other/place/.cache entre les redémarrages? Si l'on déplace .cache vers, par exemple, / dev / shm, lorsque la boîte est redémarrée, /dev/shm/.cache est manquant et donc ~ / .cache fait basculer le lien symbolique.
Guide connexe pour Google Chrome ici: joeyconway.com/blog/2011/09/11/…
Kzqai

Réponses:

18

Si vous ne vous souciez pas de conserver les éléments à chaque redémarrage, vous pouvez utiliser tmpfs pour stocker le cache.

Définissez quelque chose comme ceci dans /etc/fstab:

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

Maintenant, votre .cache sera stocké dans la mémoire plutôt que sur le disque, bien que si vous avez une mémoire insuffisante, il pourrait finir par être échangé.

Une approche plus traditionnelle consisterait à déplacer le répertoire où vous le souhaitez et à créer un lien symbolique le cas échéant:

mv ~/.cache /some/other/place
ln -s /some/other/place/.cache ~/
Scott Severance
la source
Cela fonctionne bien. J'avais espéré utiliser pam-env car c'est la manière "préférée", mais cela fonctionne, et s'il n'est pas cassé, ne le corrigez pas. BTW Chrome est beaucoup plus rapide maintenant!
keepitsimpleengineer
~/.pam_environmentsert à définir des variables d'environnement, ce qui n'a rien à voir avec la tâche à accomplir. En outre, bien que certains prétendent que .pam_environmentc'est préférable, je ne pense pas que ce soit nécessairement le cas, compte tenu du peu de personnes (selon Google) qui l'utilisent. .bashrcest assez bon pour moi.
Scott Severance
1
Je pense que la deuxième option a une erreur, la deuxième ligne devrait être ln -s /some/other/place/.cache ~/.cache, pas seulement un lien vers ~ /, comment les applications sauront que la maison est le dossier de cache, pas l'ancien .cache à l'intérieur de la maison?
Alexei Martianov
1
Si aucun nom de fichier n'est spécifié, alors ln utilisera celui d'origine. Donc, bien que votre exemple fonctionne également, ma réponse ne contient aucune erreur.
Scott Severance