Como verificar / testar arquivos .tar.bz?

11

Eu tenho usado tar com sua função "--use-compress-prog = pbzip2" para arquivar meus arquivos e depois compactá-los com pbzip2 para obter um arquivo "* .tar.bz".

Depois, verifiquei o arquivo resultante com a opção "-t" do pbzip2 e ele passou no teste. No entanto, para grande surpresa, recebi "arquivo incompleto" ou outros erros de integridade ao tentar extrair o arquivo!

É porque pode haver algo errado com o arquivo tar, mas não quando ele foi compactado pelo pbzip2? Se sim, existe uma maneira de verificar o próprio arquivo tar? Caso contrário, que outro problema pode ser esse? Além disso, existem maneiras de recuperar dados de arquivos tar com erros?

Receio já ter perdido alguns dados importantes nesse processo ...

O ponto é que eu gostaria de conhecer um método para testar a integridade dos meus arquivos depois que eles são criados.

hpy
fonte
2
Tente descompactar com bunzip2 normal em vez de pbzip2. Também existem programas alternativos para tar como 'estrela' ou Winrar
Golimar
3
Por favor, poste os comandos que você está executando. Você passou --use-compress-prog=pbzip2ao fazer a extração?
Mikel
Olá. Eu só gostaria de saber uma maneira de testar a integridade de um arquivo tar depois que ele foi criado e compactado via bzip2.
Hp

Respostas:

8

Primeiro teste de compactação bzip2, deve sair OK.

bzip2 -tv FILE.tar.bz2

Em seguida, descompacte o tarball, para obter apenas o tar.

bunzip2 FILE.tar.bz2

Por fim, verifique o arquivo tar,

tar -tvfW FILE.tar

Na verdade, o melhor indicador de um problema é uma falha na extração. Espero que você possa afinar a causa. Também devo mencionar ..., tive uma verificação ocasional de falha no arquivo, mas ainda assim extraí-lo corretamente.

JM Becker
fonte
2
Estou muito feliz por poder apontar você em direção ao seu caminho!
JM Becker
infelizmente bzip2 -TV leva quase tão longo quanto a descompressão, eu gostaria que houvesse uma maneira de testar arquivos possivelmente truncado mais rápido
1
Em vez de extrair o .tar.bz2arquivo, você também pode usar tar's -jinterruptor além tvfW, que (na versão suficientemente recente) pode ler diretamente bzip2 arquivos
Tobias KIENZLER
@TobiasKienzler, você está absolutamente correto ao usar as opções de tar juntos, é mais rápido e também foi o meu primeiro pensamento ... Mas, considerando que o OP estava sendo um pouco "não convencional" com suas opções de compactação, achei que seria melhor verifique adicionalmente a compactação bzip2. Como a combinação das opções seria possível verificar especificamente o alcatrão, descompactando o bzip2, presumindo que sua compactação já era válida.
JM Becker #
@TobiasKienzler, mas sim, se for apenas o alcatrão em questão, a etapa extra é desnecessária. Marquei o seu comentário com +1, pois normalmente é a ação preferida.
JM Becker
-2

Além das soluções acima, você sempre pode usar tubos com alcatrão:

pbzip2 -dc FILE.tar.bz2 | tar -tvfW -
BastyCDGS
fonte
1
por que o voto negativo? Por favor, explique ...
sekmo