Ansibleのyumリポジトリを作成しスタンドアロンのサーバで使用する手順

#目的と背景
スタンドアロン(社内リポジトリ及びインターネット繋がってない)にパッケージ入れたいけど、依存パッケージが多すぎて無理ゲーなのでリポジトリごと転送したい場合の方法です。今回はyumコマンドのキャッシュからリポジトリを作成し、スタンドアロンのサーバに転送してAnsibleをインストールしたいと思います。また今回の構成ではある意味矛盾しているのですが、リポジトリ作成時にyumコマンドを使用しているのでインターネット接続(yumが使える)サーバが必要です。必ずしもyumを使用する必要は無いです。

#事前準備
### 検証構成の構築
事前にCentOS7のサーバを2台分作成、構築します。
minimal install後、IPアドレスを固定しています。

| ホスト名 | 詳細 | IPアドレス |備考|インターネット疎通|
|:-:|:-:|:-:|:-:|:-:|
|epimet-cent7-1| CentOS 7.9.2009(minimal install)  | 192.168.0.32 | リポジトリ作成用サーバ| ○|
|epimet-cent7-2| CentOS 7.9.2009(minimal install)  | 192.168.0.33 | スタンドアロンサーバ | ☓|

```shell:/etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
```

#リポジトリ作成
#####【リポジトリ作成用サーバで実行】createrepoのインストール
rpmパッケージ等からリポジトリを作成するには```createrepo```コマンドを使用しますが、デフォルトではインストールされていないので
インストールします。

```shell
#事前確認
[root@epimet-cent7-1 yum]# rpm -qa |grep createrepo
※何も出力されない
[root@epimet-cent7-1 ~]# yum install createrepo
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                      | 6.5 kB  00:00:00
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.jaist.ac.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
base                                                                                                      | 3.6 kB  00:00:00
epel                                                                                                      | 4.7 kB  00:00:00
extras                                                                                                    | 2.9 kB  00:00:00
updates                                                                                                   | 2.9 kB  00:00:00
(1/3): epel/x86_64/updateinfo                                                                             | 1.0 MB  00:00:00
(2/3): epel/x86_64/group_gz                                                                               |  95 kB  00:00:00
(3/3): epel/x86_64/primary_db                                                                             | 6.9 MB  00:00:19
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ createrepo.noarch 0:0.9.9-28.el7 を インストール
--> 依存性の処理をしています: python-deltarpm のパッケージ: createrepo-0.9.9-28.el7.noarch
--> 依存性の処理をしています: libxml2-python のパッケージ: createrepo-0.9.9-28.el7.noarch
--> 依存性の処理をしています: deltarpm のパッケージ: createrepo-0.9.9-28.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ deltarpm.x86_64 0:3.6-3.el7 を インストール
---> パッケージ libxml2-python.x86_64 0:2.9.1-6.el7.5 を インストール
---> パッケージ python-deltarpm.x86_64 0:3.6-3.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=================================================================================================================================
 Package                             アーキテクチャー           バージョン                        リポジトリー              容量
=================================================================================================================================
インストール中:
 createrepo                          noarch                     0.9.9-28.el7                      base                      94 k
依存性関連でのインストールをします:
 deltarpm                            x86_64                     3.6-3.el7                         base                      82 k
 libxml2-python                      x86_64                     2.9.1-6.el7.5                     base                     247 k
 python-deltarpm                     x86_64                     3.6-3.el7                         base                      31 k

トランザクションの要約
=================================================================================================================================
インストール  1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 454 k
インストール容量: 2.0 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): createrepo-0.9.9-28.el7.noarch.rpm                                                                 |  94 kB  00:00:00
(2/4): python-deltarpm-3.6-3.el7.x86_64.rpm                                                               |  31 kB  00:00:00
(3/4): deltarpm-3.6-3.el7.x86_64.rpm                                                                      |  82 kB  00:00:00
(4/4): libxml2-python-2.9.1-6.el7.5.x86_64.rpm                                                            | 247 kB  00:00:00
---------------------------------------------------------------------------------------------------------------------------------
合計                                                                                             2.4 MB/s | 454 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : deltarpm-3.6-3.el7.x86_64                                                                        1/4
  インストール中          : python-deltarpm-3.6-3.el7.x86_64                                                                 2/4
  インストール中          : libxml2-python-2.9.1-6.el7.5.x86_64                                                              3/4
  インストール中          : createrepo-0.9.9-28.el7.noarch                                                                   4/4
  検証中                  : createrepo-0.9.9-28.el7.noarch                                                                   1/4
  検証中                  : libxml2-python-2.9.1-6.el7.5.x86_64                                                              2/4
  検証中                  : deltarpm-3.6-3.el7.x86_64                                                                        3/4
  検証中                  : python-deltarpm-3.6-3.el7.x86_64                                                                 4/4

インストール:
  createrepo.noarch 0:0.9.9-28.el7

依存性関連をインストールしました:
  deltarpm.x86_64 0:3.6-3.el7          libxml2-python.x86_64 0:2.9.1-6.el7.5          python-deltarpm.x86_64 0:3.6-3.el7

完了しました!
#インストール後確認
[root@epimet-cent7-1 yum]# rpm -qa |grep createrepo
createrepo-0.9.9-28.el7.noarch
```

