2012-03-03 94 views
0

我試圖做一個Ubuntu 10.04以下使用木偶: 木偶用戶ID值和封裝

  1. 複製,我必須將特定用戶/組擁有的特定目錄中的文件因爲包尚未安裝
  2. 安裝包,它不會刪除我創建

爲了完成項目#1目錄和文件尚不存在,我基本上告訴木偶創建一個用戶並在複製之前先分組文件。但問題是,如果我沒有爲Puppet提供特定的uid,它會隨機爲用戶選擇一個數字,而不是系統包的數字。

那麼,我該如何告訴Puppet選擇一個超過1000的uid?

如果這是不可能的,我該如何告訴Puppet在安裝時不要啓動它。所以我只是讓Puppet安裝軟件包,但不啓動服務,然後複製我的文件,然後我將啓動服務。

回答

1

用戶類型具有system =>參數,該參數默認爲false,但可以設置爲true。這將生成一個UID低於500的用戶。這似乎是你想要的。

最終你會想在我看來做的事情是通過puppet管理配置目錄和配置。

這給你做的事情像這樣的能力:

package { foo: ensure => present } 

file { 
    fooconfdir: 
    path => '/path/to/fooconfdir', 
    ensure => directory, 
    user => whatev, 
    group => alsowhatev, 
    require => Package[foo], 
    mode => morewhatev; 
    fooconf: 
    path => '/path/to/fooconfdir/fooconf', 
    ensure => present, 
    user => whatev, 
    content => template('whatev'); 
} 

service { foo: ensure => running, enable => true, subscribe => File[fooconf] } 

什麼,會做,是安裝你的包,那麼管理的配置,然後重新啓動這顯然會使用新的配置上重新啓動該服務。