Python 更新puppet中的包?
我正在尝试使用ubuntu服务器通过puppet更新已经安装的包。 但是没有更新也没有发生 在puppet清单文件中,我们包含了收集器包,如下所示Python 更新puppet中的包?,python,linux,ubuntu,puppet,Python,Linux,Ubuntu,Puppet,我正在尝试使用ubuntu服务器通过puppet更新已经安装的包。 但是没有更新也没有发生 在puppet清单文件中,我们包含了收集器包,如下所示 if !defined(Package['package name']) { package { 'package name': } } else { package { 'package name': ensure => latest,
if !defined(Package['package name'])
{
package { 'package name': }
}
else
{
package { 'package name':
ensure => latest,
require => Exec['apt-get update'],
}
}
你能解释一下这句话吗!definedPackage['package name']或
如何升级软件包。假设我想安装php,而下一次部署需要更新到最新版本…您可以共享代码吗???首先,您应该避免使用定义的函数,因为它将创建依赖解析的行为,这是不建议的 你可能没有做你认为它做的事情。仅当包已定义时,它才会进入else分支。在这种情况下,您应该看到一个错误,因为您正在重新定义它,这是禁止的
这意味着没有定义包,您定义包时没有任何选项。您可能希望查看可以配置为在每个软件包安装之前运行apt get update的,并且通常会使管理ppa、自定义软件源等变得更容易。'if!definedPackage['package name']{package{'package name':确保=>latest,require=>Exec['apt-get update'],}}}'为什么需要检查包是否已定义?这最终会导致错误,因为此函数依赖于解析顺序。要么在别处定义了它,并且应该在那里添加正确的确保,要么没有定义它,并且不需要检查。