使用当前版本的 Puppet 和 Facter,我在lsbdistid
和operatingsystem
事实中得到了相同的信息——我没有看,osfamily
因为在 Gentoo Linux 上它报告了一个通用的“Linux”字符串。
在 Puppet 模块中使用该信息时(例如,用于选择要安装的包名称)是否有任何技术原因或已达成共识使用lsbdistid
或operatingsystem
?
使用当前版本的 Puppet 和 Facter,我在lsbdistid
和operatingsystem
事实中得到了相同的信息——我没有看,osfamily
因为在 Gentoo Linux 上它报告了一个通用的“Linux”字符串。
在 Puppet 模块中使用该信息时(例如,用于选择要安装的包名称)是否有任何技术原因或已达成共识使用lsbdistid
或operatingsystem
?
我喜欢
osfamily
。LSB 通常不会默认安装,并且在某些发行版(如 RHEL/CentOS)上,依赖链lsb_release
非常庞大。另外,如果您不知道发行版,您怎么知道 LSB 包的名称?operatingsystem
很烦人,因为我通常不关心是 RedHat vs. CentOS,还是 Debian vs. Ubuntu。我想了解发行版系列,因为发行版之间的特质在系列中通常是相同的。Gentoo 支持已于昨天(2013 年 2 月 13 日)合并到 facter 的osfamily中,它应该会在下一个版本中发布。您始终可以结合使用
osfamily
检查 Debian 或 RedHat 和operatingsystem
检查 Gentoo。osfamily
并且operatingsystem
基本上只是一堆if
或case
条件。根据您的需要将您自己的自定义为自定义事实或类参数将非常容易。喜欢:这有点棘手,因为最终每个操作系统的行为都会有所不同。首先决定,你的模块想要支持哪个发行版,然后测试它。
此外,我看不出有任何理由不使用这两个事实来区分分布。没有什么不妥。