2017-03-16 11 views
-1

꼭두각시를 사용하여 내 rc 파일을 관리하고 싶습니다 (예 : 직장과 집 사이의 구성 파일 공유). 내 rc 파일을 Subversion 저장소에 보관합니다. 일부 컴퓨터는 sudo 권한을 가지고 있으며 일부는 권한이 없습니다. 그리고 어떤 기계도 같은 네트워크에 있지 않습니다. 나는 꼭두각시를 실행하면스켈치 꼭두각시 상태 chown

[main] 
report=false 

, 나는 성가신을 얻을 :

class bashResources ($home, $svn) { 
    file { "$home/.bash" : 
     ensure => 'directory', 
    } 

    file { "$home/.bash/bashrc.d" : 
     ensure => 'directory', 
    } 

    file { "$home/.bash/bashrc.d/bashrc" : 
     ensure => present, 
     target => "$home/$svn/rc/bashrc", 
    } 
} 

node 'ubuntuwgu290' { 
    class { 'bashResources': 
     home => '/home/dshaw', 
     svn => 'mysvn', 
    } 
} 

는 내가 약간의 오차가 퀠치하기 위해 사용하고 간단한 설정 파일이 있습니다

나는 단순한 꼭두각시 파일이 chown을 실행할 수 없다는 오류 :

[email protected]:~/mysvn/rc$ puppet apply rc.pp --config ./puppet.conf 
Notice: Compiled catalog for ubuntuwgu290.maplesoft.com in environment production in 0.12 seconds 
Error: Failed to apply catalog: Operation not permitted @ rb_file_chown - /home/dshaw/.puppet/var/state/state.yaml20170316-894-rzkggd 
Error: Could not save last run local report: Operation not permitted @ rb_file_chown - /home/dshaw/.puppet/var/state/last_run_summary.yaml20170316-894-l9embs 

을 추가하여 오류를 스켈치하려고했습니다.을 설정 파일에 저장했지만 효과적이지는 않습니다.

어떻게 이러한 오류를 축소 할 수 있습니까? 또는 rc 파일을 관리하기위한 더 많은 lightwieght 도구가 있습니까?

감사합니다, 데릭

+0

홈 디렉토리에 대한 쓰기 권한이없는 이유는 무엇입니까? –

+0

홈 디렉토리에 대한 쓰기 권한이 있습니다. 출력에서 추측 해 보면 실패한 것입니다. – user1024203

답변

0

오류는 /home/dshaw/.puppet에서 자신의 메타 데이터를 관리하려고 인형에되지 관련 관리를위한 인형의 카탈로그에 등록 된 파일 중 하나. Puppet을 일반 사용자로 실행하는 경우에도 일반적으로 문제가되지 않습니다. 사실 이런 종류의 지원은 사용자 별 퍼핏 메타 데이터가 존재하는 이유 중 하나입니다.

꼭두각시 이미 (다른 꼭두각시 chown에 시도되지 않을 것이다)에 속하지 않는 chown하려고하는 파일을, 그러나, 당신에 속해야 는 여기서 "당신은"꼭두각시 프로세스의 (e)를 의미 UID 및 (e) GID. 퍼핏의 상태 디렉토리를 제거하고 다음 실행시 다시 빌드하도록함으로써 문제를 해결할 수 있습니다. 또는 퍼핏이 수행하려고 시도하는 것과 같이 수동으로 chown을 수행하거나 정렬 할 수도 있습니다.

한편,이 상황이 처음에는 어떻게 발생했는지는 분명하지 않으며 내가 생각할 수있는 메커니즘 중 일부는 그러한 제안을 효과적이지 않게 만듭니다.

+0

오류의 원인을 발견했다고 생각합니다. 내 홈 디렉토리가 nfs에있다. 간단한 chown은 루트로 실패합니다 :'dshaw @ ubuntuwgu290 : ~ $ sudo chown dshaw .bashrc \ chown : '.bashrc'의 소유권 변경 : 작동이 허용되지 않습니다. ' '~/.puttet'을 제거하고'/ usr/local/dshaw/.puppet /'을 만들고'~/.puttet /'로 심볼릭 링크하면 문제가 해결됩니다. – user1024203