Descompactar um arquivo * .tar, enquanto suprime progressivamente o arquivo

0

Eu tenho um arquivo tar de 100 GB de arquivos pequenos (cada um menor que 1 MB). Com este arquivo no 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 este disco tanto do Linux (Ubuntu) quanto do Windows.

    
por larspars 26.05.2018 / 09:16

1 resposta

3

A documentação da opção de tar --delete tem este texto interessante:

This operation will rewrite the archive. You can only use '--delete' on an archive if the archive device allows you to write to any point on the media, such as a disk; because of this, it does not work on magnetic tapes.

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

Eu aconselharia a descompactar os arquivos do final do arquivo e exclua-os na ordem inversa do arquivo. Se tar é inteligente o suficiente, ele apenas encolherá o arquivo toda vez que o último arquivo for arquivado é deletado, e não seria necessário copiar todos os arquivos a seguir de novo e de novo para cada exclusão.

Se isso não funcionar, sua única opção seria encontrar outro disco para contém os arquivos não desimpedidos.

    
por 26.05.2018 / 12:39

Tags