私たちは約50のLinux 5ホストを持っており、それを管理するためにansibleを使用しています。
問題: - Python26を使用するLinux 5ホストでAnsibleモジュールのコピー/テンプレートエラーが発生しました。 libselinux-pythonをバインドするPythonが必要です。
実際のエラー: - 致命的:失敗しました! => {"changed": false, "msg": "中断します。ターゲットは selinux を使用しますが、Python バインディング (libselinux-python) がインストールされていません!"}
環境:-
Ansible マスターノード:- EL7 Selinuxの有効化 libselinux-python: libselinux-python.x86_64 0:2.5-14.1.el7 インストール済み ノード:-EL 5 Selinuxの有効化 ansible_python_interpreter=/usr/bin/python26を使う libselinux-python: libselinux-python-1.33.4-5.7.el5.x86_64 インストール済み
説明する:-
私は問題を見る
デフォルトのPythonを使用して...
selinux]#Python Python 2.4.3 (#1, 2011-05-05, 15:12:27) linux2の[GCC 4.1.2 20080704(Red Hat 4.1.2-50)] 詳細については、ヘルプ、著作権、クレジット、またはライセンスを入力してください。 selinuxのインポート selinux.is_selinux_enabled() 1
そしてpython26
[root@dev-bozo21 selinux]# python26 Python 2.6.8 (不明、2012-11-7、14:47:45) linux2 の [GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] 詳細については、ヘルプ、著作権、クレジット、またはライセンスを入力してください。 selinuxのインポート バックトラッキング(最も最近の呼び出しの最後): ファイル ""、行1、at インポートエラー:selinuxというモジュールがありません。
コピーしてみます。
「/usr/lib64/python2.4/site-packages/selinuxから/usr/lib64/python2.6/site-packages/selinux(以前は空です)」
このエラーが発生します
Python26 Python 2.6.8 (不明、2012-11-7、14:47:45) linux2 の [GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] 詳細については、ヘルプ、著作権、クレジット、またはライセンスを入力してください。 selinuxのインポート バックトラッキング(最も最近の呼び出しの最後): ファイル ""、行1、at ファイル "/usr/lib64/python2.6/site-packages/selinux/init.py"、5行目、 import_selinux インポートエラー:/usr/lib64/python2.6/site-packages/selinux/_selinux.so:未定義シンボル:Py_InitModule4
そしてコピーするとき
"/usr/lib64/python2.7/site-packages/selinux/init.py"(他のcentos 7ノードで) /usr/lib64/python2.6/site-packages/selinux/
次のエラーが発生します。
Python 2.6 Python 2.6.8 (不明、2012-11-7、14:47:45) linux2 の [GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] 詳細については、ヘルプ、著作権、クレジット、またはライセンスを入力してください。 selinuxのインポート バックトラッキング(最も最近の呼び出しの最後): ファイル ""、行1、at ファイル "/usr/lib64/python2.6/site-packages/selinux/init.py"、26行目、 _selinux = swig_import_helper() swig_import_helperのファイル "/usr/lib64/python2.6/site-packages/selinux/init.py"、22行 _mod = imp.load_module('_selinux', fp, パス名, 説明) ImportError: /lib64/libc.so.6: 'GLIBC_2.14' バージョンが見つかりません (/usr/lib64/python2.6/site-packages/selinux/_selinux.so に必要)
この問題に対する解決策はありますか?
ベストアンサー1
実際、今日私のインフラストラクチャのいくつかのホストでこの問題が発生しました。
回避策はエラーメッセージに従うことです。libselinux-python
パッケージをインストールします。または、ターゲットホストでselinuxを無効にすることもできます。
~からアンサーブルウェブサイト:
リモートノードでSELinuxを有効にした場合は、Ansibleでコピー/ファイル/テンプレート関連機能を使用する前にlibselinux-pythonもインストールする必要があります。もちろん、Ansibleのyumモジュールを使用して、パッケージのないリモートシステムにパッケージをインストールすることもできます。