Vous manquez d’espace disque sous Linux ? Vérifiez vos journaux !



Points essentiels à retenir

  • Les fichiers journaux système sous Linux peuvent accaparer une part non négligeable de l’espace de stockage.
  • Votre système compresse automatiquement les anciens fichiers journaux afin d’optimiser l’espace disque.
  • Vous pouvez utiliser les commandes `journalctl` ou `tail -f` pour visualiser les journaux et identifier les processus posant problème.

Bien que les systèmes Linux soient réputés pour leur légèreté, il est possible de se retrouver soudainement à court d’espace disque. Quelle en est la cause ? L’indice le plus révélateur, et souvent le principal responsable, se trouve dans les fichiers journaux de votre système Linux.

Pourquoi les journaux consomment-ils autant d’espace disque ?

Les journaux jouent un rôle crucial dans la gestion de votre système Linux. Ils permettent de suivre l’activité de votre machine et de résoudre les éventuels incidents. Les outils de journalisation sous Linux sont comparables à l’Observateur d’événements de Windows. En général, les journaux ne prennent pas beaucoup de place, car la plupart des distributions gèrent automatiquement leur taille sur votre disque.

Traditionnellement, les journaux Linux étaient des fichiers texte. Cependant, avec l’adoption de systemd par de nombreuses distributions majeures, ils sont devenus des fichiers binaires gérés par journald, un service systemd. Alternativement, votre distribution peut utiliser rsyslog ou syslog-ng.

Les anciens journaux perdant de leur pertinence et les archives volumineuses pouvant occuper de l’espace, votre système les « fait pivoter » (c’est-à-dire qu’il les archive, les compresse et, enfin, les supprime) pour libérer de l’espace pour les données plus récentes et utiles.

Même si l’on peut penser que les journaux ne devraient pas prendre beaucoup de place, un processus défaillant peut les remplir plus vite que le système ne peut les gérer.

Si vous constatez une soudaine pénurie d’espace disque, sans avoir téléchargé de gros fichiers, il est probable que vos journaux système Linux soient en cause. Il vous faudra identifier le problème et y remédier.

Vous pouvez vérifier l’espace disque utilisé avec la commande `du -h` :

du -h /var/log

Vous obtiendrez une liste des sous-répertoires et de l’espace qu’ils occupent :

Où trouver vos journaux

Si votre distribution Linux utilise systemd, vous utiliserez le programme `journalctl` pour consulter vos journaux. `journald` stocke généralement les journaux dans les répertoires `/var/log/journal` ou `/run/log/journal`, selon la distribution.

Pour afficher les journaux, entrez la commande `journalctl` dans le terminal. D’autres options de ligne de commande sont disponibles. Pour consulter les messages de démarrage, utilisez l’option `-b` :

journalctl -b

Vous pouvez visualiser les messages du journal en temps réel avec l’option `-f`.

Si votre distribution n’utilise pas systemd, les journaux se trouvent généralement dans le répertoire `/var/log`. Même avec systemd, certains programmes continuent de stocker leurs journaux dans ce répertoire. Ce sont des fichiers texte que vous pouvez examiner avec un visualisateur tel que `less`.

Par exemple, pour lire le journal système :

less /var/log/syslog

Vous verrez alors le contenu complet du fichier journal, qui peut contenir des milliers de lignes :

Vous pouvez également le surveiller en temps réel avec l’option `-f` de la commande `tail` :

tail -f /var/log/syslog

Comment Linux fait pivoter les fichiers journaux

Dans le répertoire `/var/log`, vous remarquerez peut-être des fichiers dont les noms se terminent par `log.N.gz`, où N est un nombre. Cela est dû à la rotation des anciens journaux par le système. La plupart des distributions utilisent un utilitaire automatisé appelé `logrotate`. Généralement, `logrotate` est configuré pour s’exécuter via une tâche cron ou un minuteur système.

Par défaut, la plupart des distributions exécutent `logrotate` quotidiennement. Il compresse les anciens journaux avec `gzip`, d’où l’extension de fichier `.gz`. Il utilise des seuils, basés sur l’âge ou la taille du fichier, pour effectuer cette compression et un autre seuil pour supprimer éventuellement les anciens fichiers journaux.

Les options par défaut de `logrotate` conviennent à la plupart des utilisateurs d’ordinateurs de bureau. Il est possible de modifier le comportement de `logrotate` en éditant le fichier `/etc/logrotate.conf` en tant que superutilisateur, ainsi que les fichiers de minuteur cron ou systemd, mais ces actions concernent généralement les administrateurs de serveurs.

Il est préférable de corriger ce qui remplit vos journaux plutôt que de modifier les fichiers de configuration pour gagner de l’espace disque. Si vous devez absolument modifier la configuration, vous pouvez consulter la page de manuel de `logrotate`.

Quels journaux peuvent être supprimés sans risque ?

Si toutes les autres solutions ont échoué et que vous avez absolument besoin de libérer de l’espace disque, vous pouvez supprimer manuellement les fichiers journaux archivés se terminant par `.gz` avant que `logrotate` ne le fasse. Vous pouvez utiliser la commande `rm`, mais vous devrez l’exécuter en tant que superutilisateur, car ces fichiers appartiennent au système :

sudo rm /var/syslog/syslog.*gz

Cette commande supprimera tous les fichiers contenant `syslog` et se terminant par `gz`.

Soyez toujours extrêmement prudent lorsque vous exécutez des commandes via `sudo`, en particulier des commandes destructrices comme `rm` !

En règle générale, il est déconseillé de supprimer des fichiers dans les répertoires système sans en comprendre pleinement les conséquences. Cependant, les journaux archivés ne poseront pas de problème s’ils sont manquants. Si vous rencontrez un problème, vous pourriez avoir besoin de consulter des journaux plus anciens.

Comment corriger ce qui remplit vos journaux

Le meilleur moyen d’identifier ce qui remplit vos journaux est de les suivre avec les options `journalctl` ou `tail -f`. Les messages d’erreur qui se répètent sont particulièrement révélateurs.

Vous devrez gérer le processus incriminé afin de libérer de l’espace disque. Si vous ne connaissez pas l’origine de l’erreur, vous pouvez faire une recherche sur le web ou demander de l’aide sur les canaux de support de votre distribution. Une fois le problème résolu, vous pouvez supprimer les anciens journaux en toute sécurité. Vous devriez alors disposer de beaucoup plus d’espace disque.