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