#####【リポジトリ作成用サーバで実行】epel-releaseのインストール
Ansibleをインストールする際にCentOSにデフォルトで含まれている参照先リポジトリにはansibleは含まれていないため
[epel-release(EPELリポジトリ)](https://qiita.com/charon/items/f5732694515d174851b3)をインストールする必要があります。
epel-releaseを入れずに```yum install ansible```を打つと"パッケージ ansible は利用できません。"と出てきてインストールできません。


```shell
[root@epimet-cent7-1 ~]# yum install epel-release
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-11 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=================================================================================================================================
 Package                            アーキテクチャー             バージョン                   リポジトリー                  容量
=================================================================================================================================
インストール中:
 epel-release                       noarch                       7-11                         extras                        15 k

トランザクションの要約
=================================================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 15 k
インストール容量: 24 k
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/7/extras/packages/epel-release-7-11.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
epel-release-7-11.noarch.rpm の公開鍵がインストールされていません
epel-release-7-11.noarch.rpm                                                                              |  15 kB  00:00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-9.2009.0.el7.centos.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上記の処理を行います。よろしいでしょうか？ [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : epel-release-7-11.noarch                                                                         1/1
  検証中                  : epel-release-7-11.noarch                                                                         1/1

インストール:
  epel-release.noarch 0:7-11

完了しました!
```

#####【リポジトリ作成用サーバで実行】yumキャッシュの有効化
yumコマンドでコマンドやソフトウェアをインストールした際に取得したrpmファイルはデフォルトではインストール作業後破棄されますが
/etc/yum.confの```keepcahce```を1に設定することでrpmを保持することができます。
※rpmファイルを貯め続け容量を逼迫することが考えられるので通常時は無効化(0)しておくのがベストかと思います。
今回はオンラインのサーバにAnsibleをyumでインストールし、その際に取得したrpmファイルからリポジトリを作成します。

```shell
#事前確認
[root@epimet-cent7-1 ~]# cat /etc/yum.conf|grep keepcache
keepcache=0
#/etc/yum.confを編集する
[root@epimet-cent7-1 ~]# vi /etc/yum.conf
～～～～～～～～
keepcache=0
～～～～～～～～
↓に書き換える
～～～～～～～～
keepcache=1
～～～～～～～～
#:wq!で保存する
#変更確認
[root@epimet-cent7-1 ~]# cat /etc/yum.conf|grep keepcache
keepcache=1
```

#####【リポジトリ作成用サーバで実行】Ansibleのインストール及びパッケージ取得
パッケージを保持する設定をしたので、```yum install ansible```でAnsibleをインストールしてパッケージを取得します。
yumコマンドで取得したパッケージは/var/cache/yum/配下に保持されます。

```shell
#事前確認容量確認
[root@epimet-cent7-1 ~]# du -h /var/cache/yum/
31M     /var/cache/yum/x86_64/7/base/gen
0       /var/cache/yum/x86_64/7/base/packages
37M     /var/cache/yum/x86_64/7/base
1.2M    /var/cache/yum/x86_64/7/extras/gen
0       /var/cache/yum/x86_64/7/extras/packages
1.4M    /var/cache/yum/x86_64/7/extras
30M     /var/cache/yum/x86_64/7/updates/gen
0       /var/cache/yum/x86_64/7/updates/packages
36M     /var/cache/yum/x86_64/7/updates
73M     /var/cache/yum/x86_64/7
73M     /var/cache/yum/x86_64
73M     /var/cache/yum/
#Ansibleインストール
[root@epimet-cent7-1 ~]# yum install ansible
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                      | 6.5 kB  00:00:00
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.jaist.ac.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
base                                                                                                      | 3.6 kB  00:00:00
extras                                                                                                    | 2.9 kB  00:00:00
updates                                                                                                   | 2.9 kB  00:00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ansible.noarch 0:2.9.17-1.el7 を インストール
--> 依存性の処理をしています: PyYAML のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-httplib2 のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-jinja2 のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-paramiko のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-setuptools のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-six のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python2-cryptography のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python2-jmespath のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: sshpass のパッケージ: ansible-2.9.17-1.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ PyYAML.x86_64 0:3.10-11.el7 を インストール
--> 依存性の処理をしています: libyaml-0.so.2()(64bit) のパッケージ: PyYAML-3.10-11.el7.x86_64
---> パッケージ python-jinja2.noarch 0:2.7.2-4.el7 を インストール
--> 依存性の処理をしています: python-babel >= 0.8 のパッケージ: python-jinja2-2.7.2-4.el7.noarch
--> 依存性の処理をしています: python-markupsafe のパッケージ: python-jinja2-2.7.2-4.el7.noarch
---> パッケージ python-paramiko.noarch 0:2.1.1-9.el7 を インストール
--> 依存性の処理をしています: python2-pyasn1 のパッケージ: python-paramiko-2.1.1-9.el7.noarch
---> パッケージ python-setuptools.noarch 0:0.9.8-7.el7 を インストール
--> 依存性の処理をしています: python-backports-ssl_match_hostname のパッケージ: python-setuptools-0.9.8-7.el7.noarch
---> パッケージ python-six.noarch 0:1.9.0-2.el7 を インストール
---> パッケージ python2-cryptography.x86_64 0:1.7.2-2.el7 を インストール
--> 依存性の処理をしています: python-idna >= 2.0 のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
--> 依存性の処理をしています: python-cffi >= 1.4.1 のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
--> 依存性の処理をしています: python-ipaddress のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
--> 依存性の処理をしています: python-enum34 のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
---> パッケージ python2-httplib2.noarch 0:0.18.1-3.el7 を インストール
---> パッケージ python2-jmespath.noarch 0:0.9.4-2.el7 を インストール
---> パッケージ sshpass.x86_64 0:1.06-2.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ libyaml.x86_64 0:0.1.4-11.el7_0 を インストール
---> パッケージ python-babel.noarch 0:0.9.6-8.el7 を インストール
---> パッケージ python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 を インストール
--> 依存性の処理をしています: python-backports のパッケージ: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
---> パッケージ python-cffi.x86_64 0:1.6.0-5.el7 を インストール
--> 依存性の処理をしています: python-pycparser のパッケージ: python-cffi-1.6.0-5.el7.x86_64
---> パッケージ python-enum34.noarch 0:1.0.4-1.el7 を インストール
---> パッケージ python-idna.noarch 0:2.4-1.el7 を インストール
---> パッケージ python-ipaddress.noarch 0:1.0.16-2.el7 を インストール
---> パッケージ python-markupsafe.x86_64 0:0.11-10.el7 を インストール
---> パッケージ python2-pyasn1.noarch 0:0.1.9-7.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ python-backports.x86_64 0:1.0-8.el7 を インストール
---> パッケージ python-pycparser.noarch 0:2.14-1.el7 を インストール
--> 依存性の処理をしています: python-ply のパッケージ: python-pycparser-2.14-1.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-ply.noarch 0:3.4-11.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=================================================================================================================================
 Package                                           アーキテクチャー     バージョン                    リポジトリー          容量
=================================================================================================================================
インストール中:
 ansible                                           noarch               2.9.17-1.el7                  epel                  17 M
依存性関連でのインストールをします:
 PyYAML                                            x86_64               3.10-11.el7                   base                 153 k
 libyaml                                           x86_64               0.1.4-11.el7_0                base                  55 k
 python-babel                                      noarch               0.9.6-8.el7                   base                 1.4 M
 python-backports                                  x86_64               1.0-8.el7                     base                 5.8 k
 python-backports-ssl_match_hostname               noarch               3.5.0.1-1.el7                 base                  13 k
 python-cffi                                       x86_64               1.6.0-5.el7                   base                 218 k
 python-enum34                                     noarch               1.0.4-1.el7                   base                  52 k
 python-idna                                       noarch               2.4-1.el7                     base                  94 k
 python-ipaddress                                  noarch               1.0.16-2.el7                  base                  34 k
 python-jinja2                                     noarch               2.7.2-4.el7                   base                 519 k
 python-markupsafe                                 x86_64               0.11-10.el7                   base                  25 k
 python-paramiko                                   noarch               2.1.1-9.el7                   base                 269 k
 python-ply                                        noarch               3.4-11.el7                    base                 123 k
 python-pycparser                                  noarch               2.14-1.el7                    base                 104 k
 python-setuptools                                 noarch               0.9.8-7.el7                   base                 397 k
 python-six                                        noarch               1.9.0-2.el7                   base                  29 k
 python2-cryptography                              x86_64               1.7.2-2.el7                   base                 502 k
 python2-httplib2                                  noarch               0.18.1-3.el7                  epel                 125 k
 python2-jmespath                                  noarch               0.9.4-2.el7                   epel                  41 k
 python2-pyasn1                                    noarch               0.1.9-7.el7                   base                 100 k
 sshpass                                           x86_64               1.06-2.el7                    extras                21 k

トランザクションの要約
=================================================================================================================================
インストール  1 パッケージ (+21 個の依存関係のパッケージ)

総ダウンロード容量: 22 M
インストール容量: 124 M
Is this ok [y/d/N]: y
Downloading packages:
(1/22): PyYAML-3.10-11.el7.x86_64.rpm                                                                     | 153 kB  00:00:00
(2/22): python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm                                      |  13 kB  00:00:00
(3/22): python-cffi-1.6.0-5.el7.x86_64.rpm                                                                | 218 kB  00:00:00
(4/22): python-enum34-1.0.4-1.el7.noarch.rpm                                                              |  52 kB  00:00:00
(5/22): python-idna-2.4-1.el7.noarch.rpm                                                                  |  94 kB  00:00:00
(6/22): python-ipaddress-1.0.16-2.el7.noarch.rpm                                                          |  34 kB  00:00:00
(7/22): python-backports-1.0-8.el7.x86_64.rpm                                                             | 5.8 kB  00:00:00
(8/22): python-babel-0.9.6-8.el7.noarch.rpm                                                               | 1.4 MB  00:00:00
(9/22): libyaml-0.1.4-11.el7_0.x86_64.rpm                                                                 |  55 kB  00:00:00
(10/22): python-jinja2-2.7.2-4.el7.noarch.rpm                                                             | 519 kB  00:00:00
(11/22): python-paramiko-2.1.1-9.el7.noarch.rpm                                                           | 269 kB  00:00:00
(12/22): python-ply-3.4-11.el7.noarch.rpm                                                                 | 123 kB  00:00:00
(13/22): python-markupsafe-0.11-10.el7.x86_64.rpm                                                         |  25 kB  00:00:00
(14/22): python-six-1.9.0-2.el7.noarch.rpm                                                                |  29 kB  00:00:00
(15/22): python-setuptools-0.9.8-7.el7.noarch.rpm                                                         | 397 kB  00:00:00
(16/22): python-pycparser-2.14-1.el7.noarch.rpm                                                           | 104 kB  00:00:00
(17/22): python2-cryptography-1.7.2-2.el7.x86_64.rpm                                                      | 502 kB  00:00:00
warning: /var/cache/yum/x86_64/7/epel/packages/ansible-2.9.17-1.el7.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
ansible-2.9.17-1.el7.noarch.rpm の公開鍵がインストールされていません
(18/22): ansible-2.9.17-1.el7.noarch.rpm                                                                  |  17 MB  00:00:00
(19/22): python2-httplib2-0.18.1-3.el7.noarch.rpm                                                         | 125 kB  00:00:00
(20/22): python2-jmespath-0.9.4-2.el7.noarch.rpm                                                          |  41 kB  00:00:00
(21/22): sshpass-1.06-2.el7.x86_64.rpm                                                                    |  21 kB  00:00:00
(22/22): python2-pyasn1-0.1.9-7.el7.noarch.rpm                                                            | 100 kB  00:00:00
---------------------------------------------------------------------------------------------------------------------------------
合計                                                                                              36 MB/s |  22 MB  00:00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 から鍵を取得中です。
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-11.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
上記の処理を行います。よろしいでしょうか？ [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : python2-pyasn1-0.1.9-7.el7.noarch                                                               1/22
  インストール中          : python-ipaddress-1.0.16-2.el7.noarch                                                            2/22
  インストール中          : python-six-1.9.0-2.el7.noarch                                                                   3/22
  インストール中          : sshpass-1.06-2.el7.x86_64                                                                       4/22
  インストール中          : libyaml-0.1.4-11.el7_0.x86_64                                                                   5/22
  インストール中          : PyYAML-3.10-11.el7.x86_64                                                                       6/22
  インストール中          : python-backports-1.0-8.el7.x86_64                                                               7/22
  インストール中          : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch                                        8/22
  インストール中          : python-setuptools-0.9.8-7.el7.noarch                                                            9/22
  インストール中          : python2-httplib2-0.18.1-3.el7.noarch                                                           10/22
  インストール中          : python-babel-0.9.6-8.el7.noarch                                                                11/22
  インストール中          : python2-jmespath-0.9.4-2.el7.noarch                                                            12/22
  インストール中          : python-ply-3.4-11.el7.noarch                                                                   13/22
  インストール中          : python-pycparser-2.14-1.el7.noarch                                                             14/22
  インストール中          : python-cffi-1.6.0-5.el7.x86_64                                                                 15/22
  インストール中          : python-markupsafe-0.11-10.el7.x86_64                                                           16/22
  インストール中          : python-jinja2-2.7.2-4.el7.noarch                                                               17/22
  インストール中          : python-idna-2.4-1.el7.noarch                                                                   18/22
  インストール中          : python-enum34-1.0.4-1.el7.noarch                                                               19/22
  インストール中          : python2-cryptography-1.7.2-2.el7.x86_64                                                        20/22
  インストール中          : python-paramiko-2.1.1-9.el7.noarch                                                             21/22
  インストール中          : ansible-2.9.17-1.el7.noarch                                                                    22/22
  検証中                  : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch                                        1/22
  検証中                  : python-enum34-1.0.4-1.el7.noarch                                                                2/22
  検証中                  : python-setuptools-0.9.8-7.el7.noarch                                                            3/22
  検証中                  : python-jinja2-2.7.2-4.el7.noarch                                                                4/22
  検証中                  : python-six-1.9.0-2.el7.noarch                                                                   5/22
  検証中                  : python-idna-2.4-1.el7.noarch                                                                    6/22
  検証中                  : python-markupsafe-0.11-10.el7.x86_64                                                            7/22
  検証中                  : python-ply-3.4-11.el7.noarch                                                                    8/22
  検証中                  : python-paramiko-2.1.1-9.el7.noarch                                                              9/22
  検証中                  : python2-jmespath-0.9.4-2.el7.noarch                                                            10/22
  検証中                  : python-babel-0.9.6-8.el7.noarch                                                                11/22
  検証中                  : PyYAML-3.10-11.el7.x86_64                                                                      12/22
  検証中                  : python2-httplib2-0.18.1-3.el7.noarch                                                           13/22
  検証中                  : python-backports-1.0-8.el7.x86_64                                                              14/22
  検証中                  : python-cffi-1.6.0-5.el7.x86_64                                                                 15/22
  検証中                  : python-pycparser-2.14-1.el7.noarch                                                             16/22
  検証中                  : libyaml-0.1.4-11.el7_0.x86_64                                                                  17/22
  検証中                  : python-ipaddress-1.0.16-2.el7.noarch                                                           18/22
  検証中                  : sshpass-1.06-2.el7.x86_64                                                                      19/22
  検証中                  : python2-pyasn1-0.1.9-7.el7.noarch                                                              20/22
  検証中                  : ansible-2.9.17-1.el7.noarch                                                                    21/22
  検証中                  : python2-cryptography-1.7.2-2.el7.x86_64                                                        22/22

インストール:
  ansible.noarch 0:2.9.17-1.el7

依存性関連をインストールしました:
  PyYAML.x86_64 0:3.10-11.el7                                               libyaml.x86_64 0:0.1.4-11.el7_0
  python-babel.noarch 0:0.9.6-8.el7                                         python-backports.x86_64 0:1.0-8.el7
  python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7                python-cffi.x86_64 0:1.6.0-5.el7
  python-enum34.noarch 0:1.0.4-1.el7                                        python-idna.noarch 0:2.4-1.el7
  python-ipaddress.noarch 0:1.0.16-2.el7                                    python-jinja2.noarch 0:2.7.2-4.el7
  python-markupsafe.x86_64 0:0.11-10.el7                                    python-paramiko.noarch 0:2.1.1-9.el7
  python-ply.noarch 0:3.4-11.el7                                            python-pycparser.noarch 0:2.14-1.el7
  python-setuptools.noarch 0:0.9.8-7.el7                                    python-six.noarch 0:1.9.0-2.el7
  python2-cryptography.x86_64 0:1.7.2-2.el7                                 python2-httplib2.noarch 0:0.18.1-3.el7
  python2-jmespath.noarch 0:0.9.4-2.el7                                     python2-pyasn1.noarch 0:0.1.9-7.el7
  sshpass.x86_64 0:1.06-2.el7

完了しました!

#インストール後容量確認(増えていることを確認)
[root@epimet-cent7-1 ~]# du -h /var/cache/yum/
31M     /var/cache/yum/x86_64/7/base/gen
4.1M    /var/cache/yum/x86_64/7/base/packages
41M     /var/cache/yum/x86_64/7/base
1.2M    /var/cache/yum/x86_64/7/extras/gen
24K     /var/cache/yum/x86_64/7/extras/packages
1.4M    /var/cache/yum/x86_64/7/extras
30M     /var/cache/yum/x86_64/7/updates/gen
0       /var/cache/yum/x86_64/7/updates/packages
36M     /var/cache/yum/x86_64/7/updates
30M     /var/cache/yum/x86_64/7/epel/gen
18M     /var/cache/yum/x86_64/7/epel/packages
56M     /var/cache/yum/x86_64/7/epel
132M    /var/cache/yum/x86_64/7
132M    /var/cache/yum/x86_64
224K    /var/cache/yum/repodata
133M    /var/cache/yum/
```

#####【リポジトリ作成用サーバで実行】リポジトリ作成
createrepoコマンドで/var/cache/yum/配下に取得したパッケージからリポジトリを作成します。

```shell
#ディレクトリ移動
[root@epimet-cent7-1 ~]# cd /var/cache/yum/
#リポジトリ作成(Sqlite DBs completeと表示されること)
[root@epimet-cent7-1 yum]# createrepo ./
Spawning worker 0 with 11 pkgs
Spawning worker 1 with 11 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
#リポジトリ作成確認
[root@epimet-cent7-1 yum]# ls -ltr ./repodata/
合計 220
-rw-r--r--. 1 root root  8158  2月 28 23:04 b7215c54bee760245df1bac93f71ac9730f7e92a134e293b87912ad2c59d3144-other.xml.gz
-rw-r--r--. 1 root root 82103  2月 28 23:04 7596da6395aef2f6a720217c8f860fbc835237c52763d8ec795cdf0dba8dc3b7-filelists.xml.gz
-rw-r--r--. 1 root root  8388  2月 28 23:04 3de5b6037c4ff97a685d94f953196d6c87ee69331f01d715234268e2d40602b1-primary.xml.gz
-rw-r--r--. 1 root root 11351  2月 28 23:04 74514e3fb7c6cd5ad587bafa8bf28c5490a4ce00af8c7759454494db3e015c7d-other.sqlite.bz2
-rw-r--r--. 1 root root 83502  2月 28 23:04 1e36e905c0531c7bb173def134aef3d6a72ac12e7a37a107e5e794dab50785fd-filelists.sqlite.bz2
-rw-r--r--. 1 root root  2982  2月 28 23:04 repomd.xml
-rw-r--r--. 1 root root 12961  2月 28 23:04 735a4fc57378dae0bcec727507395946df5f42330cc04f2e8a32891f05288c92-primary.sqlite.bz2
```

#####【リポジトリ作成用サーバで実行】yumキャッシュの無効化
Ansibleのパッケージは収集し終えたのでパッケージ保持の設定は無効化します。

```shell
#事前確認
[root@epimet-cent7-1 ~]# cat /etc/yum.conf|grep keepcache
keepcache=1
#/etc/yum.confを編集する
[root@epimet-cent7-1 ~]# vi /etc/yum.conf
～～～～～～～～
keepcache=1
～～～～～～～～
↓に書き換える
～～～～～～～～
keepcache=0
～～～～～～～～
#:wq!で保存する
#変更確認
[root@epimet-cent7-1 ~]# cat /etc/yum.conf|grep keepcache
keepcache=0
```


#ローカルリポジトリを使用してAnsibleインストール
#####【リポジトリ作成用サーバで実行】スタンドアロンサーバへリポジトリ転送
作成したリポジトリをスタンドアロンサーバ(```192.168.0.33```)の/tmpへ転送します。
今回はSCPコマンドを使用しますがwinscpやfilezillaなどのツールで回収と転送でも大丈夫です。

```shell
[root@epimet-cent7-1 yum]# scp -r /var/cache/yum/ root@192.168.0.33:/tmp

# scp初回時に表示されるのでyes(ここから)
The authenticity of host '192.168.0.33 (192.168.0.33)' can't be established.
ECDSA key fingerprint is SHA256:0HHnfiftvH54mLW2bzqadOGQXHsvVakmd0nIKV21Nis.
ECDSA key fingerprint is MD5:41:0d:b2:36:3b:98:9c:81:55:b7:2e:75:ce:65:f6:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.33' (ECDSA) to the list of known hosts.
# scp初回時に表示される(ここまで)

root@192.168.0.33's password: #スタンドアロンサーバのrootパスワードを入力して[Enter]
primary_db.sqlite                                                                              100%   30MB  76.7MB/s   00:00
PyYAML-3.10-11.el7.x86_64.rpm                                                                  100%  153KB  58.3MB/s   00:00
python-babel-0.9.6-8.el7.noarch.rpm                                                            100% 1393KB  70.8MB/s   00:00
python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm                                   100%   13KB  15.2MB/s   00:00
libyaml-0.1.4-11.el7_0.x86_64.rpm                                                              100%   55KB  42.6MB/s   00:00
python-cffi-1.6.0-5.el7.x86_64.rpm                                                             100%  218KB  64.0MB/s   00:00
python-backports-1.0-8.el7.x86_64.rpm                                                          100% 5932     9.6MB/s   00:00
python-enum34-1.0.4-1.el7.noarch.rpm                                                           100%   52KB  44.6MB/s   00:00
python-idna-2.4-1.el7.noarch.rpm                                                               100%   94KB  58.3MB/s   00:00
python-ipaddress-1.0.16-2.el7.noarch.rpm                                                       100%   34KB  30.0MB/s   00:00
python-jinja2-2.7.2-4.el7.noarch.rpm                                                           100%  519KB  74.7MB/s   00:00
python-markupsafe-0.11-10.el7.x86_64.rpm                                                       100%   25KB  23.8MB/s   00:00
python-paramiko-2.1.1-9.el7.noarch.rpm                                                         100%  269KB  63.3MB/s   00:00
python-pycparser-2.14-1.el7.noarch.rpm                                                         100%  104KB  52.0MB/s   00:00
python-ply-3.4-11.el7.noarch.rpm                                                               100%  123KB  57.3MB/s   00:00
python-setuptools-0.9.8-7.el7.noarch.rpm                                                       100%  397KB  71.3MB/s   00:00
python-six-1.9.0-2.el7.noarch.rpm                                                              100%   29KB  28.7MB/s   00:00
python2-cryptography-1.7.2-2.el7.x86_64.rpm                                                    100%  502KB  71.6MB/s   00:00
python2-pyasn1-0.1.9-7.el7.noarch.rpm                                                          100%  100KB  50.7MB/s   00:00
mirrorlist.txt                                                                                 100%  572   396.7KB/s   00:00
repomd.xml                                                                                     100% 3736     4.5MB/s   00:00
cachecookie                                                                                    100%    0     0.0KB/s   00:00
a4e2b46586aa556c3b6f814dad5b16db5a669984d66b68e873586cd7c7253301-c7-x86_64-comps.xml.gz        100%  153KB  56.8MB/s   00:00
6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2            100% 6203KB  78.3MB/s   00:00
timedhosts.txt                                                                                 100%  455   600.0KB/s   00:00
primary_db.sqlite                                                                              100% 1161KB  77.9MB/s   00:00
sshpass-1.06-2.el7.x86_64.rpm                                                                  100%   21KB  21.8MB/s   00:00
mirrorlist.txt                                                                                 100%  629     1.3MB/s   00:00
repomd.xml                                                                                     100% 2997     1.0MB/s   00:00
cachecookie                                                                                    100%    0     0.0KB/s   00:00
f566f80ea90a80473260b93311d51f669dedd898c7a25836b121b0e44fdc9e75-primary.sqlite.bz2            100%  225KB  65.2MB/s   00:00
primary_db.sqlite                                                                              100%   29MB  82.7MB/s   00:00
mirrorlist.txt                                                                                 100%  636   842.0KB/s   00:00
repomd.xml                                                                                     100% 3007     5.3MB/s   00:00
cachecookie                                                                                    100%    0     0.0KB/s   00:00
bcdd5a0f2053a9e3d18bc20b1b07b74e4f38ee3240897cd7202c532c2c80bc23-primary.sqlite.bz2            100% 5770KB  91.4MB/s   00:00
timedhosts                                                                                     100%  169   199.1KB/s   00:00
primary_db.sqlite                                                                              100%   29MB  77.5MB/s   00:00
ansible-2.9.17-1.el7.noarch.rpm                                                                100%   17MB  97.1MB/s   00:00
python2-httplib2-0.18.1-3.el7.noarch.rpm                                                       100%  125KB  47.7MB/s   00:00
python2-jmespath-0.9.4-2.el7.noarch.rpm                                                        100%   41KB  23.5MB/s   00:00
metalink.xml                                                                                   100% 6636     8.7MB/s   00:00
repomd.xml                                                                                     100% 4850     9.0MB/s   00:00
cachecookie                                                                                    100%    0     0.0KB/s   00:00
cef995832c63bc594991cfc00a5910c8cd3ed8c220df9aa019d62a86a22aaf49-updateinfo.xml.bz2            100% 1025KB  83.5MB/s   00:00
f7dcae2527a34760d69f8690d8049c97210f05fe3dd4a94a16ff46ce2b6cdf5f-comps-Everything.x86_64.xml.g 100%   95KB  50.7MB/s   00:00
bd5cf58fd70c5ad16ce6d814823f832382dbbb13ee5bfb74951ddb4d338ead2f-primary.sqlite.bz2            100% 7063KB 103.4MB/s   00:00
.gpgkeyschecked.yum                                                                            100%    0     0.0KB/s   00:00
74514e3fb7c6cd5ad587bafa8bf28c5490a4ce00af8c7759454494db3e015c7d-other.sqlite.bz2              100%   11KB   5.7MB/s   00:00
b7215c54bee760245df1bac93f71ac9730f7e92a134e293b87912ad2c59d3144-other.xml.gz                  100% 8158    13.2MB/s   00:00
1e36e905c0531c7bb173def134aef3d6a72ac12e7a37a107e5e794dab50785fd-filelists.sqlite.bz2          100%   82KB  46.8MB/s   00:00
7596da6395aef2f6a720217c8f860fbc835237c52763d8ec795cdf0dba8dc3b7-filelists.xml.gz              100%   80KB  47.0MB/s   00:00
735a4fc57378dae0bcec727507395946df5f42330cc04f2e8a32891f05288c92-primary.sqlite.bz2            100%   13KB  16.4MB/s   00:00
3de5b6037c4ff97a685d94f953196d6c87ee69331f01d715234268e2d40602b1-primary.xml.gz                100% 8388     8.3MB/s   00:00
repomd.xml                                                                                     100% 2982     4.5MB/s   00:00
```

#####【スタンドアロンサーバで実行】ローカルリポジトリ転送確認
```shell
[root@epimet-cent7-2 ~]# cd /tmp 
[root@epimet-cent7-2 tmp]# ls -l
drwx------. 3 root root 17  2月 28 22:42 systemd-private-4357595e64bc4f7c94518f23f602643c-chronyd.service-QO621e
drwx------. 2 root root  6  3月  1  2021 vmware-root_780-2957124724
drwxr-xr-x. 4 root root 36  2月 28 23:06 yum #転送してきたリポジトリファイル
```
#####【スタンドアロンサーバで実行】ローカルリポジトリ設定
オンラインのサーバから取得したリポジトリを登録します。

```shell
[root@epimet-cent7-2 tmp]# cd /etc/yum.repos.d/
[root@epimet-cent7-2 yum.repos.d]# ll #デフォルトで登録してあるリポジトリ定義の確認
合計 40
-rw-r--r--. 1 root root 1664 10月 23 23:53 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 10月 23 23:53 CentOS-CR.repo
-rw-r--r--. 1 root root  649 10月 23 23:53 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  630 10月 23 23:53 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 10月 23 23:53 CentOS-Sources.repo
-rw-r--r--. 1 root root 8515 10月 23 23:53 CentOS-Vault.repo
-rw-r--r--. 1 root root  314 10月 23 23:53 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  616 10月 23 23:53 CentOS-x86_64-kernel.repo
[root@epimet-cent7-2 yum.repos.d]# vi Ansible.repo #"Ansible.repo"という名前でリポジトリ定義の作成
##--ここから--
[ansible_repo]
name=absible Repository
baseurl=file:///tmp/yum/
gpgcheck=0

##--ここまでコピーアンドペースト--※最終行は空行
#:wq!で保存
#Ansible.repo作成確認
[root@epimet-cent7-2 yum.repos.d]# cat Ansible.repo
[ansible_repo]
name=absible Repository
baseurl=file:///tmp/yum/
gpgcheck=0

#Ansible.repoの登録確認※Ansible.repoが表示されることを確認します
[root@epimet-cent7-2 yum.repos.d]# yum repolist
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
 * base: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
ansible_repo                                                                                                            | 2.9 kB  00:00:00     
base                                                                                                                    | 3.6 kB  00:00:00     
extras                                                                                                                  | 2.9 kB  00:00:00     
updates                                                                                                                 | 2.9 kB  00:00:00     
(1/5): ansible_repo/primary_db                                                                                          |  13 kB  00:00:00     
(2/5): base/7/x86_64/group_gz                                                                                           | 153 kB  00:00:00     
(3/5): extras/7/x86_64/primary_db                                                                                       | 225 kB  00:00:00     
(4/5): base/7/x86_64/primary_db                                                                                         | 6.1 MB  00:00:00     
(5/5): updates/7/x86_64/primary_db                                                                                      | 5.6 MB  00:00:00     
リポジトリー ID                                                    リポジトリー名                                                        状態
ansible_repo                                                       absible Repository                                                        22
base/7/x86_64                                                      CentOS-7 - Base                                                       10,072
extras/7/x86_64                                                    CentOS-7 - Extras                                                        453
updates/7/x86_64                                                   CentOS-7 - Updates                                                     1,687
repolist: 12,234
```
#####【スタンドアロンサーバで実行】ローカルリポジトリからAnsibleインストール
ローカルリポジトリの設定が済んだので、Ansibleのインストールを行います。

```shell
#事前確認
[root@epimet-cent7-2 yum.repos.d]# rpm -qa |grep ansible
※何も出力されないこと
[root@epimet-cent7-2 yum.repos.d]# yum install ansible
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ansible.noarch 0:2.9.17-1.el7 を インストール
--> 依存性の処理をしています: sshpass のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python2-jmespath のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python2-cryptography のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-six のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-setuptools のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-paramiko のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-jinja2 のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: python-httplib2 のパッケージ: ansible-2.9.17-1.el7.noarch
--> 依存性の処理をしています: PyYAML のパッケージ: ansible-2.9.17-1.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ PyYAML.x86_64 0:3.10-11.el7 を インストール
--> 依存性の処理をしています: libyaml-0.so.2()(64bit) のパッケージ: PyYAML-3.10-11.el7.x86_64
---> パッケージ python-jinja2.noarch 0:2.7.2-4.el7 を インストール
--> 依存性の処理をしています: python-babel >= 0.8 のパッケージ: python-jinja2-2.7.2-4.el7.noarch
--> 依存性の処理をしています: python-markupsafe のパッケージ: python-jinja2-2.7.2-4.el7.noarch
---> パッケージ python-paramiko.noarch 0:2.1.1-9.el7 を インストール
--> 依存性の処理をしています: python2-pyasn1 のパッケージ: python-paramiko-2.1.1-9.el7.noarch
---> パッケージ python-setuptools.noarch 0:0.9.8-7.el7 を インストール
--> 依存性の処理をしています: python-backports-ssl_match_hostname のパッケージ: python-setuptools-0.9.8-7.el7.noarch
---> パッケージ python-six.noarch 0:1.9.0-2.el7 を インストール
---> パッケージ python2-cryptography.x86_64 0:1.7.2-2.el7 を インストール
--> 依存性の処理をしています: python-idna >= 2.0 のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
--> 依存性の処理をしています: python-cffi >= 1.4.1 のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
--> 依存性の処理をしています: python-ipaddress のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
--> 依存性の処理をしています: python-enum34 のパッケージ: python2-cryptography-1.7.2-2.el7.x86_64
---> パッケージ python2-httplib2.noarch 0:0.18.1-3.el7 を インストール
---> パッケージ python2-jmespath.noarch 0:0.9.4-2.el7 を インストール
---> パッケージ sshpass.x86_64 0:1.06-2.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ libyaml.x86_64 0:0.1.4-11.el7_0 を インストール
---> パッケージ python-babel.noarch 0:0.9.6-8.el7 を インストール
---> パッケージ python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 を インストール
--> 依存性の処理をしています: python-backports のパッケージ: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
---> パッケージ python-cffi.x86_64 0:1.6.0-5.el7 を インストール
--> 依存性の処理をしています: python-pycparser のパッケージ: python-cffi-1.6.0-5.el7.x86_64
---> パッケージ python-enum34.noarch 0:1.0.4-1.el7 を インストール
---> パッケージ python-idna.noarch 0:2.4-1.el7 を インストール
---> パッケージ python-ipaddress.noarch 0:1.0.16-2.el7 を インストール
---> パッケージ python-markupsafe.x86_64 0:0.11-10.el7 を インストール
---> パッケージ python2-pyasn1.noarch 0:0.1.9-7.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ python-backports.x86_64 0:1.0-8.el7 を インストール
---> パッケージ python-pycparser.noarch 0:2.14-1.el7 を インストール
--> 依存性の処理をしています: python-ply のパッケージ: python-pycparser-2.14-1.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-ply.noarch 0:3.4-11.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

===============================================================================================================================
 Package                                         アーキテクチャー   バージョン                  リポジトリー              容量
===============================================================================================================================
インストール中:
 ansible                                         noarch             2.9.17-1.el7                ansible_repo              17 M
依存性関連でのインストールをします:
 PyYAML                                          x86_64             3.10-11.el7                 ansible_repo             153 k
 libyaml                                         x86_64             0.1.4-11.el7_0              ansible_repo              55 k
 python-babel                                    noarch             0.9.6-8.el7                 ansible_repo             1.4 M
 python-backports                                x86_64             1.0-8.el7                   ansible_repo             5.8 k
 python-backports-ssl_match_hostname             noarch             3.5.0.1-1.el7               ansible_repo              13 k
 python-cffi                                     x86_64             1.6.0-5.el7                 ansible_repo             218 k
 python-enum34                                   noarch             1.0.4-1.el7                 ansible_repo              52 k
 python-idna                                     noarch             2.4-1.el7                   ansible_repo              94 k
 python-ipaddress                                noarch             1.0.16-2.el7                ansible_repo              34 k
 python-jinja2                                   noarch             2.7.2-4.el7                 ansible_repo             519 k
 python-markupsafe                               x86_64             0.11-10.el7                 ansible_repo              25 k
 python-paramiko                                 noarch             2.1.1-9.el7                 ansible_repo             269 k
 python-ply                                      noarch             3.4-11.el7                  ansible_repo             123 k
 python-pycparser                                noarch             2.14-1.el7                  ansible_repo             104 k
 python-setuptools                               noarch             0.9.8-7.el7                 ansible_repo             397 k
 python-six                                      noarch             1.9.0-2.el7                 ansible_repo              29 k
 python2-cryptography                            x86_64             1.7.2-2.el7                 ansible_repo             502 k
 python2-httplib2                                noarch             0.18.1-3.el7                ansible_repo             125 k
 python2-jmespath                                noarch             0.9.4-2.el7                 ansible_repo              41 k
 python2-pyasn1                                  noarch             0.1.9-7.el7                 ansible_repo             100 k
 sshpass                                         x86_64             1.06-2.el7                  ansible_repo              21 k

トランザクションの要約
===============================================================================================================================
インストール  1 パッケージ (+21 個の依存関係のパッケージ)

総ダウンロード容量: 22 M
インストール容量: 124 M
Is this ok [y/d/N]: y
Downloading packages:
-------------------------------------------------------------------------------------------------------------------------------
合計                                                                                           236 MB/s |  22 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : python2-pyasn1-0.1.9-7.el7.noarch                                                             1/22
  インストール中          : python-ipaddress-1.0.16-2.el7.noarch                                                          2/22
  インストール中          : python-six-1.9.0-2.el7.noarch                                                                 3/22
  インストール中          : sshpass-1.06-2.el7.x86_64                                                                     4/22
  インストール中          : libyaml-0.1.4-11.el7_0.x86_64                                                                 5/22
  インストール中          : PyYAML-3.10-11.el7.x86_64                                                                     6/22
  インストール中          : python-backports-1.0-8.el7.x86_64                                                             7/22
  インストール中          : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch                                      8/22
  インストール中          : python-setuptools-0.9.8-7.el7.noarch                                                          9/22
  インストール中          : python2-httplib2-0.18.1-3.el7.noarch                                                         10/22
  インストール中          : python-babel-0.9.6-8.el7.noarch                                                              11/22
  インストール中          : python2-jmespath-0.9.4-2.el7.noarch                                                          12/22
  インストール中          : python-ply-3.4-11.el7.noarch                                                                 13/22
  インストール中          : python-pycparser-2.14-1.el7.noarch                                                           14/22
  インストール中          : python-cffi-1.6.0-5.el7.x86_64                                                               15/22
  インストール中          : python-markupsafe-0.11-10.el7.x86_64                                                         16/22
  インストール中          : python-jinja2-2.7.2-4.el7.noarch                                                             17/22
  インストール中          : python-idna-2.4-1.el7.noarch                                                                 18/22
  インストール中          : python-enum34-1.0.4-1.el7.noarch                                                             19/22
  インストール中          : python2-cryptography-1.7.2-2.el7.x86_64                                                      20/22
  インストール中          : python-paramiko-2.1.1-9.el7.noarch                                                           21/22
  インストール中          : ansible-2.9.17-1.el7.noarch                                                                  22/22
  検証中                  : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch                                      1/22
  検証中                  : python-enum34-1.0.4-1.el7.noarch                                                              2/22
  検証中                  : python-setuptools-0.9.8-7.el7.noarch                                                          3/22
  検証中                  : python-jinja2-2.7.2-4.el7.noarch                                                              4/22
  検証中                  : python-six-1.9.0-2.el7.noarch                                                                 5/22
  検証中                  : python-idna-2.4-1.el7.noarch                                                                  6/22
  検証中                  : python-markupsafe-0.11-10.el7.x86_64                                                          7/22
  検証中                  : python-ply-3.4-11.el7.noarch                                                                  8/22
  検証中                  : python-paramiko-2.1.1-9.el7.noarch                                                            9/22
  検証中                  : python2-jmespath-0.9.4-2.el7.noarch                                                          10/22
  検証中                  : python-babel-0.9.6-8.el7.noarch                                                              11/22
  検証中                  : ansible-2.9.17-1.el7.noarch                                                                  12/22
  検証中                  : python2-httplib2-0.18.1-3.el7.noarch                                                         13/22
  検証中                  : python-backports-1.0-8.el7.x86_64                                                            14/22
  検証中                  : python-cffi-1.6.0-5.el7.x86_64                                                               15/22
  検証中                  : python-pycparser-2.14-1.el7.noarch                                                           16/22
  検証中                  : libyaml-0.1.4-11.el7_0.x86_64                                                                17/22
  検証中                  : python-ipaddress-1.0.16-2.el7.noarch                                                         18/22
  検証中                  : sshpass-1.06-2.el7.x86_64                                                                    19/22
  検証中                  : python2-pyasn1-0.1.9-7.el7.noarch                                                            20/22
  検証中                  : PyYAML-3.10-11.el7.x86_64                                                                    21/22
  検証中                  : python2-cryptography-1.7.2-2.el7.x86_64                                                      22/22

インストール:
  ansible.noarch 0:2.9.17-1.el7

依存性関連をインストールしました:
  PyYAML.x86_64 0:3.10-11.el7                                              libyaml.x86_64 0:0.1.4-11.el7_0
  python-babel.noarch 0:0.9.6-8.el7                                        python-backports.x86_64 0:1.0-8.el7
  python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7               python-cffi.x86_64 0:1.6.0-5.el7
  python-enum34.noarch 0:1.0.4-1.el7                                       python-idna.noarch 0:2.4-1.el7
  python-ipaddress.noarch 0:1.0.16-2.el7                                   python-jinja2.noarch 0:2.7.2-4.el7
  python-markupsafe.x86_64 0:0.11-10.el7                                   python-paramiko.noarch 0:2.1.1-9.el7
  python-ply.noarch 0:3.4-11.el7                                           python-pycparser.noarch 0:2.14-1.el7
  python-setuptools.noarch 0:0.9.8-7.el7                                   python-six.noarch 0:1.9.0-2.el7
  python2-cryptography.x86_64 0:1.7.2-2.el7                                python2-httplib2.noarch 0:0.18.1-3.el7
  python2-jmespath.noarch 0:0.9.4-2.el7                                    python2-pyasn1.noarch 0:0.1.9-7.el7
  sshpass.x86_64 0:1.06-2.el7

完了しました!
#インストール後確認
[root@epimet-cent7-2 yum.repos.d]# rpm -qa|grep ansible
ansible-2.9.17-1.el7.noarch
```

##所感
駆け足気味でしたが以上で、リポジトリ作成と転送、ローカルリポジトリとして使用するまでの手順となります。

#参考
[【Linuxを使いこなす】 CentOSのローカルリポジトリを構築しよう ｜ システムや業務のプロデュースカンパニー ｜ 株式会社アドックインターナショナル](https://www.adoc.co.jp/blog/e000332.html)
[[CentOS7]EPELリポジトリの簡単な追加方法 | Zero Configuration](https://zero-config.com/centos/install-epel.html)