Tenho gerenciado de 20 a 30 ~ hosts baseados em cPanel no ano passado com Puppet, Nagios e Munin para monitoramento/tendências gerais, no entanto, muitos dos métodos que tive que usar para implantar/gerenciar coisas como configurações são uma dor.
Para aqueles que não estão familiarizados com o cPanel - ele adiciona algumas coisas para excluir do yum, como perl*, ruby* e assim por diante. Isso causa problemas para que eu consiga inicializar o monitoramento em um novo servidor via Puppet (bem, por meio do tipo Pacote) devido a vários conflitos com a instalação via Yum.
Agora eu poderia criar um RPM personalizado para tudo e remover certas dependências do arquivo de especificações, mas gostaria de evitar isso, se possível. Alguém tem alguma proposta funcional para gerenciar esse tipo de ambiente?
Atualmente eu instalo Puppet, Facter e Munin via RPMs e forço a instalação usando --nodeps e outros (já que estão instalados, mas não os que Yum deseja). O Nagios eu instalei manualmente a partir do código-fonte neste momento (provavelmente criará RPMs, mas quero resolver esse problema geral primeiro).
Responder1
Use a instância Ruby do cPanel - /scripts/installruby - a partir daí você pode instalar via gem ou via fonte.
Responder2
Bem, Munin pode ser instalado através do instalador do plugin WHM em:
Principal >> cPanel >> Gerenciar Plugins
Basta clicar em 'Instalar e manter atualizado' e ele será instalado.
Yum deve ser capaz de instalar pacotes com dependências na exclude=
seção yum.conf, desde que estejam no banco de dados RPM e na versão adequada. Os sistemas cPanel são conhecidos por frequentemente obter bancos de dados RPM corrompidos. Tente reconstruí-lo e tente instalar novamente. Reconstrua o banco de dados RPM:
Remova os arquivos /var/lib/rpm/__db* para limpar bloqueios obsoletos de processos RPM inativos:
cd /var/lib/rpm
rm __db*
Reconstruir banco de dados RPM:
rpm --rebuilddb
Alguma diferença?
Caso contrário, as dependências ausentes estão instaladas? Verifique usando:
rpm -qa
ou:
rpm -qi [packagename]
O cPanel instala Ruby via RPM, então isso deve estar listado e resolver a dependência ao instalar via yum. No entanto, o cPanel não instala o PHP, portanto, se esta for uma dependência ausente, isso é outro problema.
Responder3
O problema é com a resolução automática de RPM. Infelizmente, o cPanel não usa pacotes baseados em RPM/adiciona algumas coisas ao Yum, exclui/instala algumas coisas em áreas não padrão (no que diz respeito ao RHEL), causando problemas com a resolução de RPM/Yum.
A solução que encontrei foi construir meu próprio RPM e não fazer com que ele fosse resolvido automaticamente.