👌
Ansibileをpipでオフライン環境へインストール
オフライン環境へインストール
概要
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