Atlas でのビルド中に Ansible sudo エラーが発生する

Atlas でのビルド中に Ansible sudo エラーが発生する

私は Atlas で Vagrant 構成を構築しようとしています。また、プロビジョニングに ansible を使用していますが、sudo の問題がいくつかあります。

VM をセットアップした後、Atlas で Ansible プレイブックを実行しようとすると、次のエラーが発生します。

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 権限が必要なときに、すべてが壊れます。

-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他のアプリケーションが apt ロックを保持していることを意味します。システム上で他のインストール プロセスが実行されている可能性があります。

ps aux | grep apt疑わしいプロセスの出力を確認します。

エラーメッセージは、権限不足によって発生する場合もあります。Ansibleユーザーがsudo経由で完全なルートアクセス権を取得しているかどうかを確認する必要があります。確認するには、ホストでsudoersを開きますvisudo。次のような行があるはずです。

ansible_user ALL=(ALL) NOPASSWD: ALL

関連情報