Puppet 업데이트 패키지를 최신 마이너 릴리스로 업데이트할 수 있나요?

Puppet 업데이트 패키지를 최신 마이너 릴리스로 업데이트할 수 있나요?

예를 들어 php-fpm이 설치되어 있습니다.

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

목표는 최신 5.4 릴리스에서 PHP를 유지하는 것입니다. 현재 매니페스트에 다음이 있습니다 ensure => '5.4.16-23.el7_0.3',.

새 버전이나 릴리스가 나오면 업데이트되지 않으며 예기치 않게 5.5로 업데이트되는 것을 원하지 않습니다.

나는 다음을 시도했습니다 :

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

모두 나에게 다음과 비슷한 것을 제공합니다.

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

이는 RHEL/CentOS에 있으므로 아마도 ensure => latest,PHP에 대한 요구 사항을 충족할 것입니다. 저는 단지 PHP를 예로 사용하고 있습니다. 나는 아직도 알고 싶습니다:

  • 마이너 릴리스를 관리하는 꼭두각시 방식입니다. (한두 개가 있다면... 최소한 자신만의 저장소를 유지할 수 있다고 읽었는데, 위에서 추측한 것과 같은 순수한 꼭두각시 구문이 있습니까?)
  • 분명히 PHP 이외의 패키지가 있습니다. Puppet을 사용하여 다른 저장소에 있거나 RHEL/CentOS 이외의 배포판에 있는 패키지를 관리하는 방법은 무엇입니까?
  • 꼭두각시 참조에서 "값이 /./와 일치할 수 있음"을 확인했다는 내용을 읽었습니다. 정규식인가요 아니면 무엇인가요?http://docs.puppetlabs.com/references/3.7.5/type.html#package-attribute-ensure

RHEL/CentOS 7에서 오픈 소스 Puppet 3.7.5를 실행하고 있습니다.

답변1

아니요, Puppet은 최신 마이너로 업데이트할 수 없지만 특정 버전만 확인하거나 패키지가 있는지 또는 최신인지 확인할 수 있습니다.

당신이 해야 할 일은 관련성 있는 패키지(예: PHP 5.4 시리즈)만 포함하는 사용자 정의 저장소를 만든 다음 꼭두각시에서 다음을 설정하는 것입니다.

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

업데이트가 있으면 모든 꼭두각시 실행을 확인합니다.

또한 시스템에 최신 PHP 패키지를 제공하는 추가 저장소를 사용하지 않으면 ensure => latestCentOS가 패키지를 업데이트하는 방식으로 인해 원하는 대로 정확하게 작동합니다. CentOS 7에는 php-5.5가 없지만 php는 5.4 시리즈로 유지됩니다. 5.5 및 최신 업데이트는 php55, php56 등을 통해 제공됩니다. 즉, 원하는 버전을 반영하려면 꼭두각시 매니페스트에서 패키지 이름을 변경해야 합니다. 예를 들면 다음과 같습니다.

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

ensure => latest따라서 대답은 '아니요'입니다. 리포지토리에서 원하는 주요 버전만 제공하고 꼭두각시 내에서 사용할 수 있도록 해야 합니다 .

이를 저장소에 설정하려면 다음과 같은 방법을 사용할 수 있습니다.

  • 포함하다
  • 들어오지 못하게 하다
  • 우선 사항

관련 정보