aptコマンドでパッケージをインストール時に「Could not get lock~」でインストールできない

ubuntu_logo Ubuntu
ubuntu_logo

aptコマンドでパッケージをインストール時にロックエラーが発生してインストールできない

aptコマンドでパッケージをインストールすると以下のようなエラーが発生してインストールできなくなりました。原因ですが、以下のようなことが考えられます

  • すでに別の apt が動作中
  • 前回のインストール処理が中断され、ロックが残っている
  • パッケージの設定途中でエラーになり壊れた状態
$ sudo apt install libpam0g

debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
libpam0g:amd64 (1.5.3-5ubuntu5.5) を設定しています ...
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: パッケージ libpam0g:amd64 の処理中にエラーが発生しました (--configure):
 installed libpam0g:amd64 package post-installation script subprocess returned error exit status 1
処理中にエラーが発生しました:
 libpam0g:amd64
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)

また、再度実行すると下記のようになり、ロックが残っていてインストールできなくなりました

$ sudo apt install libpam0g 
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 719794 (unattended-upgr)      
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 719794 (unattended-upgr)      
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 719794 (unattended-upgr)      
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is heWaiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 719794 (unattended-upgr)      

aptコマンドを実行しているプロセスを停止する

対処方法ですが、前回のaptコマンドを残っていてファイルをロックしている可能性があるので該当プロセスをKill します

# 該当のプリセス番号かapt の文字でgrep してプロセスが残っていないか確認します
$ ps -ef|grep 719794
root      719794  719766  0  9月24 ?      00:26:56 /usr/bin/python3 /usr/bin/unattended-upgrade
root      719849  719794  0  9月24 ?      00:00:01 /usr/bin/python3 /usr/bin/unattended-upgrade

# ps aux | grep aptでもaptコマンドのプロセスが残っているか確認できます
$ ps aux | grep apt

残っているプロセスをkillします

$ sudo kill -9 719794

上記で再度、apt コマンドでパッケージをインストールしてみます。

駄目な場合は次のステップを試します

ロックファイルなどの一時ファイルを削除する

プロセスをkillしても駄目な場合は、ロックが残っている場合が多いので削除します

$ sudo rm -f /var/lib/dpkg/lock
$ sudo rm -f /var/lib/dpkg/lock-frontend
$ sudo rm -f /var/cache/apt/archives/lock
$ sudo rm -f /var/cache/debconf/config.dat*

dpkg の修復や依存関係を修復します

# dpkg の中途半端な設定を修復
$ sudo dpkg --configure -a

# 壊れた依存関係があれば修復
$ sudo apt -f install

# パッケージ情報を更新
$ sudo apt update

# 再インストールを試す
$ sudo apt install --reinstall libpam0g

再度、実行して駄目な場合は、最終手段となりますがリブートです。

スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク
Ubuntu
スポンサーリンク
シェアする
adminをフォローする
タイトルとURLをコピーしました