繁体   English   中英

如何在puppet中安装centos软件包?

[英]How to install centos packages in puppet?

我在site.pp中设置了一个类

class packages {
    Package { ensure => 'installed' }
    package { 'python-devel': }
    package { 'blas-devel': }
    package { 'lapack-devel': }
}

但似乎什么都没发生? 当我跑步

pip install scipy

我仍然认为Python.h无法编译,所以我认为python devel没有安装

您已经定义了类“ packages ”,但是没有显示该类已分配给任何节点。 这就像编写一个函数,但从不调用它一样。

您需要声明该类以将其分配给特定节点或所有节点(取决于声明的上下文)。 有几种不同的形式,但是最简单的方法是添加...

include 'packages'

...在类定义的右大括号之后。

结果仍然是很差的形式,因为类应该在模块中定义,而不是在site.pp ,并且声明很少应该出现在顶级范围内(在任何节点块,类定义或类型定义之外),但是它将指示伪装,当它运行时,应确保已安装您指定的软件包。

实际上,您为模块编写代码的方式看起来并不正确。 我会尝试以下类似的方法

class 'my-python' {
  package {'python-devel':
     ensure => installed,
  }
  package {'lapack-devel':
     ensure => installed,
  }
  package {'python-devel':
     ensure => installed,
  }
}

您可以将类中的每个软件包定义为单独的软件包资源。 然后,您需要在site.pp中将要安装它们的节点“包括mypython”。 运行木偶,你应该很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM