修正方法 - Ubuntu でロック /var/lib/dpkg/lock エラーを取得できませんでした
このチュートリアルは、Ubuntu でロックを取得できなかった、または管理ディレクトリをロックできないエラーを修正するのに役立ちます。
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
apt を使用してコマンドライン操作を実行しているときに、特定の理由 (例: サーバーから一部のパッケージを取得できない、インターネット接続が途中で切断された、またはその他の問題により) により、apt プロセスが突然終了すると、システムが停止する可能性があります。上記のエラーが発生しました。これは、apt プロセスが完了できず、修正しない限り他の apt コマンドを使用できなくなることを意味します。
これを修正するには複数の方法がありますので、1 つずつ試してみましょう。
修正1
この修正により、apt プロセスのプロセス ID が特定され、それらを強制終了しようとします。ターミナルから以下のコマンドを実行します。
ps aux | grep apt
ロックを保持しているすべての apt プロセスがリストされます。以下の例では、ロックを保持しているプロセス ID (最初の列) が表示されます。
kill -9 processnumber
上記のコマンドを実行した後、再起動し、エラーが発生した apt コマンドを実行してみてください。これによりエラーが解決されるはずです。
それでもエラーが発生し、修正 1 で解決しなかった場合は、以下の修正に従ってください。
修正2
ターミナルから以下のコマンドを試してください。これにより、apt サービスが停止されます。
sudo systemctl stop apt-daily.timer
上記のコマンドの後、まだエラーが発生するかどうかを試してください。問題が解決した場合は、システムを再起動し、その後、以下の方法でサービスを開始してください。
sudo systemctl start apt-daily.timer
修正 2 が機能しなかった場合は、以下の修正に従ってください。
修正3
警告:
以下の修正は危険なので、上記の修正 1 と修正 2 が機能しなかった場合にのみ試してください。これは最後の手段です。これにより、不注意に操作するとシステムが破損する可能性があります。
ターミナルから以下のコマンドを実行します。これにより、root 権限を使用してロック ファイルが手動で削除されます。
sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock
sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock
上記のコマンドを実行した後、エラーが発生した操作を実行してみてください。これで解決するはずです。
☞ Ubuntu とその派生製品で実行しているシステムが何であっても、上記の 3 つの修正のいずれかが機能するはずです。問題が解決したかどうかを以下にコメントしてください。