у меня есть куча образов дисков, сделанных с помощью ddrescue, на разделе EXT, и я хочу уменьшить их размер без потери данных, все еще будучи монтируемым.
как я могу заполнить пустое пространство в файловой системе образа нулями, а затем преобразовать файл в разреженным файлом так это пустое пространство на самом деле не хранится на диске?
например:
> du -s --si --apparent-size Jimage.image
120G Jimage.image
> du -s --si Jimage.image
121G Jimage.image
это на самом деле имеет только 50G реальных данных о нем, хотя, так что второй измерение должно быть намного меньше.
это якобы заполнит пустое пространство нулями:
cat /dev/zero > zero.file
rm zero.file
но если разреженные файлы обрабатываются прозрачно, это может фактически создать разреженный файл, ничего не записывая на виртуальный диск, по иронии судьбы не позволяя мне превратить образ виртуального диска в разреженный файл. 🙂 Не так ли?
примечание: по какой-то причине,sudo dd if=/dev/zero of=./zero.file
работает cat
не работает на подключенном образе диска.