Tar
您如何驗證已寫入的 tar 存檔?
我知道您可以在創建存檔時執行 -W,但是您如何驗證和已經創建的存檔?tvWf 說它不是有效的 tar 存檔?
$ 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
同樣的事情發生在 tar 1.15(這是 centos 5 上的系統預設值)和 1.26(這是來自 gnu 的最新版本)。
你不能使用
W
witht
。mkdir tmp echo bdb > tmp/a echo bdb > tmp/b tar cvf archive.tar tmp tmp/ tmp/a tmp/b ls -l archive.tar -rw-r--r-- 1 tony tony 10240 Jun 23 05:57 archive.tar tar tvf archive.tar drwxr-sr-x tony/tony 0 2011-06-23 05:57 tmp/ -rw-r--r-- tony/tony 4 2011-06-23 05:57 tmp/a -rw-r--r-- tony/tony 4 2011-06-23 05:57 tmp/b tar tvWf archive.tar tar: This does not look like a tar archive tar: Skipping to next header tar: Exiting with failure status due to previous errors
我相信
t
僅此一項就足以測試存檔。
GNU
tar
有一個--compare
選擇。有關詳細資訊,請參閱文件的將存檔成員與文件系統部分進行比較。