Ansible-Sudo-Fehler beim Erstellen auf Atlas

Ansible-Sudo-Fehler beim Erstellen auf Atlas

Ich habe versucht, meine Vagrant-Konfiguration auf Atlas zu erstellen. Außerdem verwende ich Ansible für die Bereitstellung und habe einige Sudo-Probleme.

Nach dem Einrichten der VM erhalte ich beim Versuch, ein Ansible-Playbook auf Atlas auszuführen, diese Fehlermeldung:

virtualbox-iso: failed: [127.0.0.1] => {"failed": true, "item": ""}
virtualbox-iso: msg: Failed to lock apt for exclusive operation

Ich habe im Internet herausgefunden, dass Sudo-Berechtigungen das Problem sein könnten. In meiner Haupt-Playbook-Datei sind die Berechtigungen wie folgt eingestellt:

sudo: true
remote_user: vagrant

Und das Ganze bricht direkt nach dem Ausführen des Playbooks ab, wenn ich für diesen Befehl im Playbook die Sudo-Berechtigung benötige:

-name: Update apt
sudo: yes
apt: update_cache=yes

Weiß jemand, wie man diese Situation löst? Wie behebe ich Sudo-Berechtigungen für Ansible?

HINWEIS: Wenn ich versuche, diese Maschine lokal zu erstellen, funktioniert sie einwandfrei. Wenn ich sie jedoch auf Atlas ausführe, tritt das Problem auf.

UPDATE: Ich glaube, dass der Sudo-Zugriff hier ein echtes Problem darstellt. Ich habe diesen Teil der Konfiguration entfernt und er schlägt weiterhin bei anderen Teilen fehl, die Sudo erfordern.

virtualbox-iso: failed: [127.0.0.1] => (item=curl,wget,python-software-  properties) => {"failed": true, "item": "curl,wget,python-software-properties"}
 virtualbox-iso: stderr: E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
virtualbox-iso: E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Antwort1

Failed to lock apt for exclusive operationbedeutet, dass eine andere Anwendung die Apt-Sperre hält. Vielleicht läuft auf dem System ein anderer Installationsprozess?

Überprüfen Sie ps aux | grep aptdie Ausgabe auf verdächtige Prozesse.

Die Fehlermeldung könnte auch durch unzureichende Berechtigungen verursacht werden. Sie sollten überprüfen, ob der Ansible-Benutzer über sudo vollen Root-Zugriff erhält. Um dies zu überprüfen, öffnen Sie die sudoers auf dem Host mit visudo. Sie sollten eine Zeile wie diese haben

ansible_user ALL=(ALL) NOPASSWD: ALL

verwandte Informationen