web-dev-qa-db-ja.com

yumCentOS6という名前のモジュールはありません

python configが動作しなくなりました。yumという名前のモジュールがありません」というエラーが発生します。/usr/bin/yumを編集して#!/usr/bin/python2.6を追加しようとしました。インタプリタとしては役に立ちませんでしたが、元の設定/ usr/bin/pythonに戻しました。

[root@bin]# python --version
Python 2.7.14

[root@bin]# ls -l /usr/bin/python
lrwxrwxrwx 1 root root 18 Feb 21 09:08 /usr/bin/python -> /usr/bin/python2.6

[root@bin]# cat /etc/redhat-release
CentOS release 6.6 (Final)
1
user210912

/usr/bin/pythonはまだ元のPython 2.6がCentOS6に付属しているので、問題はないようです。/usr/bin/python --versionでそれが機能することを再確認できます。

最も可能性の高い問題は、Python 2.7インストールが出荷されたPythonシステムからのインストールで、おそらく/usr/lib/pythonの下にある他のファイル/ディレクトリを上書きしたことです。 site-packagesディレクトリまたは同様のもの。

rpm -Vコマンド(「verify」の場合は「V」)を使用して、RPMパッケージマネージャーに、パッケージのインストール後に変更されたファイルについて通知するように依頼できます。たとえば、すべてのPythonおよびYumパッケージを確認するには、次のコマンドを使用します。

# rpm -Va 'python*' 'yum*'

出力形式のヘルプについてはrpmのドキュメントを参照してください。ただし、いずれの場合も、ファイルの横に「5」フラグが表示されている場合は、MD5がデータベースのフラグと一致していないことを意味します。つまり、ファイルは変更されました。

Yum自体が機能していないため、この状況からどのように回復できるかを言うのは難しいです... rpm -V出力にかなり明白で修正が十分と思われるものがリストされていない限り、RPMを手動でダウンロードするのは難しいか作業集約的です。それらを再インストールします...マシンを最初から再インストールするオプションがある場合は、それを検討する必要があります。

特にCentOSなどのディストリビューションにOSプロバイダーから提供されていないソフトウェアをインストールする場合は、特に注意する必要があります(CentOSとそのアップストリームRHELの大きなセールスポイントは、セキュリティの問題について古いパッケージを最新の状態に保つためのサポートであるためです。 、yumによって管理されていないソフトウェアをインストールすると、それが失われます。)それでもインストールする必要があると思われる場合は、たとえばPython 2.7、/usr/localなどの別のディレクトリ構造でインストールしてみてください。 、したがって、/usrの下のディストリビューションからのPythonインストールを邪魔しないでください。

もっと要点... Python 2.7が必要な場合は、代わりにCentOS 7を使用することを検討しましたか?CentOS6はこの時点ではかなり古いです... CentOS7にはPython 2.7はすでにあるので、CentOS 6を使い続ける強い理由がない限り(そして私は本当に良いものを想像することはできません)、新しいリリースへの移行を検討してください。

1
filbranden