Monte o tarball como um diretório, por exemplo, com AVFS . Em seguida, use diff -r
no diretório real e no ponto em que o tarball está montado.
mountavfs
diff -r ~/.avfs/path/to/foo.tar.gz\# real-directory
Existe alguma maneira de diferenciar um tarball gzipped de um diretório existente?
Eu gostaria de poder fazer isso sem extrair os dados do tarball.
Monte o tarball como um diretório, por exemplo, com AVFS . Em seguida, use diff -r
no diretório real e no ponto em que o tarball está montado.
mountavfs
diff -r ~/.avfs/path/to/foo.tar.gz\# real-directory
Acontece que o GNU tar tem diff construído em (- d) :
$ #Create the archive and a difference:
$ echo one>file1;echo two>file2;tar -czf archive.tgz file*;echo changing>>file1
$ tar -dzf archive.tgz
file1: Size differs
Se você está trabalhando com o tar que não tem essa tentativa:
$ for F in 'tar -tzf archive.tgz';do tar -xzOf archive.tgz $F|diff --brief - $F;done
Files - and file1 differ