Eu sei que você pode fazer -W ao criar um arquivo, mas como você verifica um arquivo já criado? tvWf diz que não é um arquivo tar válido?
$ mkdir tmp
$ echo asdkfjh > tmp/a
$ echo qweroiu > tmp/b
$ ls
tmp
$ tar cvf archive.tar tmp
tmp/
tmp/a
tmp/b
$ tar tvWf archive.tar
tar: This does not look like a tar archive
tar: Skipping to next header
tar: VERIFY FAILURE: 1 invalid header detected
tar: Error exit delayed from previous errors
O mesmo acontece com o tar 1.15 (que é o padrão do sistema no centos 5) e com o 1,26 (que é a versão mais recente do gnu).
t
sozinho apenas lista o conteúdo do arquivo. Quero verificar se os arquivos no alcatrão têm o mesmo conteúdo que os originais (ainda no sistema de arquivos), o que eu pensei que era o queW
deveria fazer (certo?).tar tvWf t.tar
tar: --verify cannot be used with -t
:tar (GNU tar) 1.27.1
GNU
tar
tem uma--compare
opção. Consulte a seção Comparando membros do arquivo com o sistema de arquivos da documentação para obter detalhes.fonte
tar -df /path/to/archive.tar.bz2
, mostrará diferenças entre os arquivos no arquivo e o sistema de arquivos, resolvendo os caminhos relativos no arquivo no diretório de trabalho atual.Joerg Schillings
star
possui uma opção diff , que é capaz de comparar arquivos em um arquivo tar com o original. Você pode indicar o que deve ser reconhecido como diferença.Observe que ele mencionou
testfile
como sendo de tamanho e dados diferentes. Se eu não tivesse excluído os horários (incluindo o tempo de acesso!), Ele também teria declarado o horário de acesso e também listaria todos os arquivos cujos horários foram alterados apenas olhando para eles.Desde o fim do BerliOS,
star
pode ser encontrado no sourceforge . É altamente portátil e compila sem problemas na maioria dos sistemas unixóides e similares.fonte
schilytools
pacote de fontes.