Tar

驗證創建的存檔時出現“tar:/path/to/my/dir: Not found in archive”錯誤

  • December 15, 2020

我確實使用以下命令將目錄壓縮為.tar.xz存檔格式:

tar --create --verbose --file myArchive.tar.xz /path/to/my/dir

然後,我嘗試使用以下命令檢查已創建存檔的執行狀況:

tar --compare --file myArchive.tar.xz /path/to/my/dir

我得到了這個錯誤行:

tar: /path/to/my/dir: Not found in archive
tar: Exiting with  failure status due to previous error

我重試了,但得到了相同的結果。問題是什麼,我該如何解決?

如果您確實需要使用絕對路徑名,那麼您應該考慮-P同時使用 for your--create--comparecommands。

   -P, --absolute-names
       Don't strip leading slashes from file names when creating archives.

例子:

$ tar -cvPf a.tar /home/user/test_file
/home/user/test_file
$ tar -dvPf a.tar /home/user/test_file
/home/user/test_file

或者您可以使用-C, 在比較之前更改目錄。

   -C, --directory=DIR
       Change to DIR before performing any operations. This option is
       order-sensitive, i.e. it affects all options that follow.

例子:

tar -cvf a.tar /home/user/test_file
tar: Removing leading `/' from member names
/home/user/test_file
tar -dvf a.tar -C/ home/user/test_file
home/user/test_file

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