序章
yumコマンドのinstallもsearchもinfoも全部止まる。
なぜかsudoしないときは動く。
rpmでのインストールも止まる。
なんでやねん!
答え
まずはどうしたら治ったか。
rm /var/lib/rpm/.rpm.lock
rm /var/lib/rpm/.dbenv.lock
rm /var/lib/rpm/__db*
rpm --rebuilddb -vv
yum clean all
経緯
sudo yum install httpd
しーん
このアンサーを参考にするも治らず。
https://superuser.com/a/518252
これだけじゃダメだった。
rm /var/lib/rpm/__db*
rpm --rebuilddb -vv
yum clean all
固まる。
どれかのリポジトリがおかしいわけでもない
yumのエラーメッセージは空。
yumではなくrpmコマンドでインストールはできるのか?と思い
sudo rpm -ivhv ***.rpm
↑ -vv とすると詳細なログが出る
ログは、
D: ============== ./***.rpm
D: loading keyring from pubkeys in /var/lib/rpm/pubkeys/*.key
D: couldn't find any keys in /var/lib/rpm/pubkeys/*.key
D: loading keyring from rpmdb ←ここで止まる。
永久に返ってこない。
エラーもヤッパリでない。
なんでかな~~
と思ったら、
/var/lib/rpm/の下。なんかいる
...
-rw-r--r-- 1 root root 0 Dec 26 16:52 .dbenv.lock
-rw-r--r-- 1 root root 0 Dec 26 16:52 .rpm.lock
...
これ消していいのかな?と思いググったら、消しているstackoverflowがあったので、実施。
無事直りました。
これでAnsibleを入れて...ぐふふ
まとめ
(これは経験則ですが、)コマンドの置いてあるディレクトリを見よう。
パスが通ってればコマンドファイルの場所が出るよ
whereis rpm
あとpython3を入れてしまって、というパターンの場合は他をあたってください。
おまけ
yumがフリーズしたときにkillするワンライナーコマンド
pgrep yum | xargs sudo kill -9