繁体   English   中英

Puppet和Facter默认系统事实

[英]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文档现在包含有关如何解决核心事实的文档。

  • 架构使用hardwaremodel,它调用uname -m然后在Debian上将x86_64转换为amd64
  • hardwareisa调用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM