Descompactando um arquivo * .tar, enquanto exclui progressivamente o arquivo morto


1

Eu tenho um arquivo tar de 100 GB de arquivos pequenos (cada um menor que 1 MB). Com este arquivo em disco, tenho 20 GB de espaço livre em disco. Em outras palavras, tenho espaço em disco suficiente para conter os arquivos no tarball, mas não o suficiente para conter arquivos + tarball.

Como posso extrair os arquivos no tarball enquanto libero progressivamente o espaço em disco ocupado pelo tarball?

Eu posso acessar esse disco no Linux (Ubuntu) e no Windows.


Eu acho que é impossível, porque os sistemas de arquivos não permitem o encolhimento rápido de arquivos. Pode estar errado.
T Nierath

Respostas:


4

A documentação para a opção tar--delete contém este texto interessante:

Esta operação irá reescrever o arquivo morto. Você só pode usar `--delete 'em um arquivo morto se o dispositivo de arquivo permitir gravar em qualquer ponto da mídia, como um disco; por isso, ele não funciona em fitas magnéticas.

Como isso requer que a mídia suporte leituras / gravações aleatórias, isso pode com um pouco de sorte significar que --deleteé feito no local sem descompactar para criar uma nova instância do arquivo morto. Nesse caso, você pode descompactar 20 GB de arquivos e excluí-los para reduzir o arquivo morto. Repita a operação cinco (ou seis) vezes.

Eu recomendaria descompactar os arquivos do final do arquivo e excluí-los na ordem inversa do arquivo. Se o tar for inteligente o suficiente, apenas reduzirá o arquivo toda vez que o último arquivo do arquivo for excluído e, dessa forma, não será necessário copiar todos os arquivos a seguir repetidamente para cada exclusão.

Se isso não funcionar, sua única opção seria encontrar outro disco para conter os arquivos não classificados.


0

Eu sei que essa não é uma resposta exata, mas com a falta de boas opções, acabei com o untar em outro host, seguido pelo uso

scp -r /path/to/folder user@host:/path/to/remote

Não é a melhor solução, mas para mim funcionou como uma solução aceitável. Eu diria que isso seria uma boa solução para mais da metade dos casos em que queremos usar o tar e remover os arquivos simultaneamente.

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.