パッケージ置き場を整理


赤帽のページを見に来てくれる人が増えて、それ自体はとっても嬉しいことだ。だけど、パッケージ置き場だけを wget でガサッと持ってくとか、そこだけ覗いて、あ、新しいのはないや、と帰られてしまうのは残念極まる。パッケージなんて殺那的なもので、せいぜい1ヶ月くらいのライフしかない季節物でしかなく、覚え書きの方にこそ力を入れてるんだけどなぁ。

というわけで、ローレンな環境を整えるためにパッケージにしたものを新たに置くことにしたのだが、インストールしてすぐ使えるバイナリ・パッケージを置くのはヤメることにした。

ISP の容量制限もあるし、そもそも glibc 2.1 なローレン環境でビルドしたパッケージを置いたところで、ほとんどの人には役に立たぬし、落した人が glibc 2.0 環境では当然だがインストールに失敗する。そこで glibc 2.0 なパッケージはありませんか? などとメールなど来ようものならオレがブチ切れるのは必定だ(笑) rebuild できませんとか、動きが変ですとか、パッチですなどというのは大歓迎だが、バイナリはないのか?ってのはねぇ。

rpm --rebuild すれば赤帽5.2 の glibc 2.0 + libwcsmbs 環境でもそれらしく動作することは確認してあるので、必要に応じて rebuild してもらえたら嬉しい。というか、オレならバイナリ・パッケージがあったとしても SRPM の方を持っていって rebuild してから使うけどなぁ :-P

rpm を使うようになってしばらく経ったけれど、しょせんは rpm も、必要と指定されているパッケージが入っているか確認し、置けと指定された位置にファイルをコピーしているに過ぎないわけで、その振る舞いがよく理解できていないうちにバイナリ・パッケージをボカスカ入れるのは、やはり、あまり賢い方法ではないよなぁ。

確かにソースの tar 玉を持ってきて make install で入れるのに比べれば、はるかに楽なのだが、個人で使用しているマシンであっても「システム管理」というものは存在するはずだし、その管理者は他ならぬユーザ自身なのだ。実際の作業そのものは、rpm -i などでブチ込むだけであっても、本来は「make install」の手順を踏んで適宜自分の環境に擦り合わせたのと同程度には、今、自分が何をしているのか、を理解しているべきなのではないか、と思う。

特に、最近よく見かけるようになった質問として

「rpm -i hogehoge.rpm とすると failed dependencies: libhoge is needed by hoge などと出てインストールできません、どうすればいいのですか?」

などというのがあるが、この手の質問を見た親切な人が

「それは hoge が 依存している libhoge というパッケージが入っていないためです。libhoge を入れましょう。にも関わらずどうしてもインストールしたい場合は rpm -i --nodeps hoge.rpm などとするとインストールすることはできます。」

などと答えてあげていたりする。他にも failed dependencies: ではなくて「conflict と言われます」という場合に「それは何らかの理由ですでに同じ名前のファイルがあるのです。にも関わらずどうしてもインストールしたい場合は --force でインストールできます。」と答えてあげている場合もある。

予想つくでしょ?どうなるか。そう。2日と経たないうちに、「インストールしたのですが動きません」という質問が出ると相場は決まっている。お約束だね。進歩ないぞぅ。

せっかく親切で答えてくれたのに、えてして「依存しているパッケージが足りない」とか「すでに入っているのではないか?」という答の真意を汲まず、手段だけを求めて rpm -ivh --nodeps --force などとしてブチ込んでしまうからそういうことになる。そういうのはインストールしたって言わないんだよ。単にコピーしてブチ込んだだけ。動かなくても何の不思議もない。

Windows を使っている人で、フリーウェアだの、お試し版だのというのがあると、次から次へと落してはインストールしたあげく、なんだかワケの分からない状態になり、不安定になったら再インストールだ、ったく Windows は不安定だ、などとやっているのを見たり聞いたりするが、不安定なのはあんたのオツムだろ、と言いたくなる。賽の河原で石を積んでるんじゃねぇんだからさぁ。

Windows には依存性の管理もヘッタクレもないからすぐにそういうことになりがちだが、rpm だって deb だって、よく考えもせずにバイナリ・パッケージをボカスカ入れたら、似たようなもんだぜ。

何らかの問題があるのにメッセージやログなどに出ず、徴候がない、ということはあるが、その逆の、なんの問題もないのにメッセージが出る、ということはまずない。worning ならともかく、failed とか error とか言ってるなら、それは確実に問題があるということだ。そういうのを拾わずして、安定も不安定も語れまい。Linux であっても、たとえ Windows であっても、だ。

おっと脱線してしまったぜ、長々と。

パッケージ置き場の現在の内訳を書いとこう。

と、だいたいこんなところかな。


メール 戻る