Puppet

Puppet & Facter - 如何確定是執行 Cent 6 還是 Cent 5

  • April 1, 2022

您將如何使用 facter 和 puppet 來確定作業系統是執行 Cent 6.x 還是 Cent 5.x ?

facter operatingsystemrelease 
6.4

我只關心主要版本(6)

我曾考慮過使用 awk,但必須有一種更好的方法,對“木偶清單”更友好。

  #This works, but is ugly trying to use this in a puppet manifest

facter operatingsystemrelease |awk -F. '{print $1}'
6

更新

看起來新版本的facter有一些關於主要版本的附加資訊,這些資訊不在我的版本中。我的初始配置需要假設因素已過時。

facter --version
1.6.4
puppet --version
2.7.20

我嘗試使用以下命令搜尋可能顯示主要版本的任何其他事實

facter |grep 6

作業系統majrelease

% facter operatingsystemmajrelease
6

如果您安裝了 redhat-lsb-core 軟體包,facter 將獲得 lsb 提供的事實係列(包括lsbmajdistrelease):

% facter |grep ^lsb
lsbdistcodename => Final
lsbdistdescription => CentOS release 6.4 (Final)
lsbdistid => CentOS
lsbdistrelease => 6.4
lsbmajdistrelease => 6
lsbrelease => :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch

注意:您至少需要Facter 1.7才能擁有operatingsystemmajrelease. 事實 1.6中的核心事實非常有限。

引用自:https://serverfault.com/questions/528878