0

我正在使用 puppet 来部署标准化的 ubuntu 安装以及配置文件。我面临安装某个包(通过依赖项)将覆盖关键配置文件的问题。有没有办法监控这个文件是否改变(被某些包覆盖)并恢复它的原始内容?实现这一目标的最佳方法是什么?

这是负责配置的类/etc/nsswitch.conf

class nsswitchconfig {

    # roll out nsswitch   
    class { 'nsswitch':
            passwd => ['compat'],
            group => ['compat'],
            hosts  => ['files'],
            automount => ['files'],
    }

    notify { "hate #8040": message => "work around bug #8040" }

}

这是覆盖的类/etc/nsswitch.conf

class desktop {

    include nsswitchconfig

    $package_name = ["ubuntu-desktop" ]
    package { $package_name:
                ensure => latest,
            }
 }
4

1 回答 1

1

如果 nsswitch 类配置了该文件,您只需要确保它在覆盖它的类之后运行。

所以在你的情况下:

class { 'nsswitch':
            passwd => ['compat'],
            group => ['compat'],
            hosts  => ['files'],
            automount => ['files'],
            require   => Class['desktop'],
    }

应该做的伎俩。(注意要求部分)

于 2013-04-24T20:55:36.733 回答