Configuring YUM repositories

このページでは、RedHatシステムでYUMパッケージリポジトリを構成する方法について説明します。

yum_repositories で名前付きリポジトリを定義でき、yum_repository_list に名前をリストすることにより、使用するリポジトリを決定できます。

cluster_vars:
  yum_repositories:
    Example:
      rpm_url: >-
        https://repo.example.com/repos/Example/example-repo.rpm

    Other:
      description: "Optional repository description"
      baseurl: https://other.example.com/repos/Other/$basearch
      gpgkey:
        https://other.example.com/repos/Other/gpg.XXXXXXXXXXXXXXXX.key

  yum_repository_list:
    - EPEL
    - PGDG
    - Example
    - Other

この例は、YUMリポジトリを定義する2つの方法を示しています。

リポジトリに「repo RPM」(必要な/etc/yum.repos.d/*.repo ファイルと、リポジトリから署名されたパッケージを検証するために必要なGPGキーを慣習的にインストールするパッケージ)がある場合、それをポイントするだけです。

それ以外の場合は、説明、baseurl 、およびgpgkey URLを指定でき、TPAはこの情報に基づいて/etc/yum.repos.d/Other.repo ファイルを作成します。

EPELおよびPGDGリポジトリはデフォルトで定義されています。正しい操作にはEPELリポジトリが必要なので、常にEPELをyum_repository_list に含める必要があります。 PGDGパッケージをインストールする場合は、PGDGも含める必要があります。

yum_repository_list: [] を設定してリポジトリをインストールしないようにできます(ただし、EPELパッケージの代替ソースがないと壊れます)。

リポジトリアクセスを構成するために特別な手順を実行する必要がある場合は、

pre-deploy hook を使用して.repoファイルを自分で作成できます。

- name: Define Example repository
  copy:
    dest: /etc/yum.repos.d/example.repo
    owner: root
    group: root
    mode: 0644
    content: |
      [example]
      name=Example repo
      baseurl=https://repo.example.com/repos/Example/
      enabled=1
      gpgkey=https://repo.example.com/repokey.asc
      gpgcheck=1

この場合、 yum_repository_list にリポジトリをリストする必要はありません。