天天看點

CentOS 7 執行 yum 指令失敗問題的排查方法

CentOS 7 執行 yum 指令失敗問題的排查方法

鏡像下載下傳、域名解析、時間同步請點選

阿裡巴巴開源鏡像站

1. 執行yum指令報404錯誤

1)檢查

yum

倉庫是否配置正确,可以到

CentOS 鏡像

下載下傳阿裡雲repo配置檔案。

2)如果報錯中包含

$releasever

變量, 則執行

rpm -qa | grep centos-release

确認

centos-release

是否安裝。未安裝可以執行以下指令下載下傳安裝包進行安裝。

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/centos-release-7-7.1908.0.el7.centos.x86_64.rpm
rpm -ivh centos-release-7-7.1908.0.el7.centos.x86_64.rpm           

2. 執行yum install指令提示failed錯誤

1)從報錯可以看到提示以下資訊,此處以安裝Telnet為例。

ERROR UNpacking rpm package 1:telnet-0.17-64.e17.x86_64
error:unpacking of archive failed on file /usr/bin/telnet;5e785bc7:cpio:open           

2)請執行

lsattr

指令檢查

/usr/bin

目錄權限,發現該目錄有i屬性,導緻無法寫入檔案。執行以下指令解除目錄的i屬性即可。

chattr -i /usr/bin           
CentOS 7 執行 yum 指令失敗問題的排查方法

3. 執行yum指令提示Python解釋器不存在

在執行

yum

指令時提示以下報錯資訊。

-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory           
說明:yum是一個python腳本。

1)執行以下指令檢視

yum

路徑。

cat /usr/bin/yum           

系統會傳回以下路徑。

#!/usr/bin/python           

2)執行以下指令檢查上述檢視的路徑。

ls -al /usr/bin/python           

如果系統傳回以下資訊,Python可能被解除安裝、被改名或移動路徑。

ls: cannot access /usr/bin/python: No such file or directory           

具體請參考以下步驟進行排查。

  • 執行以下指令檢視安裝包是否存在。
rpm -qa | grep python           

系統傳回以下資訊。

python-decorator-3.4.0-3.el7.noarch
libselinux-python-2.5-14.1.el7.x86_64
python-backports-1.0-8.el7.x86_64
python-pyudev-0.15-9.el7.noarch
rpm-python-4.11.3-35.el7.x86_64
python-2.7.5-76.el7.x86_64
.....           
  • 執行以下指令檢視Python相關檔案。
ls -al /usr/bin/python*           
lrwxrwxrwx  1 root root   14 Feb 15  2019 /usr/bin/python-config -> python2-config
lrwxrwxrwx. 1 root root    7 Feb 15  2019 /usr/bin/python.bak -> python2
lrwxrwxrwx. 1 root root    9 Feb 15  2019 /usr/bin/python2 -> python2.7
lrwxrwxrwx  1 root root   16 Feb 15  2019 /usr/bin/python2-config -> python2.7-config
-rwxr-xr-x. 1 root root 7216 Oct 31  2018 /usr/bin/python2.7
-rwxr-xr-x  1 root root 1835 Oct 31  2018 /usr/bin/python2.7-config           

請根據傳回的資訊參考以下場景進行操作。

/usr/bin/python.bak

是否被改名,若發現被改名後手動改回即可恢複正常。

2)如果未發現Python相關檔案,即判定Python被解除安裝。

  • 請找個同系統的正常執行個體,執行如下指令。
mkdir /python/
yum install python --downloadonly --downloaddir=/python/           
  • 執行以下指令将

    /python/

    中的rpm包傳到異常執行個體。
scp /python/* [email protected]:/tmp/           
注意> :x.x.x.x指的是需要通路的主機位址。前提是主機還有公網通路能力,能複制檔案到主機中。
  • 執行以下指令在異常執行個體上安裝Python即可。
cd /tmp
rpm -ivh *           
提供全面,高效和穩定的鏡像下載下傳服務。釘釘搜尋 ' 21746399 ‘ 加入鏡像站官方使用者交流群。”