本文最后更新于 842 天前,其中的信息可能已经有所发展或是发生改变。
在生产环境中,大部分服务器出于安全或其他目的无法连接到互联网,此时若要安装Ansible,无论是采用pip还是yum方式都极为不便。为了日后进行参考,本文记录了在 CentOS 7.6 离线服务器上手动安装 Python3.10.1 和 Ansible 的过程。
安装之前
安装之前需要确保你有一台可以联网的 CentOS 服务器,该服务器最好 Python 环境从零开始,防止其他 pip 包影响软件安装(推荐虚拟机)
需要一个 Python 的安装包(源码格式):点击这里 (Python-3.10.1.tgz)
在互联网服务器上的操作
新建一个目录用作下载目录,将 Python 安装包上传到该目录中。例如新建目录为 ~/ansible_offline/
Python
1.首先安装yum的支持库以便后续下载
1 |
yum install yum-plugin-downloadonly |
2.下载 Python 所需的支持库
1 2 3 |
mkdir ~/ansible_offline/rpm_pkg yum install --downloadonly --downloaddir=~./ansible_offline/rpm_pkg zlib-devel bzip2-devel openssl-devel ncurses-devel epel-release gcc gcc-c++ xz-devel readline-devel gdbm-devel sqlite-devel tk-devel db4-devel libpcap-devel libffi-devel # 如果上述的库有些已经安装,此时需要将命令中的install更换为reinstall |
3.安装支持库
这一步主要是为了测试上述支持库下载是否完整,正常。
1 2 |
cd ~/ansible_offline/rpm_pkg rpm -Uvh ./*.rpm --nodeps --force |
4.编译安装 Python3
1 2 3 4 5 6 7 |
tar -zxvf Python-3.10.1.tgz cd ~/ansible_offline/Python-3.10.1 mkdir /usr/local/python3 ./configure --prefix=/usr/local/python3 --with-ssl make && make install ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3 |
Ansible
本文中采用 pip 方式安装 Ansible,纯净的 Python 工作环境有利于后续操作。
1.使用 pip 命令安装 Ansible,并获取支持库。
1 2 3 4 5 6 |
pip3 install -i http://mirrors.aliyun.com/pypi/simple/ ansible --trusted-host mirrors.aliyun.com # 采用了阿里云镜像 mkdir ~/ansible_offline/pip_pkg cd ~/ansible_offline/pip_pkg pip3 freeze > requirements.txt pip3 download -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com |
打包
1 |
tar -cvf ~/ansible_offline.tar ~/ansible_offline |
在非互联网电脑
将安装包复制到非互联网电脑上,解压压缩包到适当的目录
1 |
tar -xvf ~/ansible_offline.tar -C ~/ansible_offline |
Python
这里步骤和前文一致,编译安装 Python 即可。
1.安装支持库
1 2 |
cd ~/ansible_offline/rpm_pkg rpm -Uvh ./*.rpm --nodeps --force |
2.编译安装 Python3
1 2 3 4 5 6 |
cd ~/ansible_offline/Python-3.10.1 mkdir /usr/local/python3 ./configure --prefix=/usr/local/python3 --with-ssl make && make install ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3 |
Ansible
1.安装该软件
1 2 |
cd ~/ansible_offline/ pip3 install --no-index --find-links=pip_pkg -r ./pip_pkg/requirements.txt |
2.配置该软件相关指令的软连接
1 |
ln -s /usr/local/python3/bin/ansible* /usr/bin/ |
此时,若操作没有问题执行 ansible –version 已经可以输出相关信息。
3.配置config file
本步中使用 Ansible 命令生成了一个默认的初始化配置文件,如果有相关配置文件可以直接导入到位置上,也可以参考官方文档对该内容进行手动的编辑。
1 2 |
mkdir /etc/ansible ansible-config init --disable > /etc/ansible/ansible.cfg |
软件安装完毕,接下来配置好互信就可以使用了。