天天看點

Linux常見問題解答--如何修複“tar:Exiting with failure status due to previous errors”

問題: 當我用tar指令來建立一個壓縮檔案時,總在執行過程中失敗,并且抛出一個錯誤說明"tar:由于前一個錯誤導緻失敗退出"("Exiting with failure status due to previous errors"). 什麼導緻這個錯誤的發生,要如何解決?

<a href="http://s3.51cto.com/wyfs02/M00/72/A8/wKioL1Xq3BDhdWmgAAFfFriMUTA591.jpg" target="_blank"></a>

     當你執行tar指令時,遇到了下面的錯誤,那麼最有可能的原因是對于你想用tar指令壓縮的某個檔案中,你并不具備其讀權限。

<code>tar:Exitingwith failure status due to previous errors</code>

       那麼我們要如何确定引起錯誤的這個(些)檔案呢?或者如何确定其它的錯誤根源?

     事實上tar指令應該會列印出所謂的“上一個錯誤”("previous errors")到底是什麼錯誤,但是如果你讓tar運作在詳細模式(即verbose mode,例如, -cvf),那麼你會很容易錯失這些資訊。要找到這些資訊,你可以像下面那樣,把tar的标準輸出(stdout)資訊過濾掉。

<code># tar zcvf bak_lamp.tar.gz /var/spool/cron/ /etc/ /root/scripts/ /application/data/ /application/apache/logs/ /application/apache/conf/ &gt;/dev/null</code>

   然後你會看到tar輸出的标準錯誤(stderr)資訊。(LCTT 譯注:自然,不用 v 參數也可以。)

# tar zcvf bak_lamp.tar.gz /var/spool/cron/ /etc/ /root/scripts/ /application/data/ /application/apache/logs/ /application/apache/conf/ &gt;/dev/null

tar: Removing leading `/' from member names                  #出現錯誤原因(1)

tar: /root/scripts: Cannot stat: No such file or directory  #出現錯誤原因(2)

tar: Exiting with failure status due to previous errors

  你可以從上面的案例中看到,引起錯誤的原因是(1)“沒有搜尋到檔案或目錄”(tar: /root/scripts: Cannot stat: No such file or directory)要解決這個問題,隻要簡單地建立/root/scripts這個檔案或目錄即可;(2)“從參數名稱最後面删除‘/’ ”,然後重新執行tar指令即可。

本文轉自 linuxzkq 51CTO部落格,原文連結:http://blog.51cto.com/linuxzkq/1691628

繼續閱讀