在 Ubuntu 22.04 中安装 ansible 2.5

在 Ubuntu 22.04 中安装 ansible 2.5

我想在 Ubuntu 22.04 中安装 Ansible 2.5,因为我们的部署手册与 Ansible 较新版本不兼容。我尝试从 apt 安装,但 ppa 没有为 22.04 提供 2.5。通过 pip 安装也不起作用。有人能解释一下吗?

答案1

请先阅读此内容


这是一个非常糟糕的想法,因为 ansible 2.5 是在 2018 年发布的,从 ansible 的发布速度来看,这已经是很久以前的事了。因此:

  1. 您必须在控制器上使用 Python 2.7 运行该版本的 ansible,该版本也已弃用
  2. 您可能需要与几个月甚至几年前就已修复的错误作斗争。

根据我的经验,除非您处于非常特殊的情况,否则更新剧本所需的努力与运行最新的 Ansible 版本和填补技术债务差距所获得的收益相比非常低。


话虽如此,我能够在几分钟内将 ansible 2.5 安装到 ubuntu 22.04 docker 镜像中。鉴于我上面的评论,如果您真的不想更新您的剧本,我实际上建议您在 docker 容器中运行与系统其余部分隔离的过时版本的 ansible。

这是完整的测试安装会话(没有安装命令的输出,因为输出太长且不相关)。如果您想根据自己的需要创建映像,可以将所有这些传输到 Dockerfile 中。

我从我的主机启动了一个可丢弃的测试容器:

docker run -it --rm ubuntu:22.04 bash

然后在容器内部:

apt update
apt install -y python-pip
pip2 install "ansible<2.6"

现在我们可以检查 ansible 是否安装正确。请注意python2/cryptography与我上面的初步评论相关的警告...

$ ansible --version
/usr/local/lib/python2.7/dist-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
  from cryptography.exceptions import InvalidSignature
ansible 2.5.15
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 2.7.18 (default, Jul  1 2022, 10:30:50) [GCC 11.2.0]

相关内容