linux-labs

← Практика

Кончилось место на диске

Сломай-почини · Лёгкое · 15 мин · 100 баллов

Кончилось место на диске

На сервере перестала работать служба: она не может записать данные, потому что на корневом разделе / закончилось свободное местоdf -h показывает 100%.

Задача

Сделай так, чтобы:

  1. на разделе / снова было свободное место (хотя бы ~1 ГБ);
  2. причина переполнения была устранена — очищены именно «раздувшиеся» данные, а не системные файлы наугад;
  3. служба снова могла писать на диск.

Подсказки по подходу

  • Сколько занято и где: 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-ВМ для задания — обычно пара секунд. После работы её можно остановить.