这是在 Ubuntu 20.04 上分发 Ansible 的正确方法吗?

Is this the correct way of distributing Ansible on Ubuntu 20.04?

我正在使用 Ubuntu 服务器 20.04 64 位和 Ansible 2.8.13 构建一个 Ansible 服务器。除此之外,ansible 将管理一些 mysql 和 postgres 服务器等。在不久的将来,ansible 也可能会进行版本升级。所以根据我有限的知识,这就是我目前所知道的

# Install
sudo apt-get -yqq install python3-pip python3-venv mysql-client postgresql-client libpq-dev

sudo python3 -m venv --clear /opt/ansible

. /opt/ansible/bin/activate
pip3 install wheel setuptools
pip3 install PyMySQL psycopg2 ansible==2.8.13
deactivate

考虑到为了 运行 这些可执行文件必须为每个可执行文件编写包装脚本以传递到主会话中。

/usr/local/bin/ansible-playbook.2.8.sh

#!/usr/bin/env sh

. /opt/ansible/bin/activate
/opt/ansible/bin/ansible-playbook "$@"
result=$?
deactivate
exit "${result}"

最后用更新选项映射主可执行文件

update-alternatives --install /usr/local/bin/ansible-playbook ansible-playbook \
  "/usr/local/bin/ansible-playbook-2.8.sh" 1

这在 2021 年是否被认为是合适的方法,还是有更好的方法?

谢谢,

实际上,经过更多的测试和阅读,这就是我想出的:

# Install
sudo apt-get -yqq install python3-pip python3-venv

sudo python3 -m venv --clear /opt/ansible

. /opt/ansible/bin/activate
pip3 install wheel
pip3 install ansible==2.8.13
deactivate

update-alternatives --install \
  /usr/local/bin/ansible-playbook ansible-playbook \
  /opt/ansible/bin/ansible-playbook 1