Estou tentando construir a receita simples do Puppet conforme abaixo:
package { 'openjdk-7-jre-headless' : ensure => installed, }
package { 'tomcat7-common' : ensure => installed, }
package { 'tomcat7' : ensure => installed, require => Package['tomcat7-common'],}
package { 'tomcat7-admin' : ensure => installed, require => Package['tomcat7-common'], }
No entanto, quando executado sudo puppet apply -v tomcat7.pp
, ainda tenho esses erros:
err: /Stage[main]//Package[tomcat7-common]/ensure: mudança de purgado para presente falhou: Execução de '/usr/bin/apt-get -q -y -o DPkg::Options::=- -force-confold install tomcat7-common' retornou 100: Lendo listas de pacotes...
Os seguintes pacotes possuem dependências não atendidas: tomcat7-common :
Depende: libtomcat7-java (>= 7.0.28-4+deb7u1) mas não vai ser instalado
E: Incapaz de corrigir os problemas, você segurou pacotes quebrados.
E cada vez que adiciono novos pacotes, meu arquivo aumenta, dificultando a leitura. Eu realmente preciso especificar todas as dependências do Tomcat manualmente? Ou existe alguma maneira mais simples de fazer isso?
Puppet deve lidar com dependências automaticamente, então o manifesto simples que deve funcionar é:
No entanto, dependendo dos problemas (como ter o Tomcat antigo instalado ou dependências quebradas), esses problemas devem ser resolvidos manualmente. Por exemplo, executando manualmente
apt-get tomcat7
e verificando o que está bloqueando (por exemplo, seção ' Os seguintes pacotes serão REMOVIDOS ').Usando o Puppet, existe a seguinte solução alternativa:
Ou definindo
absent
(oupurged
), como:para garantir que pacotes conflitantes não sejam instalados na máquina.