Я пытался создать свою конфигурацию 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, на этот cmd в 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?
Failed to lock apt for exclusive operation
означает, что какое-то другое приложение удерживает блокировку apt. Может быть, в системе запущен какой-то другой процесс установки?
Проверьте ps aux | grep apt
вывод для подозрительных процессов.
Сообщение об ошибке также может быть вызвано недостаточными правами. Возможно, вы захотите проверить, получает ли пользователь Ansible полный root-доступ через sudo. Чтобы проверить, что откройте sudoers на хосте с помощью visudo
. У вас должна быть строка вроде
ansible_user ALL=(ALL) NOPASSWD: ALL