首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Puppet和Facter默认系统事实

Puppet和Facter默认系统事实
EN

Stack Overflow用户
提问于 2012-10-02 23:25:31
回答 2查看 2.1K关注 0票数 0

我对puppet还很陌生,不过我正在用它写一些部署。

我遇到了一个问题,我不能正确地获得符号链接,因为由于某种原因,我在现有的系统文件夹和puppet ${architecture}变量之间不匹配。

在Ubuntu12.04 x86_64上,我可以得到一个从/usr/lib/libz.so/usr/lib/x86_64-linux-gnu/libz.so的链接,但是,我已经习惯了/usr/lib/amd64-linux-gnu/libz.so,它不存在,只是创建了一个断开的链接。

代码语言:javascript
复制
file {"/usr/lib/libz.so":
    ensure => link,
    target => "/usr/lib/${architecture}-linux-gnu/libz.so",
}

Puppet使用Facter获取系统事实,并在我的命令行上运行facter,我得到了以下内容:

代码语言:javascript
复制
root@somehost:/root# facter
architecture => amd64
facterversion => 1.6.5
hardwareisa => x86_64
(....)

运行lscpu时,我得到:

代码语言:javascript
复制
root@tsomehost:/root# lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
(....)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-03 03:18:48

Facter文档现在包含了关于how core facts are resolved的文档。

  • architecture使用硬件模型,它调用uname -p

调用uname -m,然后在Debian上将x86_64转换为hardwaremodel

在这里,$hardwaremodel可能是您想要的,但是我认为如果您使用的是64位内核和32位用户,那么它将返回x86_64,这可能不适合您的用例。

票数 2
EN

Stack Overflow用户

发布于 2012-10-02 23:32:03

你的Puppet and Facter版本是什么?

也许你有一个低于1.6.5的Facter版本,因此有这个错误:http://projects.puppetlabs.com/issues/11511

如果可以,请尝试升级。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12693359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档