Como posso zerar arquivos dentro de um arquivo de imagem do VMware para que seu espaço possa ser recuperado?

3

existe um comando no Linux para remover um arquivo, mas zerando seu conteúdo primeiro?

então se eu fizer, algo assim:

rm -rf /var/cache/pacman/pkg/*

ele sobrescreveria cada arquivo desse diretório com 0 valores e, em seguida, o apagaria

Eu preciso disso para compactar meus arquivos de imagem VMware sem criar arquivos super grandes contendo zeros primeiro.

    
por Kokizzu 25.09.2013 / 17:16

4 respostas

7

O comando shred pode zerar um arquivo. Para fazer o que você quer, acho que algo assim deveria funcionar

find /var/cache/pacman/pkg -type f -exec shred -n 0 -z {} \; \
    && rm -rf /var/cache/pacman/pkg/*
    
por 25.09.2013 / 17:24
5

Você pode fazer isso com o comando shred :

shred -z -u <filename>
A opção

-z faz com que o arquivo se torne zero, então a opção -u excluirá o arquivo.

    
por 25.09.2013 / 17:32
3

Você também pode usar a ferramenta zerofree para zerar todos os blocos no disco que não são usados. Isso pode economizar uma quantidade significativa de espaço.

Esse método exigirá que você inicialize em um SO alternativo, como Finnix . Você também pode usar Parted Magic que vem com o zerofree instalado.

Exemplo

Usando o Finnix:

$ sudo apt-get update && sudo apt-get install -y zerofree

Uma vez instalado, você executa essa ferramenta em toda a partição da seguinte forma:

$ sudo zerofree -v /dev/sda1

Então poweoff:

$ sudo poweroff

Referências

por 25.09.2013 / 18:35
1

Eu não entendo quando você se refere a zeoring. Se você quiser truncar um arquivo para 0B você pode usar > filetotruncate.txt . Por exemplo:

$ ls -lh file
-rw-r--r-- 1 user user 94M sep 25 17:27 file
$> file && ls -lh file
-rw-r--r-- 1 user user 0 sep 25 17:28 file
    
por 25.09.2013 / 17:31