Como corrigir arquivo Tar truncado no console linux

0

Em um servidor remoto rodando Linux Ubuntu 16.04 ', fiquei sem espaço ao fazer um arquivo tar de um monte de arquivos .rar antigos (~ 150G), e agora o tar final é' corrupto '. Isso é quando eu faço um tar tf :

tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

Como posso corrigir esse problema corrompido?

Eu tentei:

  • exclua o arquivo truncado do tar ( tar --delete -f mycorruptedtar.tar offendingfile.ext )
  • conserte-o extraindo os arquivos que não estão corrompidos e adicionando-os a um novo tar fazendo

#!/bin/bash

for file in $(tar -tf mycorruptedtar.tar);
do
        if [ ! "$file" == "offendingfile.ext" ]
        then
                tar xf mycorruptedtar.tar $file
                tar rf newtar.tar $file --remove-files
                tar --delete -f mycorruptedtar.tar $file
        fi
done
  • Eu também tentei usar um editor hexadecimal para remover a última parte do arquivo, que eu presumo que é onde está o problema, mas eu me acostumei porque não sabia exatamente como ou o que corrigir e eu não queria piorar as coisas.

Alguma idéia?

    
por arod 05.09.2017 / 16:22

0 respostas