我正在使用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,
}
}
答案 0 :(得分:1)
如果nsswitch类配置文件,您只需确保它在>>覆盖它的类之后运行。
所以在你的情况下:
class { 'nsswitch':
passwd => ['compat'],
group => ['compat'],
hosts => ['files'],
automount => ['files'],
require => Class['desktop'],
}
应该做的伎俩。 (注意要求部分)