Préambule ¶
Le quota d'espace disque et de nombre de fichiers appliqué sur votre répertoire personnel « $HOME
» peut rapidement arriver à saturation, en particulier à cause du cache de certaines applications et outils de développement. L'objectif de ce tutoriel est de vous donner les commandes à passer pour libérer de l'espace disque et de vous donner les bonnes pratiques pour éviter de saturer votre quota.
Chercher l'origine de l'espace disque utilisé ¶
La commande du
permet d'afficher la taille des fichiers et répertoires. Elle est particulièrement utile pour afficher la taille des répertoires et sous-répertoires. Par exemple, pour afficher la taille de tous les répertoires et sous-répertoires du répertoire courant :
du -hs *
Il est possible d'afficher la taille des fichiers et répertoires contenus dans un répertoire donné :
du -hs répertoire_de_votre_choix/*
Les informations affichées peuvent être triées par taille avec la commande sort
:
du -hs * | sort -h
Afficher la taille des répertoires et sous-répertoires du répertoire personnel ¶
En appliquant les commandes précédentes à votre répertoire personnel, vous pouvez identifier les répertoires qui occupent le plus d'espace disque. Par exemple, pour afficher la taille des répertoires et sous-répertoires du répertoire personnel triés par taille :
du -hs $HOME/* | sort -h
Afficher la taille des répertoires et sous-répertoires cachés du répertoire personnel ¶
Une grande partie de l'espace disque est occupée par des répertoires cachés qui contiennent souvent des informations de configuration. Il est donc nécessaire d'inclure les fichiers cachés en faisant précéder le symbole « *
» d'un point « .
». Malheureusement, cela inclut également le répertoire courant et le répertoire parent. Une astuce classique consiste à utiliser le caractère joker « ?
» qui représente un caractère quelconque pour former un motif de nom de fichier comportant au moins 3 caractères « .??*
». Ainsi, pour afficher la taille des répertoires et fichiers cachés du répertoire personnel triés par taille :
du -hs $HOME/.??* | sort -h
Vous pouvez également chercher les applications occupant le plus d'espace dans le répertoire de configuration :
du -hs $HOME/.config/* | sort -h
Trouver les répertoires « vendor
»
¶
Si vous avez créé des projets Symfony
ou Composer
dans votre répertoire personnel, vous avez installé des dépendances avec composer
. Ces dépendances sont installées dans le répertoire « vendor
» et peuvent occuper beaucoup d'espace disque. Pour trouver les répertoires « vendor
» dans votre répertoire personnel (à l'exclusion des répertoires cachés) et calculer leur taille :
find $HOME/!(.*) -name vendor -prune -exec du -hs {} \;
Puisque vous versionnez vos projets avec Git
et que vous êtes régulièrement invités à travailler dans le répertoire « /working
», vous devriez certainement supprimer les répertoires « vendor
» de vos projets, ainsi que les projets eux-mêmes pour travailler dans le répertoire « /working
». Veillez néanmoins à vérifier que vous avez effectué un commit
des modifications de chaque projet, et surtout un push
, avant de supprimer les projets concernés.
Trouver les répertoires « node_modules
»
¶
Si vous avez créé des projets Node.js
dans votre répertoire personnel, vous avez installé des dépendances avec npm
. Ces dépendances sont installées dans le répertoire « node_modules
» et peuvent occuper beaucoup d'espace disque. Pour trouver les répertoires « node_modules
» dans votre répertoire personnel (à l'exclusion des répertoires cachés) et calculer leur taille :
find $HOME/!(.*) -name node_modules -prune -exec du -hs {} \;
Puisque vous versionnez vos projets avec Git
et que vous êtes régulièrement invités à travailler dans le répertoire « /working
», vous devriez certainement supprimer les répertoires « node_modules
» de vos projets, ainsi que les projets eux-mêmes pour travailler dans le répertoire « /working
». Veillez néanmoins à vérifier que vous avez effectué un commit
des modifications de chaque projet, et surtout un push
, avant de supprimer les projets concernés.
Navigateurs Web ¶
Les navigateurs installés sur Linux
sont Firefox
et Chrome
. Aucun des deux ne permet de limiter la taille de son cache dans la configuration. Il est donc nécessaire de vider régulièrement le cache des navigateurs que vous utilisez pour libérer de l'espace disque.
De plus, le mécanisme de mise à jour exotique utilisé au département informatique peut entrainer la corruption de votre profil utilisateur pour certaines applications et cela a été constaté pour les navigateurs Web. Il peut donc être nécessaire de supprimer votre profil utilisateur Firefox
et Chrome
pour résoudre le problème.
Vider le cache de Firefox
¶
- Ouvrez
Firefox
- Collez «
about:preferences#privacy
» dans la barre d'adresse - Dans la section « Cookies and Site Data », cliquez sur le bouton « Clear Data… »
- Cochez la case « Cached Web Content » et appuyez sur le bouton « Clear » (il n'est pas nécessaire de cocher la case « Cookies and Site Data »)
Vider le cache de Chrome
¶
- Ouvrez
Chrome
- Collez «
chrome://settings/clearBrowserData
» dans la barre d'adresse - Cochez la case « Images et fichiers en cache » et appuyez sur le bouton « Effacer les données » (il n'est pas nécessaire de cocher les autres cases)
Supprimer le profil utilisateur de Firefox
¶
Si vous rencontrez des problèmes avec Firefox
, il est possible de supprimer votre profil utilisateur. Attention, cette manipulation supprime toutes les données associées à Firefox
: cache, favoris, historique, …
- Fermez
Firefox
- Supprimez le répertoire «
$HOME/.mozilla
» :rm -rf $HOME/.mozilla
Supprimer le profil utilisateur de Chrome
¶
Si vous rencontrez des problèmes avec Chrome
, il est possible de supprimer votre profil utilisateur. Attention, cette manipulation supprime toutes les données associées à Chrome
: cache, favoris, historique, … Si vous utilisez la synchronisation de Chrome
, vos données seront restaurées lors de la prochaine connexion à votre compte Google.
- Fermez
Chrome
- Supprimez le répertoire «
$HOME/.config/google-chrome
» :rm -rf $HOME/.config/google-chrome
Supprimer le cache de (presque) tous les outils et applications ¶
Vous pouvez supprimer le cache de toutes les applications. Cette manipulation est un peu extrême mais permet généralement de libérer beaucoup d'espace dans votre profil.
- Fermez toutes les applications
- Ouvrez un terminal
- Passez la commande :
rm -rf $HOME/.cache
Relocaliser le cache de certains outils ¶
Il est possible de relocaliser le cache de certains outils dans le répertoire temporaire. Cela permet de limiter l'impact sur votre quota d'espace disque. Cependant, cette configuration est spécifique à l'infrastructure de l'IUT et ne doit pas être reproduite sur votre ordinateur personnel.
Relocaliser le cache de Composer
¶
Afin d'accélérer les installations futures et de limiter l'impact sur votre quota d'espace disque, nous allons relocaliser le cache de Composer
dans le répertoire temporaire.
Cette configuration est une nouvelle fois spécifique à l'infrastructure de l'IUT. Ne faites pas de modification du répertoire de cache de Composer
sur votre ordinateur personnel.
- Videz le cache actuel avec la commande :
composer clearcache
- Modifiez l'emplacement du cache avec la commande :
composer config --global cache-dir /tmp/$USER/composer
- Vérifiez la bonne exécution de la commande précédente en affichant le contenu du fichier «
$HOME/.config/composer/config.json
» :cat $HOME/.config/composer/config.json { "config": { "cache-dir": "/tmp/votre_login/composer"} }
Relocaliser le cache de npm
¶
Afin d'accélérer les installations futures et de limiter l'impact sur votre quota d'espace disque, nous allons relocaliser le cache de npm
dans le répertoire temporaire.
Cette configuration est une nouvelle fois spécifique à l'infrastructure de l'IUT. Ne faites pas de modification du répertoire de cache de npm
sur votre ordinateur personnel.
- Videz le cache actuel avec la commande :
npm cache clear --force
- Modifiez l'emplacement du cache avec la commande :
npm config --user set cache /tmp/$USER/npm
- Vérifiez la bonne exécution de la commande précédente en affichant le contenu du fichier «
$HOME/.npmrc
» :cat $HOME/.npmrc cache=/tmp/votre_login/npm
Relocaliser le cache de PHP Depend
, utilisé par PHP Mess Detector
¶
PHP Mess Detector
utilise PHP Depend
qui est un outil d'analyse et de mesure du code PHP
. Dans son fonctionnement classique, il génère des fichiers de cache qui peuvent occuper beaucoup d'espace disque dans votre répertoire d'accueil et surtout ralentir son fonctionnement puisque votre répertoire d'accueil est sur un système de fichiers en réseau. Nous allons donc relocaliser le cache de PHP Depend
en mémoire.
Cette configuration est une nouvelle fois spécifique à l'infrastructure de l'IUT. Ne faites pas de modification du répertoire de cache de PHP Depend
sur votre ordinateur personnel.
- Videz le cache actuel avec la commande :
rm -Rf $HOME/.pdepend
- Essayez de vous souvenir des projets qui utilisent
PHP Mess Detector
- Dans chaque projet utilisant
PHP Mess Detector
, même ceux localisés dans «/working
» ajoutez les lignes de configuration concernant le cache dans le fichier «pdepend.xml
» :<?xml version="1.0"?> <symfony:container xmlns:symfony="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://pdepend.org/schema/dic/pdepend" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> <config> <cache> <driver>memory</driver> </cache> </config> </symfony:container>