Недостаточно места на диске в Linux? Проверьте свои журналы!

Ключевые выводы

  • Системные журналы Linux могут занимать значительный объем дискового пространства.
  • Ваша система обычно сжимает старые файлы журналов для экономии дискового пространства.
  • Вы можете использовать команду Journalctl или Tail -f для просмотра журналов и выявления проблемных процессов.

Хотя системы Linux имеют репутацию стройных систем, вы можете обнаружить, что у вас внезапно заканчивается дисковое пространство. Почему это произошло? Самую большую подсказку и, возможно, самую большую причину можно найти в системных журналах Linux.

Почему журналы занимают так много места на диске?

Журналы — важная часть управления вашей системой Linux. Вы можете видеть, что происходит с вашим компьютером, а также устранять возникающие проблемы. Демоны ведения журналов Linux аналогичны средству просмотра событий в Windows. Журналы обычно не занимают много места. Это связано с тем, что большинство дистрибутивов автоматически управляют тем, сколько места они занимают на вашем диске.

Журналы Linux исторически представляли собой обычные текстовые файлы, но, поскольку многие основные дистрибутивы перешли на systemd, они представляют собой двоичные файлы, которыми управляет Journald, служба systemd. В качестве альтернативы ваш дистрибутив будет использовать либо rsyslog, либо syslog-ng.

  5 лучших дистрибутивов Linux для игр

Поскольку старые журналы не имеют значения, а большие архивы могут занимать место, ваша система обычно «ротирует» их — архивирует, сжимает и, в конечном итоге, удаляет — чтобы сэкономить дисковое пространство для того, что вам действительно нужно.

Хотя вы, возможно, и не думаете, что журналы будут занимать много места, сбойный процесс может заполнить ваши журналы быстрее, чем система сможет их повернуть.

Если вы проверили свое дисковое пространство и обнаружили, что у вас внезапно заканчивается место, и вы знаете, что в последнее время не загружали большие файлы, причиной может быть проблема с системными журналами Linux. Вам придется выяснить, что заполняет ваши системные журналы, и исправить это.

Вы можете проверить, сколько дискового пространства вы используете с помощью команды du -h:

 du -h /var/log 

Вы увидите список каждого подкаталога вместе с общим объемом занимаемого им места:

Поиск журналов

Если вы используете современный дистрибутив Linux с systemd, вы будете использовать программу Journalctl для просмотра журналов; Journald обычно хранит журналы в каталогах /var/log/journal или /run/log/journal, в зависимости от дистрибутива.

Чтобы просмотреть журналы, введите команду Journald в командной строке. Есть и другие полезные параметры командной строки. Чтобы просмотреть загрузочные сообщения, используйте опцию -b:

 journalctl -b 

Вы можете просматривать сообщения журнала вашей системы в режиме реального времени с помощью опции -f.

  Запишитесь на эти сертификационные курсы Linux, чтобы стать системным администратором

Если ваш дистрибутив не использует systemd, вы найдете журналы в каталоге /var/log. Даже при использовании systemd некоторые программы по-прежнему хранят свои журналы в этом каталоге. Это обычные текстовые файлы, которые можно просмотреть с помощью такой утилиты, как пейджер, например less.

Например, чтобы прочитать системный журнал:

 less /var/log/syslog

Вы увидите полное содержимое файла журнала, который может содержать тысячи строк:

Вы также можете отслеживать его в режиме реального времени с помощью опции -f команды Tail:

 tail -f /var/log/syslog

Как Linux меняет файлы журналов

В каталоге /var/log вы можете заметить файлы с именами, оканчивающимися на «log.N.gz», где N — число. Это результат ротации старых журналов в системе. В большинстве дистрибутивов есть утилита, которая делает это автоматически, называемая «logrotate». logrotate обычно настраивается для запуска как задание cron или таймер systemd.

По умолчанию большинство дистрибутивов запускают logrotate ежедневно. logrotate сжимает старые журналы с помощью gzip, о чем свидетельствует расширение файлов «.gz». Для этого он использует пороговое значение, например возраст или размер файла, а также другое пороговое значение для окончательного удаления старых файлов журналов.

Параметры logrotate по умолчанию достаточны для большинства пользователей настольных компьютеров. Вы можете настроить поведение logrorate, отредактировав файл /etc/logrotate.conf от имени суперпользователя, а также отредактировав системные файлы таймера cron или systemd, но на самом деле эти операции актуальны только для администраторов сервера.

  Как обновить Fedora Linux

Лучше исправить то, что заполняет ваши журналы, чем настраивать файлы конфигурации для экономии дискового пространства. Если вам абсолютно необходимо изменить конфигурацию, вы можете прочитать страница руководства logrotate.

Какие журналы безопасно удалить?

Если все остальное не помогло и вы отчаянно пытаетесь освободить место на диске, вы можете вручную удалить архивные файлы журналов, оканчивающиеся на «.gz», прежде чем это сделает logrotate. Вы можете использовать rm, но запускать его нужно будет от имени суперпользователя, поскольку эти файлы принадлежат системе:

 sudo rm /var/syslog/syslog.*gz 

Эта команда удалит все файлы, содержащие «syslog». и заканчивается на «гз».

Всегда будьте очень осторожны при запуске команд через sudo, особенно деструктивных команд, таких как rm!

Обычно не следует удалять файлы в системных каталогах, не понимая полностью последствий, но отсутствие архивных журналов не вызовет никаких проблем. Однако если у вас возникла проблема, возможно, вам придется обратиться к более старым журналам.

Как исправить то, что заполняет ваши журналы

Лучший способ узнать, что заполняет ваши журналы, — это следить за журналами с помощью параметров Journalctl или Tail -f. Лучше всего повторять сообщения об ошибках.

Вам придется разобраться с проблемным процессом, чтобы сэкономить место на диске. Если вы не знаете, что вызывает ошибку, вы можете выполнить поиск в Интернете или обратиться за помощью по каналам поддержки вашего дистрибутива. Когда вы, наконец, исправите это, вы можете безопасно удалить старые журналы. Теперь у вас должно быть гораздо больше места на диске.