CentOS 7 執行 yum 命令失敗問題的排查

1、執行 yum 命令報 404 錯誤
1)檢查 yum 倉庫是否配置正確,可以到阿里雲下載 repo 配置文件。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.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

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
請根據返回的信息參考以下場景進行操作。
1)檢查/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 *

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章