Bash

使用 CentOS7 yum 命令在 root 中不起作用

  • December 1, 2020

當我使用 yum 時,我得到了這個:

$ yum -y update
-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

所以我從這裡遵循了一個線上答案:

$ sudo rm -rf /usr/bin/python
$ sudo ln -s /usr/bin/python2.7 /usr/bin/python
ln: failed to create symbolic link ‘/usr/bin/python’: File exists

另外檢查了百勝:

$ type -a yum
yum is /usr/bin/yum

並檢查了python:

$ which python
/usr/bin/which: no python in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

所以我對這裡發生的事情完全感到困惑。這似乎是在我安裝 python3 或創建新使用者之後開始的。

PS。我對 Centos7 很陌生。

更新:

$ file /usr/bin/python
/usr/bin/python: symbolic link to `python2'

$ ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Dec  1 11:01 /usr/bin/python -> python2

所以我從這裡遵循了一個線上答案:

從哪裡?沒有實際的連結。確保它已發布,以便我們知道誰發布了這樣具有破壞性的建議:

sudo rm -rf /usr/bin/python

你不應該在 CentOS 或任何其他使用任何類型打包的系統(Debian、Ubuntu 等)中做這樣的事情。

/usr/bin您可以對(由 管理)下的文件做的唯一安全的事情yum是啟動它們。您永遠不應該手動刪除這些文件。如果你想刪除一些東西,你應該執行類似yum remove <package-name>這樣的東西,它將刪除二進製文件(如果有的話)和屬於包程序的任何其他補充文件。

雖然您還沒有完全搞砸系統,但您可以重新創建正確的符號連結:

ln -fs /usr/bin/python2 /usr/bin/python

在此之後,從您的 SSH/控制台會話中註銷,然後重新登錄。

引用自:https://unix.stackexchange.com/questions/622327