問題: 當我想試着用tar命令來創建一個壓縮文件時,總在執行過程中失敗,並且拋出一個錯誤說明"tar:由於前一個錯誤導致於失敗狀態中退出"("Exiting with failure status due to previous errors"). 什么導致這個錯誤的發生,要如何解決?
如果當你執行tar命令時,遇到了下面的錯誤,那么最有可能的原因是對於你想用tar命令壓縮的某個文件中,你並不具備其讀權限。
tar: Exiting with failure status due to previous errors
那么我們要如何確定引起錯誤的這個(些)文件呢?或者如何確定其它的錯誤根源?
事實上tar命令應該會打印出所謂的“上一個錯誤”("previous errors")到底是什么錯誤,但是如果你讓tar運行在詳細模式(即verbose mode,例如, -cvf),那么你會很容易錯失這些信息。要找到這些信息,你可以像下面那樣,把tar的標准輸出(stdout)信息過濾掉。
tar zcvf backup.tar.gz my_program/ > /dev/null
然后你會看到tar輸出的標准錯誤(stderr)信息。(LCTT 譯注:自然,不用 v 參數也可以。)
tar: my_program/src/lib/.conf.db.~lock~: Cannot open: Permission denied tar: Exiting with failure status due to previous errors
你可以從上面的例子中看到,引起錯誤的原因的確是“讀權限不允許”(denied read permission.)要解決這個問題,只要簡單地更改(或移除)問題文件的權限,然后重新執行tar命令即可。