Выбор ответа Middle Диски, ФС и LVM спрашивают часто обновлено

df показывает заполненный диск, du нет

Вопрос

После rm /var/log/app/huge.log (30 ГБ) df -h / всё ещё показывает 100%, а du -sh /var/log около 1 ГБ. В чём дело?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Файл удалён, но процесс держит его открытым, и место не освобождено. Удаление убирает имя, а данные освобождаются, когда счётчик ссылок равен нулю и файл никто не держит открытым.

Варианты ответа

  1. Нужно подождать: ext4 освобождает место удалённых файлов раз в час
  2. Файл удалён, но процесс держит его открытым, и место не освобожденоправильный ответ
  3. Удаление попало в корзину ~/.local/share/Trash, её надо очистить
  4. df кеширует результат, нужно выполнить sync и проверить снова

Разбор

Удаление убирает имя, а данные освобождаются, когда счётчик ссылок равен нулю и файл никто не держит открытым. Процесс приложения продолжает писать в удалённый файл. Найти: lsof +L1. Решение: перезапустить процесс или обнулить файл через /proc/<pid>/fd/<N>. Отложенного освобождения в ext4 нет, rm корзину не использует, df берёт данные у ФС сразу.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.