Puppet instala muitas dependências

1

Eu tenho uma classe de bonecos 'php' que se parece com o seguinte:

    class php {
  case $operatingsystem {
    debian: {
      package {'php5-common':
        ensure => latest,
        provider => apt,
       }
      package {'php5-mysql': ensure => latest, provider => apt}
      package {'php5-gd': ensure => latest, provider => apt}
      package {'php5-fpm': ensure => latest, provider => apt}
      package {'php5-mcrypt': ensure => latest, provider => apt}
      package {'php5-memcache': ensure => latest, provider => apt}
    }
  }

  service { 'php5-fpm':
    ensure => running,
    enable => true,
  }
} 

Eu incluo a classe php na configuração do nó em /etc/puppet/manifests/site.pp

Parece que

node 'example' {
  include php
}

Quando eu executo o agente-fantoche -t no cliente, ele instala os pacotes, mas instala muito. Ele também instala o apache e não sei de onde ele tira isso. Eu não tenho nenhuma configuração no fantoche para o apache.

Acho que está usando as recomendações ou sugestões do Debian, mas não tenho certeza, porque Eu desabilitei isso no servidor.

cat > /etc/apt/apt.conf.d/01norecommend 

The log output on the client is

Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/pe_version.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppet_vardir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/last_run.rb
Info: Loading facts in /var/lib/puppet/lib/facter/root_home.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppi_projects.rb
Info: Loading facts in /var/lib/puppet/lib/facter/facter_dot_d.rb
Info: Caching catalog for eample
Info: Applying configuration version '1383041633'
Error: Could not prefetch package provider 'apt': invalid byte sequence in US-ASCII
Notice: /Stage[main]/Php/Package[php5-mysql]/ensure: ensure changed 'purged' to 'latest'
Notice: /Stage[main]/Php/Package[php5-gd]/ensure: ensure changed 'purged' to 'latest'
Notice: /Stage[main]/Php/Package[php5-mcrypt]/ensure: ensure changed 'purged' to 'latest'
Notice: /Stage[main]/Php/Package[php5-memcache]/ensure: ensure changed 'purged' to 'latest'
Notice: /Stage[main]/Php/Package[php5-fpm]/ensure: ensure changed 'purged' to 'latest'
Notice: Finished catalog run in 11.31 seconds

Os seguintes pacotes são instalados depois disso

ii apache2-mpm-prefork 2.2.22-13 amd64 Servidor HTTP Apache - modelo tradicional sem encadeamento ii apache2-utils 2.2.22-13 programas utilitários amd64 para servidores web ii apache2.2-bin 2.2.22-13 amd64 Arquivos binários comuns do Servidor HTTP Apache ii apache2.2-common 2.2.22-13 amd64 Arquivos comuns do Apache HTTP Server ii libapache2-mod-php5filter 5.4.4-14 + deb7u5 amd64 linguagem de script no lado do servidor, baseada em HTML (módulo de filtro do apache 2) ii libapache2-mod-php5filter 5.4.4-14 + deb7u5 amd64 linguagem de script no lado do servidor, baseada em HTML (módulo de filtro do apache 2) ii php5-common 5.4.4-14 + deb7u5 amd64 Arquivos comuns para pacotes construídos a partir da fonte php5 ii php5-fpm 5.4.4-14 + deb7u5 amd64 linguagem de script do lado do servidor, baseada em HTML (binário do FPM-CGI) ii php5-gd 5.4.4-14 + deb7u5 amd64 módulo GD para php5 ii php5-mcrypt 5.4.4-14 + deb7u5 amd64 módulo MCrypt para php5 ii php5-memcache 3.0.6-6 amd64 módulo de extensão memcache para PHP5 ii php5-mysql 5.4.4-14 + deb7u5 amd64 Módulo MySQL para php5

Quando eu executo o apt-get install $ php-package-names ele não instala o apache, apenas quando eu uso o apache. Isso é meio chato, porque eu vou usar nginx.

Você tem uma ideia de como posso obter o fantoche para instalar os pacotes normalmente sem o apache como dependência?

    
por squillman 29.10.2013 / 13:34

1 resposta

3

Faça php5-fpm install antes dos outros com require .

Os pacotes gd , memcache , mcrypt e mysql exigem o pacote virtual phpapi-20100525 , fornecido por libapache2-mod-php5 ou php5-fpm .

Quando você os instala em um único comando, ele já está instalando um dos pacotes que atende ao requisito. Quando executado separadamente como recursos do Puppet, o apt é forçado a escolher um e escolhe a biblioteca do Apache.

    
por 29.10.2013 / 17:43

Tags