Начинающиеся пользователи linux могут столкнуться с проблемой, когда на жестком диске начинается заканчиваться свободное место. Казалось бы ничего нового не устанавливали, а памяти с каждым днем все меньше и меньше до тех пор пока система совсем не откажется работать.
Данная статья поможет новичкам разобраться с проблемой быстро и без паники.
Да, проблема есть! В какую сторону копать?
При такой проблеме стоит первым делом подозревать систему записи логов (системных журналов, сообщений об ошибках системы). Логи - это системные записи от различных программ и служб работающих в системе. При нормальных условиях эти логи занимают сравнительно мало места на диске, но если в какой-то программе (как это было с network manager) есть баг из-за которого пишутся логи или что-то иное работает не так, то логи могут начинать писаться со слишком частой регулярностью.
На моем опыте (с pptp в nm) логи росли со скоростью около 1Гб в неделю. Это практически для любого пользователя будет проблемой.
Диагностика
Чтобы убедиться, что виноваты именно логи нужно заглянуть в каталог /var/log через файловый менеджер или команду оценки размера каталога du.
Если размеры этой папки больше 100Мб, то проблема наверняка в них.
Лечение
Теперь когда мы поняли, что проблема в логах нужно решить эту проблему.
Конечно можно просмотреть логи и найти первопричину проблемы и исправить её, но это под силу не каждому профи.
Для новичка будет удобнее просто отключить систему записи логов.
Отключение rsyslog
Для ведения журналов, скорее всего, используется служба rsyslog.
Для ее отключения введите команду от суперпользователя:
/etc/init.d/rsyslog stop
Тем не менее некоторые программы могут работать некорректно при отключенной службе или записывать логи напрямую, но это скорее исключение, чем правило.
Более мощное лечение - перенос логов во временную память
Если предыдущий метод не помог, то можно приравнять папку логов к tmpfs (временная память).
Для этого отредактируем конфигурационный файл /etc/fstab.
Выполняем от суперпользователя:
nano /etc/fstab
*Вместо nano можно ввести gedit (GNOME) или kate (KDE).
В добавляем строки:
tmpfs /var/log/apt tmpfs defaults 0 0
tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
Сохраняем файл, перезагружаемся.
Смотреть также:
Ротация логов с помощью logrotate
Отвратительная статья, напоминающая потуги одного известного шахтёра на центральном канале рассказывать людям о лечении болезней.
По пунктам:
1) В нормальной системе логи программ ротируются с помощью logrotate, которая удаляет логи старше определённого возраста. В итоге логи в нормальных ситуациях не растут дальше определённого размера.
2) Отключить сислог значит лишить систему возможности сообщать о критических проблемах. Решение с tmpfs не такое резкое, но не менее глупое: логи после ребута теряются, а память (оперативная) засирается.
В итоге вместо демонстрации знания tmpfs автору следовало бы показать как поставить logrotate и рассказать про anacron.