Ich habe im letzten Jahr 20–30 cPanel-basierte Hosts mit Puppet, Nagios und Munin zur allgemeinen Überwachung/Trendanalyse verwaltet. Allerdings waren viele der Methoden, die ich zum Bereitstellen/Verwalten von Dingen wie Konfigurationen verwenden musste, mühsam.
Für diejenigen unter Ihnen, die mit cPanel nicht vertraut sind: Es fügt einige Dinge zu yum exclude hinzu, wie perl*, ruby* usw. Dies führt bei mir zu Problemen beim Bootstrapping der Überwachung auf einem neuen Server über Puppet (also über den Pakettyp), da es bei der Installation über Yum zu zahlreichen Konflikten kommt.
Jetzt könnte ich für alles ein benutzerdefiniertes RPM erstellen und bestimmte Abhängigkeiten aus der Spezifikationsdatei entfernen, aber ich möchte dies nach Möglichkeit vermeiden. Hat jemand Vorschläge für funktionale Möglichkeiten, diese Art von Umgebung zu verwalten?
Derzeit installiere ich Puppet, Facter und Munin über RPMs und erzwinge die Installation mit --nodeps und dergleichen (da sie installiert sind, nur nicht die, die Yum will). Nagios habe ich derzeit manuell aus dem Quellcode installiert (es werden wahrscheinlich RPMs erstellt, aber ich möchte dieses allgemeine Problem zuerst angehen).
Antwort1
Verwenden Sie die Ruby-Instanz von cPanel – /scripts/installruby – von dort können Sie per Gem oder über die Quelle installieren.
Antwort2
Nun, Munin kann über das WHM-Plugin-Installationsprogramm unter folgender Adresse installiert werden:
Hauptseite >> cPanel >> Plugins verwalten
Klicken Sie einfach auf „Installieren und auf dem neuesten Stand halten“ und es wird installiert.
Yum sollte in der Lage sein, Pakete mit Abhängigkeiten im exclude=
Abschnitt yum.conf zu installieren, solange sie sich in der RPM-Datenbank und in der richtigen Version befinden. Es ist bekannt, dass cPanel-Systeme häufig beschädigte RPM-Datenbanken erhalten. Versuchen Sie, sie neu zu erstellen, und versuchen Sie die Installation dann erneut. Erstellen Sie die RPM-Datenbank neu:
Entfernen Sie /var/lib/rpm/__db*-Dateien, um veraltete Sperren von inaktiven RPM-Prozessen zu löschen:
cd /var/lib/rpm
rm __db*
RPM-Datenbank neu erstellen:
rpm --rebuilddb
Jede Differenz?
Wenn nicht, sind die fehlenden Abhängigkeiten überhaupt installiert? Überprüfen Sie dies mit:
rpm -qa
oder:
rpm -qi [packagename]
cPanel installiert Ruby über RPM, daher sollte dies aufgeführt sein und die Abhängigkeit bei der Installation über Yum auflösen. cPanel installiert jedoch kein PHP, wenn diese Abhängigkeit also fehlt, handelt es sich um ein anderes Problem.
Antwort3
Das Problem liegt beim automatischen Desolving von RPM. Leider verwendet cPanel keine RPM-basierten Pakete / fügt einige Dinge zu den Yum-Ausschlüssen hinzu / installiert einige Dinge in nicht standardmäßigen Bereichen (soweit RHEL betroffen ist), was zu Problemen mit dem Desolving von RPM/Yum führt.
Die Lösung, die ich gefunden habe, bestand darin, mein eigenes RPM zu erstellen und es nicht automatisch aufzulösen.