Ошибка sudo при сборке на Atlas

Ошибка sudo при сборке на Atlas

Я пытаюсь собрать конфигурацию Vagrant на Atlas. Также я использую ansible для подготовки и у меня есть некоторые проблемы с sudo.

После настройки виртуальной машины при попытке запустить ansible playbook на Atlas я получаю эту ошибку:

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

Итак, я нашел в интернете, что проблема может быть в разрешениях sudo. В моем основном файле playbook разрешения установлены следующим образом:

sudo: true
remote_user: vagrant

И все это ломается сразу после запуска playbook, когда мне нужно разрешение sudo, для этой команды в playbook:

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

Кто-нибудь знает, как решить эту ситуацию? Как исправить права sudo на ansible?

ПРИМЕЧАНИЕ. Когда я пытаюсь собрать эту машину локально, она работает как часы, но когда я запускаю ее на Atlas, у меня возникает проблема.

ОБНОВЛЕНИЕ: Я считаю, что реальная проблема заключается в доступе к sudo. Я удалил эту часть конфигурации, и она продолжает давать сбои в других частях, требующих sudo.

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?

решение1

Failed to lock apt for exclusive operationозначает, что какое-то другое приложение удерживает блокировку apt. Может быть, в системе запущен какой-то другой процесс установки?

Проверьте ps aux | grep aptвыходные данные на предмет подозрительных процессов.

Сообщение об ошибке также может быть вызвано недостаточными привилегиями. Вы можете проверить, получает ли пользователь Ansible полный доступ root через sudo. Чтобы проверить это, откройте sudoers на хосте с помощью visudo. У вас должна быть строка типа

ansible_user ALL=(ALL) NOPASSWD: ALL

Связанный контент