Python
在 CentOS 8 上使用 Ansible 安裝 Python 的首選方法是什麼
CentOS 8 並不總是預裝 Python,因此在安裝之前,Ansible 將無法在遠端機器上執行。然而,在經典的 Chicken/Egg 中,您不能使用 Ansible
dnf
模組來安裝 Python。我一直在使用:
- name: Install Python 3 raw: dnf -y install python3
然而,這個問題是我要麼必須設置,
changed_when: false
要麼它總是返回一個改變的狀態。如果可能的話,我希望正確報告狀態。然而,我發現
easy_install
這似乎只處理 Python 庫,而不是 Python 本身。有沒有內置的方法來處理這個或者是raw:
唯一的選擇?
是的,該
raw
模組是使用 Ansible 安裝 Python 的首選方式。您可能還想為 Ansible 包含一些其他必要的包:- name: Bootstrap a host without python2 installed raw: dnf install -y python2 python2-dnf libselinux-python
easy_install
依賴於 Python。raw
當 Python 不存在時,沒有辦法。通常我將此raw
任務用作僅執行一次的特殊引導劇本的一部分。在其他角色和角色之外定義此任務的另一個原因是,當目標系統上不存在 Python 時,您不能使用事實收集。