Como atualizar um pacote usando o fantoche e um arquivo .deb

27

Estou tentando descobrir a maneira correta de atualizar / atualizar um pacote deb usando o fantoche de um arquivo deb de origem local. Minha configuração atual é assim ...

class adobe-air-2-0-4 {

  file { "/opt/air-debs":
    ensure => directory
  }

  file { "/opt/air-debs/adobeair-2.0.4.deb":
    owner   => root,
    group   => root,
    mode    => 644,
    ensure  => present,
    source  => "puppet://puppet/adobe-air-2-0-4/adobeair-2.0.4.deb"
  }

  package { "adobeair":
    provider => dpkg,
    ensure => installed,
    source => "/opt/air-debs/adobeair-2.0.4.deb"
  }

}

Primeiro copio o arquivo deb para a máquina cliente e depois uso 'package' com o provedor configurado para 'dpkg'. Isso funciona e eu recebo a versão correta instalada.

Minha pergunta é qual é a maneira correta de atualizar este pacote no futuro. Posso simplesmente alterar o arquivo de origem e o fantoche saberá que é uma versão diferente e atualizará este pacote? Como o Puppet determina qual versão de um pacote ele instalou versus a versão do arquivo deb de origem?

Eu sou muito novo no fantoche, por isso, se você tem sugestões de melhorias para a minha configuração existente, elas são muito apreciadas.

    
por delux247 07.10.2010 / 17:13

1 resposta

37

Também postei essa pergunta no grupo de usuários de marionetes e essa foi uma resposta que recebi de volta.

Se você adicionar garantir latest , ele verificará o arquivo de origem no pacote atualmente instalado e instalará o novo, se este for o mais recente. Eu ainda não tenho certeza de como você iria reverter para uma versão mais antiga, mas isso parece resolver o meu problema por enquanto.

package { "puppet-dashboard":
 provider => dpkg,
 ensure   => latest,
 source   => "/tmp/puppet-dashboard_1.0.4rc2-1_all.deb"
}

Este é um link para a postagem do grupo de usuários de marionetes ... link

    
por 11.10.2010 / 17:03