Linux Puppet和Facter默认系统事实
我对puppet还是很陌生,不过我正在用它编写一些部署 我遇到了一个无法正确获取符号链接的问题,因为出于某种原因,我在现有系统文件夹和puppet${architecture}变量之间得到了不匹配 我需要以下代码才能按如下方式工作: 在Ubuntu12.04 x86_64上,我应该得到一个从Linux Puppet和Facter默认系统事实,linux,ubuntu,x86-64,ubuntu-12.04,puppet,Linux,Ubuntu,X86 64,Ubuntu 12.04,Puppet,我对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,它不存在,只
/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
I获得:
root@tsomehost:/root# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
(....)
我的问题是,Facter的事实来源于哪里 你对木偶和制造者的看法是什么 可能您有一个<1.6.5 Facter版本,因此存在以下错误:
如果可以,请尝试升级。Facter文档现在包括关于的文档
- 使用硬件模型,它调用
,然后在Debian上将uname-m
转换为x86_64
amd64
- 调用
uname-p
$hardwaremodel
可能是您想要的,但是我认为如果您使用64位内核和32位用户区,它将返回x86_64,这可能不适合您的用例。谢谢您的回答。但这似乎不是原因root@myhost:~#facter——版本1.6.5仔细阅读错误报告,1.6.5也可能会受到影响。Facter 1.6.9中集成了似乎可以解决此问题的修补程序。如果你能升级到这个版本,我很高兴知道结果!我认为安德烈夫斯普没有因为某种原因而受到影响。将$architecture解析为amd64是针对Debian衍生产品的,而bug报告这对某些产品不起作用。