[英]Puppet and Facter default system facts
我还是很傀儡,但是我正在用它写一些部署。
我遇到了一个问题,我无法正确使用符号链接,因为出于某种原因,我在现有系统文件夹和puppet $ {architecture}变量之间出现了不匹配。
我需要以下代码才能工作如下:
在Ubuntu 12.04 x86_64上我可以从/usr/lib/libz.so
获得一个链接到/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从哪里获取事实?
Facter文档现在包含有关如何解决核心事实的文档。
uname -m
然后在Debian上将x86_64
转换为amd64
uname -p
$hardwaremodel
可能就是你想要的,但是如果你使用的是32位用户空间的64位内核,我认为它会返回x86_64,这可能不适合你的用例。
你的Puppet和Facter版本是什么?
也许你有一个<1.6.5 Facter版本因此有这个bug: http : //projects.puppetlabs.com/issues/11511
如果可以,请尝试升级。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.