簡體   English   中英

如何在 ubuntu 18.04 上安裝 ansible 2.9+ 並使用 python3?

[英]How to install ansible 2.9+ on ubuntu 18.04 and utilize python3?

我正在嘗試在 Ubuntu Bionic (18.04 LTS) 上安裝最小的ansible 2.9.x。

最終目標是在每次提交時構建新的磁盤映像(使用打包程序),並希望該過程盡可能快。

使用默認的 Ubuntu ansible

仿生中的默認 ansible 是 2.5.x

這太舊了,所有 ansible 腳本都是為 2.9+ 編寫的。

使用官方 PPA

使用推薦的安裝方式建議/etc/apt/sources.list下行添加到/etc/apt/sources.list

deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main

並運行以下命令:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
$ sudo apt update
$ sudo apt install ansible

但它仍然需要 python2 包:

$ sudo apt install ansible
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-asn1crypto
  python-cffi-backend python-crypto python-cryptography python-enum34 python-httplib2
  python-idna python-ipaddress python-jinja2 python-markupsafe python-minimal
  python-paramiko python-pkg-resources python-pyasn1 python-setuptools python-six
  python-yaml python2.7 python2.7-minimal sshpass
Suggested packages:
  python-doc python-tk python-crypto-doc python-cryptography-doc
  python-cryptography-vectors python-enum34-doc python-jinja2-doc python-gssapi
  python-setuptools-doc python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
  ansible libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python
  python-asn1crypto python-cffi-backend python-crypto python-cryptography python-enum34
  python-httplib2 python-idna python-ipaddress python-jinja2 python-markupsafe
  python-minimal python-paramiko python-pkg-resources python-pyasn1 python-setuptools
  python-six python-yaml python2.7 python2.7-minimal sshpass
0 upgraded, 25 newly installed, 0 to remove and 33 not upgraded.
Need to get 11.3 MB of archives.
After this operation, 83.3 MB of additional disk space will be used.
Do you want to continue? [Y/n]

使用點子

這是我目前的方法,但安裝 pip3 然后通過 pip安裝 ansible 是另一個額外的步驟:

$ sudo apt install python3-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 dh-python dpkg-dev fakeroot g++ g++-7 gcc gcc-7 gcc-7-base libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4 libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libexpat1-dev libfakeroot
  libfile-fcntllock-perl libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpx2 libpython3-dev libpython3.6-dev libquadmath0 libstdc++-7-dev libtsan0 libubsan0
  linux-libc-dev make manpages-dev python-pip-whl python3-crypto python3-dev python3-distutils python3-keyring python3-keyrings.alt python3-lib2to3
  python3-secretstorage python3-setuptools python3-wheel python3-xdg python3.6-dev
Suggested packages:
  binutils-doc cpp-doc gcc-7-locales debian-keyring g++-multilib g++-7-multilib gcc-7-doc libstdc++6-7-dbg gcc-multilib autoconf automake libtool flex bison gdb gcc-doc
  gcc-7-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg
  glibc-doc bzr libstdc++-7-doc make-doc python-crypto-doc gnome-keyring libkf5wallet-bin gir1.2-gnomekeyring-1.0 python-secretstorage-doc python-setuptools-doc
The following NEW packages will be installed:
  binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 dh-python dpkg-dev fakeroot g++ g++-7 gcc gcc-7 gcc-7-base libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4 libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libexpat1-dev libfakeroot
  libfile-fcntllock-perl libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpx2 libpython3-dev libpython3.6-dev libquadmath0 libstdc++-7-dev libtsan0 libubsan0
  linux-libc-dev make manpages-dev python-pip-whl python3-crypto python3-dev python3-distutils python3-keyring python3-keyrings.alt python3-lib2to3 python3-pip
  python3-secretstorage python3-setuptools python3-wheel python3-xdg python3.6-dev
0 upgraded, 57 newly installed, 0 to remove and 33 not upgraded.
Need to get 85.3 MB of archives.
After this operation, 248 MB of additional disk space will be used.
Do you want to continue? [Y/n]

...這給打包過程增加了不必要的時間:(

任何提示?

Ubuntu 18.04 已經安裝了 python3,ansible 可以很容易地配置為使用 python3。 有誰知道如何在不需要安裝 python2 或 pip3 的情況下安裝 ansible 2.9 的方法?

我遇到了同樣的問題。 在我的情況下,由於 AWX 要求,必須使用 2.9.+ ......如果您使用的是 Ubuntu 18.04,您可以按照以下步驟操作:

$ sudo apt install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt update

$ sudo apt install ansible

就是這樣。

$ ansible --version
  |___ ansible 2.9.7

注意:我建議您在Unix 和 Linux中提出此類問題

正如問題中提到的,目前建議 Ubuntu 用戶使用 Debian 存儲庫。 您可以直接在此處下載,然后使用下載的deb包安裝

sudo apt-get install ./ansible_x.y.z_all.deb

這將在不安裝 python2 的情況下安裝 ansible。 我已經在 Ubuntu 19.10 上成功測試了這個。

我遇到了同樣的問題。 當我使用

sudo apt install ansible

ansible 與 Python 2.7.x 一起安裝

我卸載了所有東西並使用 pip 安裝了 ansible。 現在,當我做 ansible --version 我得到

ansible 2.9.11 配置文件 = /etc/ansible/ansible.cfg 配置的模塊搜索路徑 = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python 模塊位置= /usr/local/lib/python3.6/dist-packages/ansible 可執行文件位置 = /usr/local/bin/ansible python 版本 = 3.6.9(默認,2020 年 4 月 18 日,01:56:04)[GCC 8.4 .0]

我已經針對仿生重新編譯了 ansible(使用 python3)的焦點版本,並將其發布在 我的 PPA 中 只需要進行極少的更改 您只能使用有問題包,而不是啟用整個 PPA。 你最終會得到 ansible 2.9.6。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM