2011-11-14 6 views
2

저는 꼭두각시에 대해 매우 새로운 것으로, 출력물이 나에게 말하고있는 것을 이해하려고 노력하고 있습니다. 나는 떤다 파일 구성에 대한 매우 간단한 init.pp 파일이 :꼭두각시 출력을 암호 해독

info: Caching catalog for susan-hirschs-imac.local 
info: Applying configuration version '1321294018' 
notice: /Stage[main]/Sudo/Package[sudo]/ensure: current_value absent, should be present (noop) 
notice: Class[Sudo]: Would have triggered 'refresh' from 1 events 
notice: Stage[main]: Would have triggered 'refresh' from 1 events 
notice: Finished catalog run in 0.07 seconds 

: 나는 다음과 같은 출력을 얻을

sudo puppet agent --server=my-imac.local --no-daemonize --verbose --onetime --noop 

그러나

class sudo { 
    package { sudo: 
        ensure => present, 
        } 

    if $operatingsystem == "Ubuntu" { 
      package { "sudo-ldap": 
           ensure => present, 
           require => Package["sudo"], 
          } 
      } 
    file { "/etc/sudoers": 
        owner => "root", 
        group => "wheel", 
        mode => 0440, 
        source => "puppet:///modules/sudo/sudoers", 
        require => Package["sudo"], 
       } 

을 나는 다음과 같은 명령을 실행 할 때마다 질문이 두 개 있습니다.

1)이 경로는 어떻게 해석합니까? /Stage[main]/Sudo/Package[sudo]/ensure

2) 왜 현재 가치가 없음을 알려주 는가? 나는

답변

6
  1. 경로가 (리소스 파일, 패키지, 서비스 등이다) 자원의 위치에서 생성을/etc /의 sudoers에서의 sudoers 파일이 있습니다. 귀하의 경우 :

    • Stage[main]은이 자원의 기본 "단계"입니다. Stages을 사용하면 리소스를 청크로 분리 할 수 ​​있으므로 스테이지 A의 모든 내용이 B 단계 이전에 수행됩니다 (예 : 패키지 설치 전에 리포지토리 구성 등). "기본"단계가 기본값입니다.
    • Sudo은 자원을 포함하는 클래스의 이름입니다.
    • Package[sudo]은 리소스 중 하나의 전체 이름입니다. 유형 Package은 이와 같이 언급 될 때 항상 대문자가됩니다. sudo은 이름 또는 제목입니다. 제목이 리소스의 실제 위치와 일치하지 않는 경우가 있습니다 (예 : "foo/bar"에 실제로 파일 "foo"가있을 수 있음).
    • ensure은 자원의 속성 또는 속성입니다. 퍼핏은 리소스의 각 속성을 검사하고 공급자 (OS 고유 코드)를 사용하여 현재 값 (예 : 부재)에서 매니페스트 (현재)까지 변경합니다.

    정의와 같은 언어 구조를 중첩하면 경로가 더 복잡해질 수 있지만 모두 동일한 패턴을 따릅니다.

  2. 꼭두각시는 정확히 sudo이라는 패키지를 찾고 있습니다./etc/sudoers 파일이있을 수 있지만 패키지의 이름이 sudo가 아닐 수도 있습니다.

    꼭두각시가 귀하의 OS에서 볼 수있는 패키지를 보려면 puppet resource package을 실행하십시오 (언급하지 않았 음). --debug을 추가 할 수 있으며 또한 퍼핏이 실행중인 명령을 표시하여 정보를 얻습니다.이 정보는 찾은 패키지 관리자를 찾는 데 도움이됩니다.

+0

감사합니다. 그것은 훌륭한 반응이었습니다! 내가 찾은 어떤 문서보다도 훨씬 철저합니다. 호기심에서 벗어난 곳에, 당신은 꼭두각시 지식을 어디서 얻었습니까? – ennuikiller

+1

도움이 되니 기쁩니다. 몇 년 전만해도 스스로 독학했습니다. 처음에는 [Learning Puppet] (http://docs.puppetlabs.com/learning/) 자습서를 제안했지만 새로운 유용한 개념을 설명합니다. 두 가지 새로운 책 인 Pro Puppet과 Puppet Cookbook도 있습니다. –