CentOS7 yumコマンドの使用がrootで機能しない

CentOS7 yumコマンドの使用がrootで機能しない

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

答え1

だから私はここでオンライン答えに従いました。

どこで?実際のリンクはありません。誰が次の有害なアドバイスを投稿したかを知るために投稿されたことを確認してください。

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 /コンソールセッションからログアウトしてから再度ログインします。

関連情報