Python

在 CentOS 8 上使用 Ansible 安裝 Python 的首選方法是什麼

  • May 13, 2020

CentOS 8 並不總是預裝 Python,因此在安裝之前,Ansible 將無法在遠端機器上執行。然而,在經典的 Chicken/Egg 中,您不能使用 Ansiblednf模組來安裝 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 時,您不能使用事實收集。

引用自:https://serverfault.com/questions/1016870