dpkgがlockする原因と対処法
$ sudo apt-get install hogegoe や
$ sudo apt-get purge hogehoge を
ctrl+z か ctrl+cで、実行を中断にすると、
dpkg(aptのファイル解凍系ライブラリ)にlockがかかり、
下のようにコマンドプロントいっぱいに、
/var/lib/dpkg/lock-frontend
と流れ続けます。
途中で電源が落ちてaptの処理が正しく終了されなかったり、
または正しく終了したつもりが、lockファイルが残った状態だと
PC起動画面に、/var/lib/dpkg/lock-frontend の処理が流れ続けます。
正直、初心者の人が初めてこれを見ると『PCが壊れた』とか、
『ハッキングに遭った』思う方もいるかもしれません。
事後対処法:
ctrl+z か ctrl+cで、dpkg/lock-frontend を止め、
$ cd /var/lib/dpkg/ のディレクトリにいき、
lock-frontend と lock のキャッシュを削除する。
$ cd /var/lib/dpkg/
sudo rm -rf lock lock-frontend
消して大丈夫?と思った、そこのあなた。
この先、aptを中断するたびに、何度でもこの画面と
lockファイルのキャッシュの消去(rm = remove)をさせられるので、
サーバーの管理業務などをする方は慣れておいた良いでしょう。
あと、これの/var/lib/apt/listsの場合も同じで
cd /var/lib/apt/lists
sudo rm -rf lock lock-frontendで正常に削除できます。
あと、var/cache/apt/archives/ でも同じ現象、
同じ処理で解決できます。
あと、超レアケースなのかもしれませんが、アップデート中に
/var/lib/dpkg/updates にロックがかかってしまい、
/var/lib/dpkg/lock-frontend の削除をしても
尚ロックがかかり続ける場合があり、その場合、
①スクリプトを2つ(2窓で)開き、片側でアップデートorアップグレードを進行。
②アップデートなどの進行が止まったら、その都度、
/var/lib/dpkg/updatesのキャッシュや/var/lib/dpkgにlock-frontend と lockの削除
※削除コマンドはsudo rm -rf lock sudo rm -rf lock-frontend
/var/lib/dpkg/updatesのキャッシュは、ここ。
同じく 0001 0002 000n.....と生成され消えて行くので、詰まっているファイルを削除
補完処理として、
sudo dpkg --configure -a
sudo apt --fix-broken install
を実行。
sudo apt --fix-missing install -f hogehoge
sudo apt --fix-broken reinstall hogehoge
sudo apt --fix-missing reinstall -f hogehoge
などで、インストールし直すも良いかもしれません。
/var/lib/dpkg/updates lockエラーは、
そうそう見ることないのですが、バージョンが古すぎてとか
依存の関係でたまに出ることがあるみたいです。
ubuntuは研究所とか、ファイルサーバーとしても、
使ってるコアなユーザーが多いので、何か情報共有できる方
いたらよろしくお願い致します。
マジで日本人のubuntunメインの
仲間いなくて困ってます💦
よろしくお願い致します。
Discussion