Como tornar o sistema de arquivos ext4 escasso?


10

Estou usando o Linux como sistema operacional convidado no VirtualBox. Eu apaguei um grande número de arquivos do seu sistema de arquivos. Agora eu quero diminuir o arquivo de imagem do sistema de arquivos (vdi). O encolhimento funciona comprimindo a imagem do sistema de arquivos sempre que tiver um valor "nulo" no disco.

Parece que um aplicativo chamado zerofree pode escrever "null" no espaço livre do sistema de arquivos, de forma que se torne escasso. Mas as instruções dizem que funciona apenas em ext2 / ext3. Eu tenho ext4 no meu sistema operacional convidado.

  1. Por que não funciona no ext 4 (o motivo citado é "extents", mas alguém pode lançar mais luz sobre ele)?

  2. Funcionará, se eu montar o ext 4 como ext 3 e depois remontar como ext 4 ?

  3. Alguma outra ferramenta que pode fazer algo parecido com o zerofree no ext?


2
De acordo com o link, o zerofree funciona no ext4.
Psr #

Eu não tenho certeza se ele funciona em seu tempo ou não, mas o manpage disse que ele suporta ext4
phuclv

Respostas:


23

A página que você faz referência ( http://intgat.tigress.co.uk/rmy/uml/index.html ) declara:

The utility also works on ext3 or ext4 filesystems.

Portanto, não tenho certeza de onde você está conseguindo que ele não funcione nos sistemas de arquivos ext4.

Observe que o utilitário zerofree é diferente do patch do kernel zerofree mencionado na mesma página (que de fato não parece ter uma versão para ext4).

Atualização: Pelo menos no caso do VirtualBox, acho que você não precisa deste utilitário. Nos meus testes, em uma instalação padrão do Ubuntu 10.04 no ext4, você pode zerar o sistema de arquivos da seguinte maneira:

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

... aguarde o disco virtual preencher, depois

$ rm test.file

e desligue a VM. Em seguida, no seu host do VirtualBox, faça:

$ VBoxManage modifyhd --compact yourImage.vdi

e você recuperará todo o espaço não utilizado.


Obrigado pela sua resposta. A página de manual do zerofree não especificou ext4, é por isso que eu precisava de uma alternativa.
precisa saber é o seguinte

1
A alternativa proposta (dd se = / dev / zero de = test.file) funcionou para mim! Muito mais simples que outras soluções.
Pisu 5/11/11

3
Essa deve ser a resposta aceita. Funciona lindamente.
22812 Chris Pratt

Faça um syncapós o dd.
Ignis

ddideia funcionou para mim também. Bem feito!
Stefan

1

Você pode usar e2fsprogs, existe uma versão que pode ser usada com o ext4.

Sinta-se superusuário:

# su

Desmonte sua unidade:

# umount /dev/sda1

Remova o diário da sua unidade:

# tune2fs -O ^has_journal /dev/sda1

E, em seguida, redimensione seu sistema de arquivos:

# resize2fs /dev/sda1 30G


Obrigado pela resposta, mas não quero reduzir a partição, mas a imagem do sistema de arquivos (vdi) do convidado.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.