CentOS 5系からrpmとyumを消してしまった話

すごく悲しい出来事が起きたのでご報告。

そもそもはcapybara-webkitを入れるためにQtの環境を作ろうとしたところ、ドキュメントにはCentOS 6.2の話しかないので試しに同じ手順でやってみたのです。

そうすると、rpmで入っているsqlite3のバージョンが古くてうまくいかなかったので、sqlite3をアップグレードしようとしたのがよくなかった。

単純にアップグレードしようとしても「コンフリクトするよー」と言われてしまい、じゃあ消せばいいかとyum remove sqlite3を…いろいろ巻き添えになって消されそうだったんだけど、まあこの際一回パッケージを綺麗にしようとyを押してしまったら最後、rpmとyumまで消えてしまったのでした…

rpmがsqlite3に依存していて、yumがrpmに依存しているので結局ほぼ統べてのパッケージが消えてしまい、数分ほど放心状態に(テスト環境でホントによかった)(本番ではそんな雑に作業しないつもりだけど)。

とりあえずGoogle先生からCentOS6.0でrpmをインストールする方法というページを教えていただき、同じバージョンのCI環境をつかってrpmやyumを復旧したのでした。

で、結局capybara-webkitは普通にqt4-develを入れればよかったという落ちで、ほんとに涙目でした。みなさんもパッケージを消すときは気をつけましょう。

(ここから愚痴) そうはいっても、やっぱりパッケージ管理システムが切腹できちゃまずいと思うんですよ。ちゃんと見ろとか、ダブルチェックとかそういう話にしてもしょうがないと思うんですよ。 たとえば、Gentooなら

$ sudo emerge -C portage
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.
 * Not unmerging package sys-apps/portage-2.3.4-r4 since there is no valid
 * reason for Portage to unmerge itself.

という感じでそもそも消せないわけで、また一つCentOSが嫌いになったのでした。