Кончилось место на диске
Сломай-почини · Лёгкое · 15 мин · 100 баллов
Кончилось место на диске
На сервере перестала работать служба: она не может записать данные, потому что на
корневом разделе / закончилось свободное место — df -h показывает 100%.
Задача
Сделай так, чтобы:
- на разделе
/снова было свободное место (хотя бы ~1 ГБ); - причина переполнения была устранена — очищены именно «раздувшиеся» данные, а не системные файлы наугад;
- служба снова могла писать на диск.
Подсказки по подходу
- Сколько занято и где:
df -h(по разделам), затемduсверху вниз по каталогам. - Быстро найти крупное:
sudo du -xh / | sort -h | tailилиdu -sh /var/* | sort -h. - Удаляй осознанно: разросшийся лог лучше очистить (
truncate -s 0), а не удалять — файл может держать открытым процесс, и место не вернётся до его перезапуска. - Проверяй результат по кнопке «Проверить» — она смотрит конечное состояние, а не конкретные команды. Путей к решению может быть несколько.
Всё нужное уже установлено. Интернет на машине отсутствует — и не понадобится.
Подсказки
Подсказка 1
Начни с df -h — увидишь, какой раздел заполнен под 100%. Затем спускайся по
каталогам: sudo du -xh / 2>/dev/null | sort -h | tail -20.
Подсказка 2
Чаще всего место съедает что-то в /var — логи (/var/log) или временные/дамповые
файлы. Загляни: du -sh /var/* | sort -h, потом внутрь самого крупного каталога.
Подсказка 3
Нашёл «раздувшийся» лог — очисти его, не удаляя сам файл:
sudo truncate -s 0 /var/log/<файл>. Если это явно ненужный большой файл — rm.
Перепроверь df -h: на / должно появиться свободное место.
Поднимет вашу личную эфемерную Linux-ВМ для задания — обычно пара секунд. После работы её можно остановить.