GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntuで「E:ロック/ var / lib / dpkg/lockを取得できませんでした」エラーを修正する方法

この簡単なガイドは、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で無人アップグレードを無効にする方法

Ubuntu
  1. Aptロックを保持しているプロセスを強制終了する方法は?

  2. Ubuntuをロックアップする方法は?

  3. 「Lockfile / var / lib / dpkg / lock-frontend could not open」というエラーを修正する方法

  1. Ubuntuでの「dpkg:エラー:ファイル‘/ var / lib / dpkg /updates/0014‘の解析」エラーを修正

  2. 修正E:ロックを取得できませんでした/ var / cache / apt / archives /lock[クイックヒント]

  3. Ubuntu E:ロック/ var / lib / dpkg / lockエラーを取得できませんでした-今すぐ修正しますか?

  1. サブプロセスを修正する方法/usr/ bin / dpkgがUbuntuでエラーコード(1)を返しました

  2. /var/log/messages、/var/log/syslog、および/var/log/kern.logの違いは?

  3. 「ロックを取得できませんでした / var / lib / dpkg / lock – open (11 リソースが一時的に利用できません)」エラーを修正する方法