>_ IzzyLab

Практическое задание

Удали файл так, чтобы место освободилось

сложно

На сервере кончается место. Файл /srv/data/big.bin (20 MiB) больше не нужен — удали его так, чтобы место на диске действительно освободилось. При этом /var/backups/big.bin — отдельная резервная копия, её трогать нельзя.

Что потренируешь:
  • жёсткие ссылки
  • inode
  • stat
  • find -samefile
  • освобождение места

Разбор темы

Жёсткая ссылка — это ещё одно имя того же inode: у всех имён общие данные и метаданные, а в inode хранится счётчик ссылок. rm удаляет только одно имя и уменьшает счётчик; блоки освобождаются, когда счётчик доходит до нуля (и файл никем не открыт). Поэтому «удалил, а место не вернулось» часто значит, что у файла остались другие имена — в кеше, старом релизе, скрытом каталоге. Их находят по номеру inode (find -inum) или относительно известного имени (find -samefile), ограничив поиск одной файловой системой, ведь номера inode уникальны только в её пределах. Копия с тем же содержимым — самостоятельный файл со своим inode, к удалению она отношения не имеет.

Что проверяется

  1. /srv/data/big.bin удалён
  2. у файла не осталось других имён — место освобождено
  3. резервная копия /var/backups/big.bin цела

Как это выглядит