私は過去 1 年間、一般的な監視 / 傾向把握のために Puppet、Nagios、Munin を使用して 20 ~ 30 台の cPanel ベースのホストを管理してきましたが、構成などの展開 / 管理に使用しなければならなかった方法の多くは面倒でした。
cPanel に詳しくない方のために説明すると、cPanel は、perl*、ruby* など、yum exclude にいくつかのものを追加します。これにより、Yum 経由のインストールで多数の競合が発生するため、Puppet (パッケージ タイプ経由) 経由で新しいサーバー上で監視をブートストラップできないという問題が発生します。
これで、すべてに対してカスタム RPM を作成し、仕様ファイルから特定の依存関係を削除できるようになりましたが、可能であればこれを避けたいと思います。このような環境を管理するための機能的な方法を提案している人はいますか?
現在、Puppet、Facter、Munin を RPM 経由でインストールし、--nodeps などを使用して強制インストールしています (これらはインストールされていますが、Yum が要求するものはインストールされていません)。Nagios は、現時点でソースから手動でインストールしました (RPM が作成される可能性が高いですが、まずはこの一般的な問題に取り組みたいと思います)。
答え1
cPanel の Ruby インスタンス (/scripts/installruby) を使用します。そこから、gem またはソース経由でインストールできます。
答え2
Munin は、次の WHM プラグイン インストーラーを介してインストールできます。
メイン >> cPanel >> プラグインの管理
「インストールして最新の状態に保つ」をクリックするだけでインストールされます。
Yum は、yum.conf のセクションに依存関係があるパッケージを、RPM データベース内に適切なバージョンがあればインストールできるはずですexclude=
。cPanel システムでは、RPM データベースが頻繁に破損することが知られています。再構築してから、もう一度インストールしてみてください。RPM データベースを再構築します。
デッド RPM プロセスから古いロックをクリアするには、/var/lib/rpm/__db* ファイルを削除します。
cd /var/lib/rpm
rm __db*
RPM データベースを再構築します。
rpm --rebuilddb
何か違いがありますか?
そうでない場合、不足している依存関係はインストールされていますか? 次を使用して確認します:
rpm -qa
または:
rpm -qi [packagename]
cPanel は RPM 経由で ruby をインストールするため、これがリストされ、yum 経由でインストールするときに依存関係が解決されるはずです。ただし、cPanel は PHP をインストールしないため、これが欠落している依存関係である場合は別の問題になります。
答え3
この問題は、RPM の自動分解に関するものです。残念ながら、cPanel は RPM ベースのパッケージを使用しません。また、一部のものを Yum から除外したり、一部のものを非標準領域 (RHEL に関する限り) にインストールしたりするため、RPM/Yum の分解で問題が発生します。
私が見つけた解決策は、独自の RPM を構築し、自動的に解決しないようにすることでした。