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/