망할. 레거시 시스템 배포하다가 배포 스크립트를 날려먹었다. 근데 또 쉘 스크립트를 짜자니 귀찮고, Ansible 사용을 해보는 것에 목적을 두고 한 번 시작해본다. 설치 되어야하는 서버가 RHEL 7.8 버전에 Python 3.6.8 버전이고, 폐쇄망이다보니 인터넷 되는 환경에서 파일을 받아서 옮겨야 한다.
$ pip download ansible==2.9.27 --no-deps
$ pip download cryptography jinja2 PyYAML paramiko six --platform manylinux2014_x86_64 --python-version 36 --implementation cp --abi cp36m --only-binary=:all:
첫 번째 명령어로 Ansible 2.9.27 버전 소스 코드로 다운로드 하고, 두 번째 명령어로 RHEL 7.8 버전에 맞는 의존성 파일들을 다운로드 한다. 파일 옮기고 설치 할라니 안 된다. crypthography만 오류가 나나 싶다가도, 다르게 시도했을 때 PyNaCl이 문제여서 제미나이를 괴롭힐 수 밖에 없었다. 그래서 아래가 최종이다.
# 1. pip 업데이트 파일
$ pip download pip==21.3.1 setuptools==59.6.0 wheel==0.37.1 --no-deps
# 2. Ansible
$ pip download ansible==2.9.27 --no-deps
# 3. 의존성 (cp36m 태그 강제 지정)
$ pip download cffi==1.15.1 pycparser==2.21 pynacl==1.4.0 cryptography==3.3.2 bcrypt==3.2.0 paramiko==2.7.2 Jinja2==3.0.3 MarkupSafe==2.0.1 PyYAML==5.4.1 six==1.16.0 --platform manylinux2014_x86_64 --python-version 36 --implementation cp --abi cp36m --only-binary=:all: --no-deps
# 4. pip 업데이트
$ python3.6 -m pip install --user pip-21.3.1-py3-none-any.whl setuptools-*.whl wheel-*.whl
# 4-1. pip 업데이트 확인
$ pip3.6 --version
# 5. 나머지 설치
$ pip3.6 install *.whl *.tar.gz --no-index --find-links=.
# 5-1. ansible 설치 확인
$ ansible --version
ansible 2.9.27
이제 Playbook? 준비해서 실행해야지.