
Estou tentando construir minha configuração do Vagrant no Atlas. Também estou usando o ansible para provisionamento e tenho alguns problemas com o sudo.
Depois de configurar a VM ao tentar executar o playbook ansible no Atlas, recebo este erro:
virtualbox-iso: failed: [127.0.0.1] => {"failed": true, "item": ""}
virtualbox-iso: msg: Failed to lock apt for exclusive operation
Então descobri na internet que as permissões do sudo podem ser o problema. No meu manual principal, as permissões de arquivo estão definidas como:
sudo: true
remote_user: vagrant
E tudo quebra depois de executar o playbook, quando preciso da permissão do sudo, neste cmd do playbook:
-name: Update apt
sudo: yes
apt: update_cache=yes
Alguém sabe como resolver esta situação? Como faço para corrigir as permissões do sudo no ansible?
OBSERVAÇÃO. Quando estou tentando construir esta máquina localmente, ela funciona perfeitamente, mas quando a executo no Atlas, recebo o problema.
ATUALIZAÇÃO: Acredito que o acesso ao sudo é um problema real aqui. Removi essa parte da configuração e ela continua falhando em outras partes que exigem o 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?
Responder1
Failed to lock apt for exclusive operation
significa que algum outro aplicativo está segurando o bloqueio do apt. Talvez haja algum outro processo de instalação em execução no sistema?
Verifique ps aux | grep apt
a saída em busca de processos suspeitos.
A mensagem de erro também pode ser causada por privilégios insuficientes. Você pode querer verificar se o usuário Ansible obtém acesso root completo via sudo. Para verificar isso, abra os sudoers no host com visudo
. Você deve ter uma linha como
ansible_user ALL=(ALL) NOPASSWD: ALL