Configuring YUM repositories

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パッケージの代替ソースがないと壊れます。

リポジトリーアクセスを構成する特別な手順を実行する必要がある場合は、 TPA hooks を使用して.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 にリポジトリをリストする必要はありません。