Sperren von Problemen mit "apt -y update && apt -y install python" in Ubuntu 18.04.1 LTS

323
Daniel F

Ich erstelle ein Ansible Playbook, um Ubuntu 18.04.1 VPSs einzurichten, und stoße auf ein Problem, bei dem ich Python nicht zuverlässig installieren kann.

Da Ubuntu 18.04.1 nicht mit Python installiert ist, muss ich den folgenden Befehl apt -y update && apt -y install pythonmit dem rawModul verwenden.

Ich habe es auch geschafft, diesen Fehler in einer Shell zu bekommen, in die ich manuell ssh'd.

root@ansible:~# apt -y update && apt -y install python Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease Hit:2 http://archive.ubuntu.com/ubuntu bionic-security InRelease Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease Reading package lists... Done Building dependency tree Reading state information... Done 17 packages can be upgraded. Run 'apt list --upgradable' to see them. E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? 

Dies ist eine virtuelle Maschine in VirtualBox auf einem Windows-Host.

Ich habe es auch mit synczwischen apt updateund versucht, und so apt installetwas auch while fuser /var/lib/dpkg/lock >/dev/null 2>&1; do sync && sleep 1; donezwischen updateund zu machen install, aber es schlägt normalerweise fehl.

Es ist ein System, das mit den folgenden Schritten eingerichtet wurde: https://askubuntu.com/questions/946787/ubuntu-server-installation-with-root-only/1066033#1066033

0

1 Antwort auf die Frage

0
Harold Schreckengost

Ubuntu 16.04+, iirc, wird standardmäßig mit Python3 ausgeliefert und hat Python2 vollständig aus der Standardinstallation entfernt. Mit anderen Worten, es gibt einen funktionierenden Python-Interpreter. Ansible sieht einfach nicht so aus.

Sie können das Standardverhalten überschreiben (erwartet pythonals Befehl), indem Sie die ansible_python_interpreterVariable verwenden und sie im Fall von Ubuntu 16.04+ auf /usr/bin/python3.

Also so etwas wie: ansible_python_interpreter: /usr/bin/python3

Ansible behandelt Python3 jetzt größtenteils als erstklassigen Bürger, daher ist dies eine ziemlich sichere Änderung. Ich habe es auf einer Handvoll Ubuntu 18.04-Boxen verwendet, die ich ohne Probleme verwalte.