我对 puppet 还是很陌生,但是我正在用它编写一些部署。
我遇到了一个问题,我无法正确获取符号链接,因为由于某种原因,我发现现有系统文件夹和 puppet ${architecture} 变量不匹配。
我需要以下代码才能按以下方式工作:
在 Ubuntu 12.04 x86_64 上,我应该得到一个来自/usr/lib/libz.so
to的链接,/usr/lib/x86_64-linux-gnu/libz.so
但是,我正在安装/usr/lib/amd64-linux-gnu/libz.so
一个不存在的链接,而不是一个断开的链接。
file {"/usr/lib/libz.so":
ensure => link,
target => "/usr/lib/${architecture}-linux-gnu/libz.so",
}
Puppet 使用 Facter 获取系统事实,并在我的命令行上运行 facter 我得到以下信息:
root@somehost:/root# facter
architecture => amd64
facterversion => 1.6.5
hardwareisa => x86_64
(....)
运行lscpu
我得到:
root@tsomehost:/root# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
(....)
我的问题是,Facter 从哪里得到它的事实?