在Linux執行個體中執行yum命令失敗,提示“error: unpacking of archive failed on file /usr/bin/xxxx: cpio: open Failed”錯誤怎麼辦?

更新時間:
Copy as MD

本文介紹在Linux系統的ECS執行個體中執行yum命令(如yum -y install XXXyum listyum search XXX等)失敗,提示“error: unpacking of archive failed on file /usr/bin/xxxx: cpio: open Failed”錯誤時的解決方案。

問題現象

Linux系統的ECS執行個體中執行yum命令(如yum -y install XXXyum listyum search XXX等)失敗,提示error: unpacking of archive failed on file /usr/bin/xxxx: cpio: open Failed錯誤。

問題原因

該問題可能是因為ECS執行個體中/usr/bin檔案屬性配置錯誤,例如配置了i、a屬性(表示不能刪除、修改資料),導致在使用yum install命令時報錯。

檔案常見屬性說明如下:

屬性

說明

i

  • 對檔案設定i屬性,不允許對檔案進行刪除、重新命名,也不能添加和修改資料。

  • 對目錄設定i屬性,只能修改目錄下檔案中的資料,但不允許建立和刪除檔案。

a

  • 對檔案設定a屬性,只能在檔案中新增資料,但是不能刪除和修改資料。

  • 對目錄設定a屬性,只能在目錄中新增和修改檔案,但是不允許刪除檔案。

u

對檔案或目錄設定u屬性,在刪除時,其內容會被儲存,以保證後期能夠恢複,一般用來防止意外刪除檔案或目錄。

s

對檔案或目錄設定s屬性,在刪除檔案或目錄時,會被徹底刪除,不可恢複。

e

Linux中絕大多數的檔案都預設擁有e屬性,表示該檔案是使用ext檔案系統進行儲存的。

解決方案

您可以參考以下步驟,根據實際需要修改/usr/bin檔案屬性,來解決執行yum命令失敗問題。

  1. 使用root使用者遠端連線ECS執行個體。

    具體操作,請參見串連方式概述

  2. 運行如下命令,查看並確認/usr/bin目錄屬性是否有誤。

    lsattr /usr

    返回類似如下圖所示,表示/usr/bin目錄屬性為i(不允許在該目錄下建立和刪除檔案),請繼續執行步驟3移除目錄i屬性。

    lsattr

  3. 執行如下命令,移除/usr/bin目錄i屬性。

    chattr -i /usr/bin
    說明
    • +:為檔案或目錄添加屬性。

    • -:移除檔案或目錄已有的某些屬性。

    • =:為檔案或目錄設定一些屬性。

  4. 再次執行yum命令,確保可以正常運行。