在過去的一年裡,我一直在使用Puppet、Nagios 和Munin 管理20-30 個基於cPanel 的主機來進行一般監控/趨勢分析,但我必須使用很多方法來部署/管理諸如配置之類的事情,這很痛。
對於不熟悉 cPanel 的人來說,它添加了一些要 yum 排除的內容,例如 perl*、ruby* 等。由於與透過 Yum 安裝存在大量衝突,這導致我無法透過 Puppet(以及透過套件類型)在新伺服器上引導監控。
現在,我可以為所有內容建立自訂 RPM,並從規範檔案中刪除某些依賴項,但如果可能的話,我希望避免這種情況。有沒有人有任何建議的功能方法來管理這種環境?
目前,我透過 RPM 安裝 Puppet、Facter 和 Munin,並使用 --nodeps 等強制安裝(因為它們已安裝,只是沒有 Yum 想要的)。我此時從原始程式碼手動安裝了 Nagios(可能會建立 RPM,但我想先解決這個一般問題)。
答案1
使用 cPanel 的 ruby 實例 - /scripts/installruby - 從那裡您可以透過 gem 或透過來源安裝。
答案2
Munin 可以透過 WHM 外掛程式安裝程式安裝:
主 >> cPanel >> 管理插件
只需點擊“安裝並保持更新”即可安裝。
Yum 應該能夠安裝exclude=
yum.conf 部分中具有依賴項的軟體包,只要它們位於 RPM 資料庫中且版本正確。眾所周知,cPanel 系統經常會損壞 RPM 資料庫。嘗試重建它,然後再次嘗試安裝。重建 RPM 資料庫:
刪除 /var/lib/rpm/__db* 檔案以清除死 RPM 程序中的過時鎖:
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 並使其不自動解算。