0

Ubuntu 10.04 で Puppet を使用して次のことを実行しようとしています。

  1. パッケージがインストールされていないため、まだ存在していない特定のユーザー/グループが所有する特定のディレクトリに、私が持っているファイルをコピーします
  2. 作成したディレクトリとファイルを削除しないパッケージをインストールします

項目 1 を達成するために、私は基本的に、ファイルをコピーする前にまずユーザーとグループを作成するように Puppet に指示します。しかし問題は、Puppet に特定の uid を指定しないと、システム パッケージの番号ではなく、ユーザーの番号のような番号がランダムに選択されることです。

では、Puppet に 1000 を超える uid を選択するように指示するにはどうすればよいでしょうか?

これが不可能な場合、インストール時にパッケージを開始しないように Puppet に指示するにはどうすればよいですか。したがって、Puppet にパッケージをインストールさせるだけで、サービスを開始せず、ファイルをコピーしてからサービスを開始します。

4

1 に答える 1

1

ユーザータイプのパラメータはsystem=>で、デフォルトはfalseですが、trueに設定できます。これにより、500未満のUIDを持つユーザーが生成されます。これはあなたが望むもののようです。

最終的に、私の意見では、構成ディレクトリと構成を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] }

それが行うことは、パッケージをインストールしてから構成を管理し、再起動時に明らかに新しい構成を使用するサービスを再起動することです。

于 2012-03-21T01:05:04.370 に答える