
VMwareシステムにKali Linuxをインストールした後、resources.listファイルを更新しようとしましたが、何らかの理由で
apt-get upgrade
以下のようにコマンドの使用中にエラーが発生しました。
E: /var/lib/dpkg/lock をロックできません - open(11: リソースを一時的に使用できません) E: 管理ディレクトリ (var/lib/dpkg/) をロックできません。これを使用する他のプロセスはありますか?
このapt-update
コマンドは機能している可能性があり、禁止されたIPエラーが発生してLinuxリポジトリに接続できない場合があります。私のKaliリポジトリのresources.listファイルは次のとおりです。
デップhttp://http.kali.org/kaliカリーローリングメイン非自由貢献
これらのエラーを修正する方法がわからず、解決策が見つかりません。
答え1
- 最初のメッセージは処理が簡単です。
E: /var/lib/dpkg/lock ロックを取得できません。 - オープン(11:リソースを一時的に使用できません)
このメッセージは、ソフトウェアをインストール/削除するための別のプログラムが開いていることを示します。ソフトウェアを見つけて閉じてから、システムを再起動する必要があります。
- 2番目のエラーメッセージはトリッキーです。
E: 管理ディレクトリ (var/lib/dpkg/) をロックできません。他のプロセスで使用していますか?
このエラーを解決する1つの方法はロックを取り外すことですが、これは最後の手段です。推奨しない。代替案は次のとおりです。 apt プロセスの実行中にロックを設定し、プロセスが完了したらロックを削除します。ロックがあり、確実なプロセスが実行されていない場合は、プロセスが何らかの理由で中断されたことを意味できます。次のコマンドを試してください。
ps aux | grep apt
少なくともaptという単語を含むプロセスはキャプチャされます。 apt-getプロセスやaptitudeプロセスが停止したように見える場合は、試してみてください。
kill <apt_process_ID>
それでも機能しない場合はお試しください。
kill -9 <apt_process_ID>
これにより、プロセスが終了し、ロックが削除される可能性があります。 apt または aptitude プロセスを終了することは、実際にパッケージをインストールしていない限り無害です。それにもかかわらず、プロセスが中断されると、プロセスを終了する以外に選択肢がない可能性があります。
dpkgプロセスが有効になっているとパッケージデータベースを操作でき、それを終了するとパッケージデータベースが一貫性のない状態、つまり破損する可能性があるため、dpkgプロセスを直接終了するのは良い考えではありません。
一般的に言えば、apt-getまたはaptitudeプロセスを終了する方がはるかに安全です。
これで前の手順が失敗した場合は、ロックを削除する必要があります。これは最後の手段であり、推奨されません。
次のコマンドを使用してロックされたファイルを削除できます。
sudo rm /var/lib/apt/lists/lock
キャッシュディレクトリからロックファイルを削除する必要があるかもしれません。
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
次に、Synaptic Package Managerを再度開きます。