Python26を使用するLinux 5ホストでAnsibleモジュールのコピー/テンプレートエラーが発生しました。 Pythonバインディングlibselinux-pythonが必要です。

Python26を使用するLinux 5ホストでAnsibleモジュールのコピー/テンプレートエラーが発生しました。 Pythonバインディングlibselinux-pythonが必要です。

私たちは約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モジュールを使用して、パッケージのないリモートシステムにパッケージをインストールすることもできます。

おすすめ記事