gzip 아카이브를 디렉토리와 비교하시겠습니까?

gzip 아카이브를 디렉토리와 비교하시겠습니까?

gzip으로 압축된 아카이브를 기존 디렉터리와 비교할 수 있는 방법이 있나요?

나는 tarball에서 데이터를 추출하지 않고도 이 작업을 수행할 수 있기를 원합니다.

답변1

tarball을 디렉토리로 마운트하십시오.AVFS. 그런 다음 diff -r실제 디렉토리와 tarball의 설치 지점에서 사용하십시오.

mountavfs
diff -r ~/.avfs/path/to/foo.tar.gz\# real-directory

GNU/Hurd에서는 이에 상응하는 것이 tarfs.

답변2

GNU tar에는 diff가 내장되어 있는 것으로 밝혀졌습니다.(-디):

$ #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

사용 중인 tar에 이 기능이 없으면 다음을 시도해 보십시오.

$ for F in `tar -tzf archive.tgz`;do tar -xzOf archive.tgz $F|diff --brief - $F;done
Files - and file1 differ

답변3

이것은 새로운 도구입니다:http://diffscope.org/

기존 도구:http://tardiff.sourceforge.net/

관련 정보