Обнуление удаленных файлов

Я хочу минимизировать объем пространства, используемого моим виртуальным диском, обнуляя данные в любых удаленных файлах. Виртуальный диск - это VDMK под управлением Ubuntu с одним разделом Ext4 в VirtualBox.

Каков наилучший способ найти удаленные файлы и обнулить их, чтобы при экспорте устройства размер диска соответствовал только существующим файлам на диске?

5 ответов

Решение

Если вы используете файловую систему, которая поддерживает ее, вы можете использовать zerofree.

Если это не так, вам просто нужно использовать dd для записи нуля в файл на каждом разделе, пока не останется свободного места. Затем удалите файл, заполненный нулями.

Дамп и восстановление будет работать.

Для каждой файловой системы

sudo dd if=/dev/zero of=/zero
# ...wait until the filesystem is full...
sudo rm /zero

Это создаст файл над всем свободным пространством в файловой системе, заполненный нулями. Когда вы удалите его, в разделе останутся только нули. Тем не менее, я думаю, вам все равно нужно сжать виртуальный диск, так как нули все равно занимают место. Я не уверен, насколько умное управление дисками в Virtual box.

Если вы еще не удалили файлы, вы можете сделать что-то вроде этого:

shred --iterations=0 --exact --zero --remove file

Чтобы это работало, вы должны использовать тонкую настройку. Или я не прав?

Другие вопросы по тегам