Tar

將 gzip 壓縮的 tarball 與目錄進行比較?

  • July 26, 2021

有沒有辦法可以將 gzipped tarball 與現有目錄進行比較?

我希望能夠在不從壓縮包中提取數據的情況下做到這一點。

將 tarball 掛載為目錄,例如使用AVFS。然後diff -r在真實目錄和 tarball 的安裝點上使用。

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

在 GNU/Hurd 上,相當於tarfs.

事實證明 GNU tar 有 diff 內置*(-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

如果您正在使用沒有此功能的 tar,請嘗試:

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

引用自:https://unix.stackexchange.com/questions/16750