仁がWeb技術っぽい記事を書いています。日CentOSのRPMでOSのバージョン間違い新しいサーバをZABBIXで監視に追加するためにZABBIXのリポジトリインストール用のRPMをインストールしようと思ったら、見慣れないエラーが出てインストールできなかった。searchで調べてみたけども該当するようなパッケージは見つからない。調べてみてもなんだか要領を得ない。なんだろうと思って、ふとOSのバージョンを確認したら。新しく導入したサーバだからCentOS6系だと思い込んで、CentOS6系用のRPMをインストールしようとしていた。ただの思い込みだったわけだ。http://repo.zabbix.jp/relatedpkgs/rhel5/i386/zabbix-jp-release-5-6.noarch.rpmCentOS5系用のパッケージをインストールして解決。自分で調達したものではなかったので気づかなかったという。rpmコマンドのエラーではOSのバージョンが違うとかは特に出ないようになってるんだな。似たようなエラーが出た場合はRPMパッケージの対応OSが合っているか確認してみよう。CentOS普通にインストールしたCentOSでは普通に使えていたコマンドがCentOSで契約したVPSに入っていなくて使えないことがある。自分の場合はdigやmailコマンドをよく使うのでないとちょと困る。mailではインストールできない。RPMのパッケージ名が違うからだ。digとかしてみるわけだけどDigitalとかの単語が引っかかるだけで結局分からない。そんなときはrpmのqfオプションでコマンドの実行ファイルのパッケージ所属を調べればよい。コマンドのパスはwhichなんかで調べる。bind-utilsこんな感じでdigがBINDのユーティリティでbind-utilsというパッケージ名であることが分かる。パッケージ名が分かればyumでインストールできる。mailコマンドも同様に調べてみる。mailxCentOSなのにyum自体が入っていないという恐ろしい場合もある。Typeのデータベースとしてsqliteを利用する場合は別途CPANなどでインストールする必要がある。CPANを使うとRPMですでにperl-DBIが入っているのにDBIもCPANでインストールし直さなければならなくなることがある。DBD-SQLiteもRPMの方がよいだろうとうことでDagリポジトリを利用することにする。packagesCentOSのバージョンや種類によって必要なRPMをダウンロードしてインストールするだけ。CentOS5の場合はファイル名に「el5」が含まれるパッケージをダウンロードする。perl-DBD-SQLite-1.14-1.el5.rf.x86_64.rpmちなみに、yumにDAGリポジトリを追加すると言う方法もあるのだろうけどごっそり構成が変わりそうになるので、リポジトリを追加する方法は好みではない。仁がWeb技術っぽい記事を書いています。