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.
Respostas:
A documentação para a opção tar
--delete
contém este texto interessante: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.
fonte
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
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.
fonte