Як зробити файлову систему ext4 розрідженою?


10

Я використовую Linux як гостьову ОС у VirtualBox. Я видалив величезну кількість файлів зі своєї файлової системи. Тепер я хочу скоротити файл зображення файлової системи (vdi). Зменшення працює, стискаючи зображення файлової системи, де б вона не мала значення на диску.

Здається, програма під назвою zerofree може записати "null" у вільний простір файлової системи таким чином, що вона стає рідкою. Але інструкція говорить, що вона працює лише на ext2 / ext3. У мене є гостьова ОС ext4.

  1. Чому він не працює на ext 4 (причина, яку називають "розширення", але хтось може пролити на це більше світла)?

  2. Чи спрацює це, якщо я змонтую ext 4 як ext 3, а потім перескладу як ext 4 ?

  3. Будь-які інші інструменти, які можуть робити подібні речі як zerofree на ext?


2
Згідно з посиланням там, на ext4 працює zerofree.
psusi

Я не впевнений, працює він у ваш час чи ні, але manpage сказав, що він підтримує ext4
phuclv

Відповіді:


23

На сторінці, на яку ви посилаєтесь ( http://intgat.tigress.co.uk/rmy/uml/index.html ), зазначено:

The utility also works on ext3 or ext4 filesystems.

Тож я не впевнений, де ви дістаєтесь, що це не працює у файлових системах ext4.

Зауважте, що утиліта zerofree відрізняється від патча ядра zerofree, який згадується на одній сторінці (який, схоже, не має версії для ext4).

Оновлення: Принаймні у випадку VirtualBox, я не думаю, що ця утиліта взагалі не потрібна. У моєму тестуванні на запасі Ubuntu 10.04, встановленому на ext4, ви можете просто знецінити файлову систему так:

$ dd if=/dev/zero of=test.file

... тоді зачекайте, поки віртуальний диск заповниться

$ rm test.file

і вимкніть VM. Потім на своєму хості VirtualBox зробіть:

$ VBoxManage modifyhd --compact yourImage.vdi

і ви відновите весь невикористаний простір.


Дякуємо за Ваш відповідь. На сторінці manfree не вказано ext4, тому мені потрібна альтернатива.
rajaganesh87

1
Пропонована альтернатива (dd, якщо = / dev / zero of = test.file) працювала для мене! Набагато простіше, ніж інші рішення.
Пісу

3
Це має бути прийнятою відповіддю. Працює прекрасно.
Кріс Пратт

Зробіть syncпісля dd.
ignis

ddідея спрацювала і для мене. Чудово зроблено!
Стефан

1

Ви можете використовувати e2fsprogs, є версія, яка може бути використана з ext4.

Зробіть себе суперпопулярним:

# su

Демонтуйте диск:

# umount /dev/sda1

Видаліть журнал свого приводу:

# tune2fs -O ^has_journal /dev/sda1

А потім змініть розмір файлової системи:

# resize2fs /dev/sda1 30G


Дякую за відповідь ур, але я не хочу зменшити розділ, а зображення файлової системи (vdi) гостя.
rajaganesh87
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.