O pacote de atualização do fantoche pode ser o mais recente lançamento menor?

4

Por exemplo, eu tenho o php-fpm instalado:

Name        : php-fpm
Arch        : x86_64
Version     : 5.4.16
Release     : 23.el7_0.3
Size        : 4.5 M
Repo        : installed
From repo   : updates
Summary     : PHP FastCGI Process Manager
URL         : http://www.php.net/
License     : PHP and Zend and BSD

O objetivo é manter o PHP na última versão 5.4. Atualmente eu tenho isso no manifesto: ensure => '5.4.16-23.el7_0.3', .

Isso não será atualizado se uma nova versão ou lançamento for lançada, embora eu não queira atualizar para a versão 5.5 inesperadamente.

Eu tentei o seguinte:

  • ensure => '5.4.16',
  • ensure => '5.4',
  • ensure => '5.4.16-*',
  • ensure => '5.4.*',

Tudo isso me dá algo parecido com:

change from 5.4.16-23.el7_0.3 to 5.4 failed: Could not update: Failed to update to version 5.4, got version 5.4.16-23.el7_0.3 instead

Por estar no RHEL / CentOS, é provável que ele atenda ao requisito de ter apenas ensure => latest, para PHP, estou usando apenas o PHP como exemplo. Eu ainda gosto de saber:

  • A maneira fantoche de gerenciar lançamentos menores. (Se houver um, ou dois ... eu li que pelo menos você pode manter seu próprio repo, mas existe uma sintaxe de fantoche pura como a que eu imaginei acima?)
  • Existem, obviamente, outros pacotes além do PHP, como você usaria o fantoche para gerenciar pacotes de um repositório diferente, ou talvez para uma distribuição diferente do RHEL / CentOS, etc.
  • Eu li na referência de marionetes que a garantia "os valores podem corresponder a /./", é regex ou o que? link

Estou executando o Puppet 3.7.5 de código-fonte aberto no RHEL / CentOS 7.

    
por Machoke 01.05.2015 / 05:15

1 resposta

7

Não, o fantoche não pode atualizar para o menor mais recente, mas só pode garantir uma versão específica ou pode garantir que o pacote esteja presente ou seja o mais recente.

O que você deve fazer é criar seus próprios repositórios personalizados, que terão apenas pacotes de sua relevância (por exemplo, 5.4 séries de PHP) e, em seguida, em puppet, apenas definido:

package { 'php-fpm': ensure => latest }

Isto irá verificar todas as corridas de fantoches se houver uma atualização.

Além disso, se você não usar repositórios adicionais que oferecem pacotes PHP mais recentes para o seu sistema, ensure => latest se comportará exatamente como você deseja - por causa da maneira como o CentOS atualiza seus pacotes. Nunca haverá o php-5.5 no CentOS 7, mas o php ficará na série 5.4. 5.5 e quaisquer atualizações mais recentes serão fornecidas através do php55, php56, etc. - o que significa que você terá que alterar o nome do pacote no manifesto do boneco para refletir a versão que você deseja, por exemplo:

package { 'php56-fpm': ensure => latest }

Então, a resposta é NÃO, você tem que garantir que seus repositórios só ofereçam a versão principal que você quer e então você pode usar ensure => latest dentro do fantoche.

Para configurar isso em repositórios, você pode usar coisas como:

  • incluir
  • excluir
  • prioridade
por 01.05.2015 / 05:23

Tags