この簡単なガイドは、Ubuntuで「E:ロック/ var / lib / dpkg/lockを取得できませんでした」エラーを修正する方法を説明しています。これは通常、別のapt操作がすでにバックグラウンドで実行されている場合に発生します。
テスト目的で使用するUbuntu18.04LTS仮想マシンがあります。このVMを起動し、APTパッケージマネージャーを使用してアプリケーションを更新またはインストールしようとすると、次のエラーが発生します。
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
または、以下のような同様のエラー:
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?
E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable) E: Unable to lock directory /var/lib/apt/lists/
それは毎回起こります。 apt操作を実行するには数分待たなければなりませんでした。
ソフトウェアのインストールまたは削除中、またはバックグラウンドでシステムを更新しているときに、一部のプロセスがaptデータベースをロックしていることを知っています。 「トップ」を実行しました 実行中のプロセスのリストを調査するコマンド。 topコマンドの出力を調べたところ、無人更新というプロセスがあることがわかりました。 、 apt updateを実行します Ubuntu仮想マシンをオンにするたびに。 aptアップデートの実行中、aptデータベースがロックされ、apt操作を実行できませんでした。
Ubuntuで「E:ロック/ var / lib / dpkg/lockを取得できませんでした」エラーを修正
この問題が発生した場合は、現在インストール中、更新中、またはアンインストール中のタスクが完了するまで数分待ちます。更新のサイズによっては、このプロセスが完了するまでに時間がかかります(5〜10分以上)。そのタスクが完了すると、ロックは自動的に解放されます。
ただし、プロセスが何らかの理由でスタックし、aptデータベースが数分間ロックされた場合は、ロックを解除するしかありません。その場合は、以下の手順で修正してください。
まず、ロックファイルを所有しているプロセス、つまり / var / lib / dpkg / lockを見つけましょう。 。
$ sudo lsof /var/lib/dpkg/lock
ロックファイルが異なる場合、たとえば / var / lib / dpkg / lock-frontend 、次のコマンドを使用して、このロックファイルを所有するプロセスのPIDを見つけることができます:
$ sudo lsof /var/lib/dpkg/lock-frontend
ロックファイルが「/var / lib / apt / lists/lock」の場合 、実行:
$ sudo lsof /var/lib/apt/lists/lock
出力例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME unattende 1548 root 6uW REG 8,2 0 1181062 /var/lib/dpkg/lock

E:ロックを取得できませんでした/ var / lib / dpkg / lock-frontend --open(11:リソースが一時的に利用できません)
上記の出力からわかるように、ロックファイルを保持するプロセスのPIDは 1548です。 。
コマンドを使用してロックを解除するには、それを強制終了します:
$ sudo kill -9 1548
これで、コマンドを使用してロックを安全に解除できます:
$ sudo rm /var/lib/dpkg/lock
または、
$ sudo rm /var/lib/dpkg/lock-frontend
または、
$ sudo rm /var/lib/apt/lists/lock
また、キャッシュディレクトリ内のロックファイルを削除する必要がある場合もあります:
$ sudo rm /var/cache/apt/archives/lock
ロックを解除した後、次を実行します:
$ sudo dpkg --configure -a
これで問題が解決するはずです。
この方法は、99%の時間で問題なく機能します。ただし、更新プロセスが実行されていて、パッケージのインストール中にプロセスを強制終了した場合、システムが破損する可能性があることに注意してください。そのような場合でも、慌てる必要はありません。以下のガイドに従って修正してください。
- 壊れたUbuntuOSを再インストールせずに修正する方法
頑張ってください!
関連記事:
- Ubuntuで無人アップグレードを無効にする方法