Erst kürzlich habe ich angefangen, einen CentOS 8-Server zu bauen, und ich dachte, es wäre eine Aufnahme mit Ansible, aber es war keine einzige Aufnahme, also ist es ein Memo.
Ich habe das Gefühl, dass es enden wird, wenn ich die Version von Ansible erhöhe, aber da mir von oben gesagt wurde, dass "der Einflussbereich ... ist", antwortete ich, ohne die Version zu erhöhen.
Als ich CentOS 8 mit EC2 startete und das Playbook mit "ansible playbook" ausführte, trat ein solcher Fehler auf.
fatal: [Servername]: FAILED! => {
"changed": false, "failed": true,
"module_stderr": "Shared connection to [Servername] closed.\r\n",
"module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n",
"msg": "MODULE FAILURE",
"rc": 0
}
ansible2.3 funktioniert mit python2, aber in CentOS8 ist python2 standardmäßig nicht installiert __ Selbst wenn Sie eine Verknüpfung zu Python3 herstellen, das in / usr / bin / python installiert ist, kann der Vorgang aufgrund des unterschiedlichen Versions nicht garantiert werden (ich weiß es nicht, weil ich es nicht getan habe).
Wie ich am Anfang schrieb, wurde gesagt, dass es NG war, die Version zu aktualisieren, also werde ich python2 installieren und es unterstützen.
Installieren Sie python2.7 auf dem CentOS8-Server, den Sie erstellen
dnf install python2
Erstellen Sie nach der Installation einen symbolischen Link für Python2.7
ln -s /usr/bin/python2.7 /usr/bin/python
Es ist in Ordnung, wenn der Link python-> / usr / bin / python2.7
so eingefügt wird
[root@hoge:~]$ll /usr/bin | grep python | grep -e "^l"
lrwxrwxrwx 1 root root 18 Oct 1 16:17 python -> /usr/bin/python2.7
lrwxrwxrwx. 1 root root 9 Jun 5 12:38 python2 -> python2.7
lrwxrwxrwx. 1 root root 25 Oct 1 16:04 python3 -> /etc/alternatives/python3
lrwxrwxrwx. 1 root root 31 Nov 21 2019 python3.6 -> /usr/libexec/platform-python3.6
lrwxrwxrwx. 1 root root 32 Nov 21 2019 python3.6m -> /usr/libexec/platform-python3.6m
lrwxrwxrwx. 1 root root 24 Oct 1 16:10 unversioned-python -> /etc/alternatives/python
Jetzt können Sie das Playbook vom alten Ansible aus ausführen.
In diesem Zustand tritt jedoch in der neuen Version von Ansible ein Fehler auf. Dies kann vermieden werden, indem "ansible_python_interpreter = / usr / bin / python3" in die neue Version der Hostdatei von Ansible aufgenommen wird.
[hoge-sv]
hoge001.net ansible_python_interpreter=/usr/bin/python3
Sogar CentOS8, auf dem python2 nicht standardmäßig installiert ist, kann jetzt durch die Installation von python2 ansible ausgeführt werden. Grundsätzlich denke ich, dass es besser ist, die Version zu aktualisieren.
Recommended Posts