Ansible 从入门到实战(1)-Ansible 安装(离线)
虽然是离线安装,但是必须有一台相同操作系统的机器可以连网,比如建了一台可以连网的虚拟机。
本次教程基于 Centos7,机器可以连网。
一、安装 pip
如果系统已经有了 pip 命令,直接到第二步。
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
用上面的方法安装 pip 时,会自动安装包 setuptools 和 wheel。因为离线,所以服务器无法自动安装,
不过我们可以在连网的机器先下载好对应的包:
pip download setuptools
pip download wheel
把下载好的包上传到/local/copies,总共三个包,如下
get-pip.py
setuptools-41.4.0-py2.py3-none-any.whl
wheel-0.33.6-py2.py3-none-any.whl
然后离线安装:python get-pip.py --no-index --find-links=/local/copies
如果不行,按照下面的步骤安装:
python --no-setuptools --no-setuptools get-pip.py
pip install setuptools-41.4.0-py2.py3-none-any.whl
pip install wheel-0.33.6-py2.py3-none-any.whl
二、用 git 拉取最新的 ansible 稳定版
-
git clone https://github.com/ansible/ansible.git
-
ansible 依赖的 python 包:requirements.txt
jinja2
PyYAML
cryptography -
下载 ansible 需要的 python 包
pip download -r ansible/requirements.txt
参考命令:
pip download jinja2 ./pkg
pip download PyYAML ./pkg
pip download cryptography -d ~/pkg
三、用 git 进行离线安装
ansible 包和依赖包上传到内网服务器 /local/copies
然后安装:
python get-pip.py --no-index --find-links=/tmp/ansible-offline-20191010
pip install --no-index --find-links=/local/copies -r requirements.txt
- 安装 ansible
$ cd ./ansible
$ source ./hacking/env-setup
结果如下:
export PATH=$PATH:/data/solution/ansible/ansible-2.8.5/bin
export PYTHONPATH=/data/solution/ansible/ansible-2.8.5/lib
export MANPATH=$MANPATH:/data/solution/ansible/ansible-2.8.5/docs/man
- 配置 root 的.bashrc 文件,在文件最后添加以下内容:
export PATH=$PATH:/data/solution/ansible/ansible-2.8.5/bin
export PYTHONPATH=/data/solution/ansible/ansible-2.8.5/lib
export MANPATH=$MANPATH:/data/solution/ansible/ansible-2.8.5/docs/man
source ~/.bashrc
ansible --version
[root@host-172-16-102-29 ansible-2.8.5]# ansible --version
ansible 2.8.5
config file = None
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /data/solution/ansible/ansible-2.8.5/lib/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Jun 20 2019, 20:27:34) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
四、用 tarball 安装 ansible
-
下载 tarball:https://releases.ansible.com/ansible/ansible-latest.tar.gz
-
解压下载好的 ansible-latest.tar.gz 到 /data/solution/ansible 目录
tar -xf ansible-latest.tar.gz -C /data/solution/ansible -
配置 root 的.bashrc 文件,在文件最后添加以下内容:
export PATH=$PATH:/data/solution/ansible/ansible-2.8.5/bin
export PYTHONPATH=/data/solution/ansible/ansible-2.8.5/lib
export MANPATH=$MANPATH:/data/solution/ansible/ansible-2.8.5/docs/man
source ~/.bashrc
ansible --version
- 如果运行报错,请参考第一,第二小节安装好 ansible 需要的 python 包
五、参考命令
安装指定的离线包,参考命令:
pip list
pip show pkg_name
pip install --user -r ./requirements.txt
pip install --no-index --find-links=/root/pippkg jinja2 或
pip install --no-index --find-links=/tmp/ansible-offline-20191010 -r requirements.txt
pip install --download d:/python27/packages -r requirements.txt
pip freeze >requirements.txt 把已安装的包列表输出到文件里
Installation - pip documentation v21.1.2 Contents Menu Expand
自己制作 rpm 包:
$ git clone https://github.com/ansible/ansible.git
$ cd ./ansible
$ make rpm
$ sudo rpm -Uvh ./rpm-build/ansible-*.noarch.rpm
自己制作 deb 包:
$ git clone https://github.com/ansible/ansible.git
$ cd ./ansible
$ make deb
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于