ウェブサイト検索

修正方法 - 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 つの修正のいずれかが機能するはずです。問題が解決したかどうかを以下にコメントしてください。

関連記事