Configuring YUM repositories
============================

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

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

.. code:: yaml

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

リポジトリーアクセスを構成する特別な手順を実行する必要がある場合は、
:ref:`TPA hooks <TPA hooks>` を使用して.repoファイルを自分自身で作成できます。

.. code:: yaml


   - 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``
にリポジトリをリストする必要はありません。
