【Ansible】AWS apt install エラー回避 | Could not get lock /var/lib/dpkg/lock

/var/lib/dpkg/lock error 回避方法

AWS EC2 でUbuntu のインスタンスを生成した場合、apt update や apt install でエラーが発生することがあります。

Ansible版、コンソール版、それぞれのエラー回避方法です。

Ansible

ansibleを利用した場合、root user で「apt update & upgrade」を最初に実行すると、以降「lock error」が表示されません。

Playbookのタスク実装例です。

- name: apt update & upgrade
  hosts: my_server

  become: true

  tasks:

  - name: apt update
    apt: update_cache=yes

  - name: apt upgrade
    apt: upgrade=dist

Console

コンソールでログインする場合、エラーの対象となっているファイルを削除します。 続けて表示されるコマンド指示(dpkg)があれば、それに従います。

$ sudo rm /var/lib/dpkg/lock-frontend
$ sudo rm /var/lib/dpkg/lock
$ sudo dpkg --configure -a

参考書籍

Ansible 入門として、わかりやすい解説書です。

Ansible徹底入門 クラウド時代の新しい構成管理の実現

補足のリンク先(コマンドのリファレンスなど)が古いことがありましたが、検索で対応できるレベルだったので問題ありませんでした。

Docker・AWS EC2 で Ansible を使いたかったので参考になりました。