Ansible をオフラインでインストールする

このページはAnsible コントロールノード(いわゆる Ansible サーバ) をオフラインでインストールする方法を紹介します。
このページでのオフラインとはインターネットに接続されていない状態を言います。

インストールが概要

一般的にインターネットに接続されているサーバでは dnf や yum でレポジトリから簡単にインストールが可能です。しかしインターネットに接続されていない場合、以下の対処が必要となります。(あくまでも一例です。他にインストールする方法は多数あります。)
概要図は以下の通りです。DVDは ISO ファイルでもかまいません。マウントしてファイルとして参照できるようにします。
Ansibleをオフラインインストールする

ローカルレポジトリを作成する

ローカルレポジトリを作成します。具体的な手順はネットを参照してください。概要だけ記載します。本ページではCentOS7を想定して実行しています。
CentOS8の場合は標準で Python 3 がインストールされています。しかし Ansibleをインストールしたところ Python 2.6 を要求されました。別途 CentOS 8に Pyton 2.6をインストールする必要があるようです。
(1)CentOS7 の ISO ファイルをAnsible インストール対象に保存します。
(2)ISOをマウントします。マウント用のフォルダを作成してからマウントします。
# mkdir -p /etc/yum.repos.d/localrepo
# mount -t iso9660 -o loop /img/CentOS-7-x86_64-Everything-2003.iso /etc/yum.repos.d/localrepo
mount: /etc/yum.repos.d/localrepo: 警告: デバイスは書き込み禁止です、読み込み専 用でマウントします.

(3)ファイルを新規に作成します。

vim /etc/yum.repos.d/localrepo.repo
[localdvd]
name=localdvd
baseurl=file:///etc/yum.repos.d/localrepo
enabled=1
gpgcheck=no

(4)初期化します。

# yum clean all

(5)追加したレポジトリが存在しているか確認します。

 # yum repolist
repo id repo の名前
AppStream CentOS-8 - AppStream
BaseOS CentOS-8 - Base
epel Extra Packages for Enterprise Linux 8 - x86_64
epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
extras CentOS-8 - Extras
localdvd localdvd

(6)以下ファイルを別の機器でインターネットから入手し、インストール対象サーバにコピーします。

以下は例です。インストール可能なバージョンは環境により異なります。

(7)

以下コマンドでインストールを実行します。
yum --disablerepo=\* --enablerepo=localdvd install /img/python-httplib2-0.9.1-2.1.el7.noarch.rpm
yum --disablerepo=\* --enablerepo=localdvd install /img/sshpass-1.06-1.el7.x86_64.rpm
yum --disablerepo=\* --enablerepo=localdvd install /img/ansible-2.7.4-1.el7.ans.noarch.rpm


[Ansible まとめに戻る]