Comment puis-je libérer de l'espace à partir d'un dossier massif de 39,5 Go / var / log /?

47

Je viens de recevoir un message du logiciel d'analyse de disque par défaut (Baobab) qu'il ne me reste que 1 Go sur le disque dur. Après quelques recherches, j'ai trouvé que le /var/log/dossier en est la cause.

Certains fichiers / tailles en /var/log/:

  • kern.log = 12,6 Go
  • ufw.log = 12,5 Go
  • kern.log.1 = 6.1 Go
  • ufw.log.1 = 6,0 Go

Et cetera et cetera. /var/logest énorme.

Puis-je supprimer ces fichiers ou le /var/logdossier entier ? Ou est-ce un gros non dans Ubuntu?

lame19899
la source

Réponses:

39

Vous ne devez pas supprimer tout le dossier, mais vous pouvez supprimer les fichiers journaux "Old-Packed" sans nuire à votre système.

Pour un utilisateur domestique typique, vous pouvez supprimer tous les fichiers journaux compressés et portant l' extension .gz (comme vous pouvez le voir sur l'image).

Ces fichiers journaux compressés sont d'anciens journaux compressés afin de réduire l'espace de stockage. En tant qu'utilisateur moyen, vous n'en avez pas besoin.

Sélectionnez l'extension .gz

Salih Emin
la source
7
trouver / var / log -type f -name "* .gz" -exec rm -f {} \;
diyisme
@ diyism j'ai essayé votre code, mais pas beaucoup d'aide. mon
répertoire de
1
find /var/log -type f -name "*.gz" -deleteJ'ai supprimé les fichiers compressés et je n'ai libéré que 1 Go d'espace. 50 Go ne suffisent-ils pas pour le /répertoire et le reste de mon disque /home!
Muhammad Gelbana
Le PC de ma mère avait un fichier kern.log de 21 Go. Un gros fichier kern.log indique un problème dans le noyau Linux lui-même ou dans quelque chose avec lequel il rencontre des problèmes. Dans les deux cas, il est recommandé d’aller sur le terminal shell Linux et d’exécuter cat /var/log/kern.logou nano /var/log/kern.log(au niveau de l’interface graphique, exécuter quelque chose comme, par exemple gedit /var/log/kern.logou mousepad /var/log/kern.log) et vérifier quel peut être le problème. Une fois que vous avez compris ce qui ne va pas, vous pouvez ensuite l'exécuter sudo rm /var/log/kern.log ; sudo telinit 6pour supprimer ce (gros) fichier et redémarrer le système d'exploitation.
Yuri Sucupira
Dans mon cas, cela ne supprimera que 15,7 Mo de 41 fichiers. Les vrais problèmes ici sont messages(7,7 Go), user.log(7,7 Go), syslog(4,1 Go) et syslog.1(3,5 Go). Ces quatre fichiers totalisent 23 Go. Un moyen de les supprimer ou au moins de réduire leur taille?
Rodrigo
32

Je ne supprimerais pas tout le dossier / var / log - cela casserait des choses.

Vous pouvez simplement détruire les journaux comme le suggère @jrg - mais à moins que les éléments écrits dans les fichiers journaux (principalement syslogd) ne soient redémarrés, ils ne vous permettront pas de récupérer de l'espace disque, car les fichiers continueront d'exister dans un état supprimé Les poignées de fichiers sont fermées.

Il serait préférable de savoir pourquoi les journaux ne sont pas soumis à une rotation (et à une suppression ultérieure). logrotate est censé le faire pour vous, et je soupçonne qu'il ne se déroule pas chaque nuit comme il se doit.

La première chose que je ferais serait:

sudo /etc/cron.daily/logrotate

Cela devrait faire tourner les fichiers journaux (donc kern.log devient kern.log.1); et vous pouvez ensuite supprimer kern.log.1, etc. pour libérer de l'espace disque.

Si tout va bien jusqu'à présent, la question suivante est de savoir pourquoi cela ne se produit pas automatiquement. Si vous éteignez votre ordinateur la nuit, assurez-vous d'avoir installé anacron .

richvdh
la source
17

Vous devriez regarder les journaux et voir ce qui leur est écrit. Je suppose que c'est ufw / iptables (vous enregistrez tout le trafic réseau).

ufw - lorsque vous enregistrez tous les paquets, vous obtenez des journaux volumineux. Si vous ne souhaitez pas consulter les journaux, désactivez la journalisation. Si vous souhaitez surveiller votre réseau, utilisez snort. Snort va filtrer parmi les milliers de paquets que vous recevez et vous alerter du trafic potentiellement problématique.

Je suppose que c'est ufw qui est le coupable et que vous obtenez un journal volumineux dans kern.log, car vous enregistrez également les paquets.

Parfois, un problème de noyau ou de matériel remplit les journaux. Dans ce cas, il est préférable de résoudre le problème ou de créer un bogue, vous devrez consulter les journaux pour le faire.

Si vous ne pouvez pas résoudre le problème, vous pouvez configurer syslog pour ne pas remplir vos journaux.

Voir http://manpages.ubuntu.com/manpages/precise/man5/syslog.conf.5.html

Si vous fournissez plus de détails sur le problème, nous pouvons vous aider à mieux le déboguer.

Panthère
la source
2
C'est un très bon point. Il vaut la peine de savoir ce qui engorge les journaux plutôt que de simplement les supprimer. +1
richvdh
6

La suppression /var/logest probablement une mauvaise idée, mais la suppression des fichiers journaux individuels devrait être correcte.

Sur mon ordinateur portable, avec un disque SSD de petite taille, j'ai configuré les points de montage /var/log(et /tmpet /var/tmp) tmpfsen ajoutant les lignes suivantes /etc/fstab:

temp        /tmp        tmpfs   rw,mode=1777    0   0
vartmp      /var/tmp    tmpfs   rw,mode=1777    0   0
varlog      /var/log    tmpfs   rw,mode=1777    0   0

Cela signifie que rien dans ces répertoires ne survit à un redémarrage. Autant que je sache, cette configuration fonctionne parfaitement. Bien sûr, je ne peux plus consulter les anciens journaux pour diagnostiquer les problèmes éventuels, mais j’estime qu’il s’agit d’un juste compromis pour une utilisation réduite du disque.

Le seul problème que j'ai rencontré est que certains programmes (notamment APT) veulent écrire leurs journaux dans des sous-répertoires /var/loget ne sont pas assez intelligents pour créer ces répertoires s'ils n'existent pas. L'ajout de la ligne mkdir /var/log/aptdans /etc/rc.localrésolu ce problème particulier pour moi; En fonction du logiciel que vous avez installé, vous devrez peut-être créer d'autres répertoires.

(Une autre possibilité serait de créer une tararchive simple contenant uniquement les répertoires et de la décompresser /var/logau démarrage pour créer tous les répertoires nécessaires et définir leurs autorisations en une seule fois.)

Ilmari Karonen
la source
1
ufw était le proble`me apparemment, j’ai réglé la journalisation sur PLEIN pour qu’il enregistre tout. merci pour l'aide :)
blade19899 le