如何判断您在centos上运行的是哪个版本的木偶?


17

我刚开始在centos上玩偶,并对一些事情感到困惑。首先存在一个手册页puppet-masterpuppetmaster尽管/etc/init.d中的守护进程是puppetmaster

运行该命令$ puppet-master --version将返回bash:puppet-master:命令未找到。

如何确定我为主服务器和客户端运行的版本?

Answers:


25

较新版本的puppet使用稍微不同的命令行。你正在寻找的命令是puppet --versionpuppet master --versionpuppet agent --version

对于4.0之前的版本,如果将puppet作为RPM软件包安装,则可以查询RPM数据库,例如rpm -qa | grep puppet。对于Debian / Ubuntu / Mint粉丝,软件包查询为dpkg -l | grep puppet

Puppetlabs更改了包装,并且puppet-agent软件包的版本号未指示已打包的puppet版本。


是2.6之前版本的连字符吗?主服务器和代理也需要运行相同的主版本吗?
user784637 2013年

我不确定他们何时进行更改。对于版本3,Puppet Labs承诺使用语义版本控制。这意味着主要版本号的更改指示更改会破坏向后兼容性。如果您混合使用3.xy,则应该没问题,如果不测试结果是否符合我的期望,我不会尝试2.x和3.x的混合。
里克·施耐德

我做了一些测试,发现我可以将2.7 puppet代理与3.2.x puppet服务器一起使用。
里克·施耐德

4
root@puppet01 ~:
# puppet --version
3.2.2
root@puppet01 ~:
# puppet master --version
3.2.2

3
# rpm -qa | grep puppet
puppet-server-2.6.18-3.el6.noarch
puppet-2.6.18-3.el6.noarch

第一行是服务器端的版本,第二行是客户端的版本

# puppet agent --version
2.6.18

# puppet master --version
2.6.18

也可以


0

为了娱乐,您还可以使用Puppet!

puppet apply -e 'notice("$clientversion")'

另外,在Puppet主文件上的清单中,您可以添加以下行:

fail("Server version: $serverversion, Client version: $clientversion")'
fail(inline_template("<%=clientversion.split('.')[0]%>"))

(请注意,$serverversion使用时为空puppet apply


0

在ubuntu 18.04上安装了puppet,出现了相同的错误,puppet命令没有添加到路径中,因此此错误

导航到此路径/ opt / puppetlabs / bin并运行命令puppet master --version

您会得到理想的结果

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.