Ubuntu の「管理ディレクトリ (/var/lib/dpkg/) をロックできません」を修正
apt-get コマンドや、Ubuntu Linux やその派生版 (私は実際にプライマリ オペレーティング システムとして使用しています) で apt-get コマンドや比較的新しい APT パッケージ管理ツールを使用しているとき日常業務を行っている場合)、「管理ディレクトリ (/var/lib/dpkg/) をロックできません。それは別のプロセスが使用しています」というエラーが発生した可能性があります。コマンドライン。
このエラーは、エラーの原因を正確に知らない可能性がある新しい Linux (Ubuntu) ユーザーにとっては特に迷惑な場合があります。
以下は、Ubuntu 16.10 でのロック ファイル エラーを示す例です。
tecmint@TecMint:~$ sudo apt install neofetch
[sudo] password for tecmint:
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/
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?
将来上記のエラーに遭遇した場合に備えて、どうすれば解決できますか?このエラーに対処する方法はいくつかありますが、このガイドでは、最も簡単でおそらく最も効果的な 2 つの解決方法を説明します。
1. すべての apt-get または apt プロセスを検索して強制終了します
以下のコマンドを実行して、名前に単語 apt で構成されるすべてのプロセスのリストを生成します。すべての apt または apt-get< を含むリストが取得されます。 は、ps
および grep コマンドをパイプラインとともに使用して処理します。
ps -A | grep apt
上記のコマンドの出力に表示されるapt-get または apt プロセスごとに、以下のコマンドを使用して各プロセスを強制終了します。
プロセスID (PID) は、上のスクリーンショットの最初の列にあります。
sudo kill -9 processnumber
OR
sudo kill -SIGKILL processnumber
たとえば、以下のコマンドでは、9
が SIGKILL シグナルのシグナル番号であり、最初の apt プロセスが強制終了されます。
sudo kill -9 13431
OR
sudo kill -SIGKILL 13431
2. ロックファイルを削除します
ロック ファイルは、Linux システム上の別のファイルまたは一部のデータへのアクセスを単に阻止するだけであり、この概念はWindows や他のオペレーティング システムにも同様に存在します。
apt-get または apt コマンドを実行すると、これらのディレクトリ /var/lib/apt/lists/ のいずれかにロック ファイルが作成されます。 、/var/lib/dpkg/、および /var/cache/apt/archives/。
これにより、すでに実行中のapt-get または apt プロセスが、ユーザーによって使用されるファイルを処理する必要がある他のシステム プロセスによって中断されるのを避けることができます。 apt-get または apt。プロセスの実行が終了すると、ロック ファイルは削除されます。
重要: 目立った apt-get または apt プロセスが実行されていないにもかかわらず、上記の 2 つのディレクトリでロックがまだ残っている場合は、プロセスが 1 つの理由で保留されていることを意味している可能性があります。したがって、エラーをクリアするにはロック ファイルを削除する必要があります。
まず、以下のコマンドを実行して、/var/lib/dpkg/
ディレクトリ内のロック ファイルを削除します。
sudo rm /var/lib/dpkg/lock
その後、次のようにパッケージを強制的に再構成します。
sudo dpkg --configure -a
あるいは、以下のように /var/lib/apt/lists/
とキャッシュ ディレクトリ内のロック ファイルを削除します。
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
次に、パッケージのソース リストを次のように更新します。
sudo apt update
OR
sudo apt-get update
結論として、apt-get または apt の実行中に Ubuntu (およびその派生製品) ユーザーが直面する一般的な問題に対処する 2 つの重要な方法を説明しました。適性コマンド。
この一般的なエラーに対処するための、信頼できる共有方法は他にありますか?その後、以下のフィードバック フォームからご連絡ください。
さらに、実行中のプロセスを見つけて強制終了する方法を学び、Linux でプロセスを終了するための kill、pkill、および killall コマンドの簡単なガイドを読んでもよいでしょう。