Ubuntuを頻繁に使用している場合は、ある時点で「ロック/ var / lib / dpkg/lockを取得できませんでした」というエラーが発生する可能性があります。これはたまたまエラー「ロックを取得できませんでした/var/ lib / apt / lists/lock」に関連しています。
基本的に、これは致命的ではないエラーであり、通常、主要な懸念事項ではありません。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するUbuntuエラーを修正するのを定期的に支援しています。
これに関連して、このUbuntuLinuxシステムエラーに対処する方法を検討します。
Ubuntuの原因「E:ロック/ var / lib / dpkg / lockを取得できませんでした」エラー?
このエラーの一般的な原因は、プロセスがAPTパッケージマネージャーを使用してソフトウェアを更新/アップグレード/インストールするか、システムでパッケージ管理を実行している場合です。これが発生すると、プロセスはロックファイルを使用してdpkgファイルをロックし、別のプロセスがデータを変更しないようにします。これにより、システム内の重要なファイルのエラーや破損が発生する可能性があります。
このエラーが発生するたびに、APTを実行している別の同時プロセスが存在する可能性が高くなります。これは、別の端末で同時に実行されているプロセスである可能性があります。このエラーは、ターミナルでCTRL + Cを押したり、ターミナルウィンドウを誤って閉じたりして、更新またはアップグレードプロセスが中断され、途中で終了した場合にも発生する可能性があります。
Ubuntuの「E:ロック/ var / lib / dpkg / lockを取得できませんでした」エラーを修正する方法は?
以下のヒントを適用して、このエラーを解決し、APTパッケージマネージャーの使用に戻ることができます。
1.プロセスが終了するのを待ちます
システムの更新やアップグレード、アプリケーションのインストールなどのコマンドでAPTパッケージマネージャーが使用されている別のターミナルセッションがある場合は、操作を正常に終了させてください。完了後、必要なコマンドを実行し、APTを使用して他の操作を実行できます。
2.APTパッケージマネージャーを使用してプロセスを終了します
パッケージインデックスのアップグレードや更新のキャンセルなど、APTを使用するプロセスを中断した場合は、最初に、次のpsコマンドを使用してAPTを使用するプロセスを特定します。
$ ps aux | grep -i apt
出力から、APTがrootによって開始された2つのプロセスによって使用されていることがわかります。プロセスは3994や3999などのPIDを持っている可能性があります。APTを使用してプロセスを特定したら、次のアクションはプロセスを強制終了または終了することです。
これを実現するには、次のようにkillコマンドを使用します。
$ kill -9 PID
出力から、次のように3994と3999のPIDを持つプロセスを強制終了します。
$ kill -9 3994
$ kill -9 3999
-9フラグは、SIGKILLシグナルをトリガーします。このシグナルは、プロセスを正常に終了させずに、プロセスをただちに終了します。
はるかに簡単な方法は、次のようにkillallコマンドを使用することです。
$ killall apt apt-get
問題のあるプロセスを強制終了したら、コマンドでAPTパッケージマネージャーの使用に進むことができます。
3.ロックファイルを削除します
適用できる他の修正は、ロックファイルを削除することです。前述のように、ロックファイルは2つの異なるプロセスによるデータへのアクセスを防ぎます。ロックファイルを削除するには、次のコマンドを実行します。
$ sudo rm /var/lib/dpkg/lock
$ sudo rm /var/lib/dpkg/lock-frontend
そして最後に、パッケージを再構成します。
$ sudo dpkg --configure -a