Я использую Linux в качестве гостевой ОС в VirtualBox. Я удалил огромное количество файлов из своей файловой системы. Теперь я хочу сжать файл образа файловой системы (VDI). Сжатие работает путем сжатия образа файловой системы, где он имеет «нулевое» значение на диске.
Кажется, что приложение с именем zerofree может записать « ноль » в свободное пространство файловой системы таким образом, что оно становится разреженным. Но инструкции говорят, что это работает только на ext2 / ext3. У меня есть ext4 на моей гостевой ОС.
Почему он не работает на ext 4 (причина называется "экстентами", но может кто-то пролить на это больше света)?
Будет ли это работать, если я подключу ext 4 как ext 3, а затем перемонтировать как ext 4 ?
Любые другие инструменты, которые могут сделать что-то похожее на ноль бесплатно в Ext?
источник
Ответы:
На странице, на которую вы ссылаетесь ( http://intgat.tigress.co.uk/rmy/uml/index.html ), говорится:
Так что я не уверен, откуда вы взяли, что это не работает на файловых системах ext4.
Обратите внимание, что утилита zerofree отличается от патча ядра zerofree , упомянутого на той же странице (который, похоже, не имеет версии для ext4).
Обновление: по крайней мере, в случае VirtualBox, я не думаю, что вам вообще нужна эта утилита. В моем тестировании на стандартной Ubuntu 10.04, установленной на ext4, вы можете просто обнулить файловую систему следующим образом:
... дождитесь заполнения виртуального диска, затем
и выключите виртуальную машину. Затем на вашем хосте VirtualBox выполните:
и вы восстановите все неиспользуемое пространство.
источник
sync
послеdd
.dd
Идея работала для меня тоже. Красиво сделано!Вы можете использовать
e2fsprogs
, есть версия, которая может использоваться с ext4.Сделай себя суперпользователем:
# su
Размонтируйте ваш диск:
# umount /dev/sda1
Удалить журнал вашего диска:
# tune2fs -O ^has_journal /dev/sda1
А затем измените размер вашей файловой системы:
# resize2fs /dev/sda1 30G
источник