
저는 Atlas에서 Vagrant 구성을 구축하려고 노력해 왔습니다. 또한 프로비저닝을 위해 ansible을 사용하고 있는데 sudo 문제가 있습니다.
Atlas에서 Ansible 플레이북을 실행하는 동안 VM을 설정한 후 다음 오류가 발생합니다.
virtualbox-iso: failed: [127.0.0.1] => {"failed": true, "item": ""}
virtualbox-iso: msg: Failed to lock apt for exclusive operation
그래서 인터넷에서 sudo 권한이 문제일 수 있다는 것을 발견했습니다. 내 기본 플레이북에서 파일 권한은 다음과 같이 설정됩니다.
sudo: true
remote_user: vagrant
플레이북을 실행한 후 sudo 권한이 필요할 때 플레이북의 이 cmd에서 모든 것이 중단됩니다.
-name: Update apt
sudo: yes
apt: update_cache=yes
이 상황을 해결하는 방법을 아는 사람이 있나요? ansible에 대한 sudo 권한을 어떻게 수정합니까?
메모. 이 머신을 로컬에서 만들려고 하면 아주 잘 작동하지만 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
다른 응용 프로그램이 적절한 잠금을 보유하고 있음을 의미합니다. 시스템에서 다른 설치 프로세스가 실행되고 있는 것일까요?
ps aux | grep apt
의심스러운 프로세스에 대한 출력을 확인하십시오 .
권한이 부족하여 오류 메시지가 발생할 수도 있습니다. Ansible 사용자가 sudo를 통해 전체 루트 액세스 권한을 얻었는지 확인할 수 있습니다. 이를 확인하려면 호스트에서 sudoer를 엽니다 visudo
. 다음과 같은 줄이 있어야합니다
ansible_user ALL=(ALL) NOPASSWD: ALL