150台のサーバーのグループに一連の変更を加えています。 1つを除いて、すべてのシステムはyum
を介して特定のRPMセットを正常にダウンロードおよびインストールできました。この特定のシステムの1つである「クリーン」以外のすべてのyumコマンドは、次のものを画面にダンプします。
[root@dev1v ~]# yum install sssd
Loaded plugins: rhnplugin
/usr/lib64/python2.6/xmlrpclib.py:612: DeprecationWarning: The xmllib module is obsolete. Use xml.sax instead.
import xmllib # lazy subclassing (!)
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 285, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 136, in main
result, resultmsgs = base.doCommands()
File "/usr/share/yum-cli/cli.py", line 434, in doCommands
self._getTs(needTsRemove)
File "/usr/lib/python2.6/site-packages/yum/depsolve.py", line 99, in _getTs
self._getTsInfo(remove_only)
.
.
.
File "/usr/lib/python2.6/site-packages/yum/repoMDObject.py", line 124, in __init__
self.parse(srcfile)
File "/usr/lib/python2.6/site-packages/yum/repoMDObject.py", line 140, in parse
parser = iterparse(infile)
File "/usr/lib/python2.6/site-packages/yum/misc.py", line 1169, in cElementTree_iterparse
_cElementTree_import()
File "/usr/lib/python2.6/site-packages/yum/misc.py", line 1164, in _cElementTree_import
import cElementTree
ImportError: No module named cElementTree
私はもう試した:
expat
、python
の一部など.何かご意見は?
修正:
どうやら、このシステムのOracleインストールは、OracleのパスをLD_LIBRARY_PATHに挿入しました...
[root@dev1v etc]# export
declare -x LD_LIBRARY_PATH="/home/Oracle/app/Oracle/product/11.2.0/client_1/lib"
変数の設定を解除すると、yumが再び正しく機能するようになりました。
うーん、python 2.6では、cElementTreeはpythonパッケージの一部である/usr/lib64/python2.6/xml/etree/cElementTree.pyにあります。 yumコードでimport cElementTree
に到達しているという事実は、xml.etree
が欠落しているように見えることを示しています。
Rpmを手動でダウンロードし、rpm -Uvh
を使用してpythonを再インストールしてみてください。
それが機能しない場合、pythonシェルでimport xml.etree.cElementTree
を実行するとどうなりますか? rpm --verify python
は何と言いますか?
オラクルのlib/
パスを/etc/ld.so.conf.d
に入れてこの問題を引き起こしている人も見ました
使用:
echo /opt/Oracle/app/product/11.2.0/dbhome_1/lib/> /etc/ld.so.conf.d/Oracle.conf
/etc/ld.so.conf.d/Oracle.conf
を削除して、この問題を解決しました。
declare -x
機能しませんでした。
これでうまくいきました。
[root@Host ~]# unset LD_LIBRARY_PATH
/etc/ld.so.confで変数が定義されている場合は、それを削除して#ldconfigコマンドを実行し、ldキャッシュを再作成します。
[root@Host ~]# ldconfig
Pythonライブラリが正しい/lib64/libexpat.so.1ライブラリにリンクしていることを確認します。
[root@Host ~]# ldd /usr/lib64/python2.6/lib-dynload/pyexpat.so
最近、私はこの問題を次のように解決しました:(OS:OracleがインストールされたCentOS 6.3)。
編集/etc/profile
見つけて export LD_LIBRARY_PATH
行が存在する場合。
追加 /lib64
前 $Oracle_HOME/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib64:$Oracle_HOME/lib:/lib:/usr/lib:/usr/lib/Oracle/11.2/client/lib
ログアウトし、rootとして再ログオンします。