AnsibleはEPELを追加する2つの方法を文書化したようです。一つyum_repository_module
yum_repository:
name: epel
description: EPEL YUM repo
baseurl: https://download.fedoraproject.org/pub/epel/$releasever/$basearch/
そして一つはyum
基準寸法
name: install EPEL repo
yum: name=epel-release state=present
次のいずれが望ましいですか?
答え1
これは文書の一例にすぎません。デフォルトでは、2番目はリポジトリを有効にするためにyumパッケージをインストールしますが、1番目は関連する.repoファイルで終わる点を除いて、まったく同じことを行います。
ほとんどの顧客ネットワークでは、帯域幅を節約するために内部ミラーリングを使用することが多く、カスタムURLを使用する必要があるため、2番目のオプションを使用します。ただし、この場合はgpgキーも処理する必要があります(ローカルにダウンロードするか、uri経由で参照)。 rpmパッケージを使用してリポジトリをインストールするときは、この問題をまったく処理する必要はありません(変更がある場合はyumからアップグレードできます)。
したがって、yumを介してインストールするのが最も簡単です。ベストプラクティスのために、とにかくAnsibleドキュメントの例を盲目的に信頼するのではなく、むしろエッフェル公式ホームページこれはyum参照を介してインストールされます。
答え2
私に役立つもの:
name: Install EPEL repo
yum:
name: epel-release
state: present
答え3
どちらのソリューションも、Amazon Linux 2を実行しているa1.largeインスタンスでは効果がありませんでした。
- name: Ensure epel repo present
yum:
name: https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
state: present
become: true
答え4
Ansibleの初心者として構文のインデントに問題があります。
Rocky Linux 9およびAnsible 2.13.3のすべてのターゲットノードのインストールをスクリプトで作成した方法は次のとおりです。
- name: Install epel package
hosts: all
become: true
tasks:
- name: Install package epel-release
yum:
name: epel-release
state: present