magentix

Développeur backend indépendant Web, e-commerce, Open-Source, low-tech, indie-web, slow-web, SSG, accessibility, PHP, Python

Billets : Nettoyage de printemps d'un système Ubuntu / Debian


Nettoyage de printemps d'un système Ubuntu / Debian

Par Matthieu le 21/03/2020

Les caches, les logs ou encore des fichiers obsolètes peuvent alourdir inutilement les disques durs : un contrôle et un nettoyage s'imposent.


  1. Taille du disque
  2. Taille des répertoires
  3. Journaux
  4. Fichiers des paquets
  5. Thumbnails
  6. Fichiers de sauvegarde
  7. Logs
  8. Composer
  9. Flush quotidien avec anacron

Taille du disque

Un premier contrôle rapide de la place restante sur les disques s'effectue par la commande df (disk free) :

df -h

On identifie assez rapidement la place utilisée sur les disques, par exemple ici sur un SSD :

Sys. de fichiers               Taille Utilisé Dispo Uti% Monté sur
/dev/nvme0n1p2                   938G     84G  807G  10% /

Taille des répertoires

La commande du est très pratique pour contrôler la taille des dossiers.

On utilise l'option h pour obtenir des tailles plus lisibles, et l'option s pour ne pas afficher le détail des fichiers et sous dossiers.

Quelques exemples sur des répertoires souvent très volumineux :

sudo du -sh /var/log
sudo du -sh /tmp
sudo du -sh ~/.cache/*/

Pour contrôler la taille des sous-dossiers du dossier courant :

sudo du -sh ./*/

Journaux

L'affichage de la taille des journaux du système s'effectue par le biais de la commande suivante :

journalctl --disk-usage

Les logs sont stockés sous forme de fichiers persistants dans le dossier var/log/journal s'il existe. Les journaux ont souvent tendance à se remplir très rapidement.

Supprimer tous les logs de plus de 24 heures :

sudo journalctl --vacuum-time=1d

Supprimer tous les logs jusqu'à la taille des journaux atteigne 100Mo :

sudo journalctl --vacuum-size=100M

Fichiers des paquets

Un nettoyage des fichiers temporaires et des fichiers d'installation peut s'effectuer rapidement.

Supprimer le cache des paquets périmés :

sudo apt-get autoclean

Supprimer tout le cache :

sudo apt-get clean

Supprimer les paquets installés comme dépendances et devenus inutiles :

sudo apt-get autoremove

Thumbnails

Les miniatures des images de l'interface sont stockées dans les dossiers ~/.thumbnails, ~/.cache/thumbnails.

Pour nettoyer les images, on supprime sans crainte les miniatures générées depuis plus de 7 jours :

find ~/.thumbnails -type f -ctime +7 -delete
find ~/.cache/thumbnails -type f -ctime +7 -delete

Fichiers de sauvegarde

Les fichiers avec un ~ à la fin de leur nom sont des copies de sauvegarde créées automatiquement pour les documents ouverts par certaines applications (gedit, LibreOffice...). On peut les supprimer sans problème.

find ~/ -name '*~' -exec rm {} \;

Logs

Les logs sont stockées dans le dossier /var/log. Le logrotate par défaut (apache, php, dpkg...) est souvent important (12 mois) et il fastidieux de les modifier manuellement.

Sauf dans des cas bien spécifiques, il est très rare d'aller fouiller dans des archives de log de plusieurs mois.

La façon la plus radicale et efficace de nettoyer ces logs est de supprimer toutes les archives :

sudo find /var/log/ -type f -regex '.*\.[0-9]+\.gz$' -delete

Composer

Si vous développez et utilisez quotidiennement composer, pensez à supprimer son cache de temps en temps.

Le cache de composer peut grossir rapidement, pour s'en rendre compte :

sudo du -sh ~/.cache/composer
sudo du -sh ~/.composer/cache

Pour supprimer le cache :

composer clearcache
rm -rf ~/.cache/composer
rm -rf ~/.composer/cache

Flush quotidien avec anacron

J'ai pour habitude d'effectuer quotidiennement des nettoyages des fichiers et dossiers les plus volumineux via anacron. Cela permet d'éviter un encombrement inutile.

nano /etc/anacrontab
1       10      log.flush       find /var/log/ -type f -regex '.*\.[0-9]+\.gz$' -delete
1       20      journal.flush   journalctl --vacuum-time=1d > /dev/null 2>&1
1       30      thumb.flush     find ~/.thumbnails -type f -ctime +7 -delete

Une question ? Rejoignez-moi sur le Fédivers :
@magentix@magentix.space