Как я могу освободить место из массивной папки 39.5GB / var / log /?

47

Я только что получил сообщение от программы для анализа дисков по умолчанию (Baobab), что на жестком диске осталось только 1 ГБ. После некоторых поисков я обнаружил, что /var/log/причиной является папка.

Некоторые файлы / размеры в /var/log/:

  • kern.log = 12,6 ГБ
  • ufw.log = 12,5 ГБ
  • kern.log.1 = 6,1 ГБ
  • ufw.log.1 = 6,0 ГБ

И так далее и тому подобное. /var/logогромный.

Могу ли я удалить эти файлы или всю /var/logпапку? Или это БОЛЬШОЕ НЕТ НЕТ в Ubuntu?

blade19899
источник

Ответы:

39

Вы не должны удалять всю папку, но вы можете удалить файлы журнала «Old-Packed», не нанося вреда вашей системе.

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

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

Выберите расширение .gz

Салих Эмин
источник
7
find / var / log -type f -name "* .gz" -exec rm -f {} \;
diyism
@diyism Я попробовал твой код, но не сильно помог. мой журнал все еще использует 6 ГБ места @ _ @
GusDeCooL
1
find /var/log -type f -name "*.gz" -deleteЯ удалил сжатые файлы и освободил только около 1 ГБ. Разве 50 ГБ недостаточно для /каталога, а для остальных дисков - /home!
Мухаммед Гелбана
На компьютере моей матери был файл kern.log размером 21 ГБ. Большой kern.log указывает на проблему в самом ядре Linux или в чем-то, с чем он сталкивается. В обоих случаях рекомендуется перейти в терминал оболочки Linux и запустить cat /var/log/kern.logили nano /var/log/kern.log(в графическом интерфейсе запустить что-то вроде, например gedit /var/log/kern.logили mousepad /var/log/kern.log) и проверить, в чем может быть проблема. Как только вы выясните, что не так, вы можете запустить sudo rm /var/log/kern.log ; sudo telinit 6, чтобы удалить такой (большой) файл и перезапустить операционную систему.
Юрий Сукупира,
В моем случае это удалит только 15,7 МБ из 41 файла. Реальные проблемы здесь messages(7,7 ГБ), user.log(7,7 ГБ), syslog(4,1 ГБ) и syslog.1(3,5 ГБ). Эти четыре файла составляют 23 ГБ. Есть ли способ их удалить или хотя бы уменьшить их размер?
Родриго
32

Я не буду удалять всю папку / var / log - это сломает вещи.

Вы можете просто уничтожить журналы, как подсказывает @jrg, - но если только перезаписать те вещи, которые записываются в файлы журналов (в основном, syslogd), на самом деле не будет восстановлено место на диске, поскольку файлы будут оставаться в удаленном состоянии до тех пор, пока Файловые дескрипторы закрыты.

Лучше было бы выяснить, почему журналы не вращаются (а затем удаляются). Предполагается, что logrotate сделает это за вас, и я подозреваю, что он не запускается каждую ночь, как должно.

Первое, что я хотел бы сделать:

sudo /etc/cron.daily/logrotate

Это должно вращать файлы журналов (поэтому kern.log становится kern.log.1); и затем вы можете удалить kern.log.1 и т. д., чтобы освободить место на диске.

Если все хорошо, то следующий вопрос - почему это не происходит автоматически. Если вы выключаете компьютер ночью, убедитесь, что у вас установлен анакрон .

richvdh
источник
17

Вы должны посмотреть журналы и посмотреть, что им пишется. Я предполагаю, что UFW / Iptables (вы регистрируете весь сетевой трафик).

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

Я предполагаю, что виновником является ufw, и вы получаете большой журнал в kern.log, потому что вы также регистрируете пакеты там.

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

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

См. Http://manpages.ubuntu.com/manpages/precise/man5/syslog.conf.5.html.

Если вы предоставите более подробную информацию о проблеме, мы можем помочь отладить ее лучше.

пантера
источник
2
Это очень хороший момент. Стоит выяснить, что забивает логи, а не просто удалять их. +1.
richvdh
6

Удаление /var/log, вероятно, является плохой идеей, но удаление отдельных лог-файлов должно быть в порядке.

На моем ноутбуке с небольшим SSD-диском я установил /var/log/tmpи /var/tmp) в качестве tmpfsточек монтирования, добавив следующие строки /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

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

Единственная проблема, с которой я столкнулся, заключается в том, что некоторые программы (особенно APT) хотят записывать свои журналы в подкаталоги /var/logи не достаточно умны, чтобы создавать эти каталоги, если они не существуют. Добавление строки mkdir /var/log/aptв /etc/rc.localисправило эту конкретную проблему для меня; в зависимости от того, какое программное обеспечение вы установили, вам может понадобиться создать и другие каталоги.

(Другой возможностью было бы создать простой tarархив, содержащий только каталоги, и распаковать его /var/logпри запуске, чтобы создать все необходимые каталоги и установить их разрешения одновременно.)

Илмари Каронен
источник
1
UFW был проблемой, по-видимому, я установил логирование на FULL, чтобы оно все регистрировало. спасибо за помощь :)
blade19899