从运行的系统上生成 Puppet 配置清单
除了使用 cft 从系统管理员的控制台会话生成 Puppet 配置清单以外, 还可以使用 puppet resource 从系统中已存在的配置生成 Puppet 配置清单。 例如,你可以使用 puppet resource 生成系统中所有用户的配置清单。 这对于生成工作系统的快照并将这些配置快速转换到 Puppet 是相当有用的。
操作步骤
要生成指定用户的配置清单,请运行:
# puppet resource user john user { 'john': password_min_age => '0', password_max_age => '99999', uid => '1002', password => '!', gid => '1001', groups => ['git'], ensure => 'present', comment => 'John Arundel', home => '/home/john', shell => '/bin/bash' }
要生成指定服务的配置清单,请运行:
# puppet resource service ntp service { 'ntp': ensure => 'running', enable => 'true' }
要生成指定软件包的配置清单,请运行:
# puppet resource package exim4 package { 'exim4': ensure => '4.71-3ubuntu1' }
更多用法
你可以使用 puppet resource 检查 Puppet 每种可用的资源类型。 在上面的例子中,我们针对一个资源类型的具体实例生成了配置清单, 然而你也可以使用 puppet resource 导出一种资源类型的所有实例:
# puppet resource user
user { 'Debian-exim':
ensure => 'present',
uid => '117',
gid => '124',
home => '/var/spool/exim4',
password => '!',
password_min_age => '0',
password_max_age => '99999',
shell => '/bin/false'
}
user { 'avahi':
ensure => 'present',
uid => '104',
gid => '111',
home => '/var/run/avahi-daemon',
password => '*',
password_min_age => '0',
comment => 'Avahi mDNS daemon,,,',
password_max_age => '99999',
shell => '/bin/false'
}
...
这会产生许多输出!