👌

Ansibileをpipでオフライン環境へインストール

2022/10/18に公開

オフライン環境へインストール

概要

pipコマンドでオフライン環境にAnsible環境構築を行う手順。

前提条件:別環境にオンライン環境が準備出来る事。

Python3.8 インストール

参照

オンライン環境で準備

sshpass 準備

EPELリポジトリの追加

参照(030.EPEL\01.インストール.md)

RHEL7 / AL2

mkdir /tmp/sshpass_repo
sudo yum install --downloadonly --downloaddir=/tmp/sshpass_repo sshpass
tar -zcvf sshpass_repo.tar.gz sshpass_repo

RHEL8

mkdir /tmp/sshpass_repo
sudo dnf install --downloadonly --downloaddir=/tmp/sshpass_repo sshpass
tar -zcvf sshpass_repo.tar.gz sshpass_repo

Ansible 準備

mkdir pip_ansible_repo
python3 -m pip download -d /tmp/pip_ansible_repo ansible
tar -zcvf pip_ansible_repo.tar.gz pip_ansible_repo

paramiko 準備

mkdir pip_paramiko_repo
python3 -m pip download -d /tmp/pip_paramiko_repo paramiko
tar -zcvf pip_paramiko_repo.tar.gz pip_paramiko_repo

インストール環境への転送

FTPなどを利用しオフライン環境へ準備したファイルの転送を行う。

例) scpを利用し転送

  • パスワード認証の環境の場合
sudo scp ./tmp/*.tar.gz 転送先ユーザー名@転送先アドレス:/tmp
  • 鍵認証の環境の場合
sudo scp -i 認証鍵ファイルパス ./tmp/*.tar.gz 転送先ユーザー名@転送先アドレス:/tmp

オフライン環境側で実施

圧縮ファイルの展開

cd /tmp
find ./ -type f -name "*.tar.gz" -exec sudo tar xfvz {} \;

sshpass インストール

sudo yum localinstall ./sshpass_repo/*.rpm --nogpgcheck -y

確認

sshpass -V

Ansible インストール

python3 -m pip install --no-index --find-links=/tmp/pip_ansible_repo --user ansible

確認

ansible --version

paramiko インストール

python3 -m pip install --no-index --find-links=/tmp/pip_paramiko_repo --user paramiko

Discussion