更新puppet中的包?

2024-04-18 16:44:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用ubuntu服务器通过puppet更新已经安装的包。 但不更新是不会发生的。你知道吗

在puppet清单文件中,我们包含了如下所示的收集器包

if !defined(Package['package name'])
{
        package { 'package name': }
}
else
{
         package { 'package name':
                        ensure => latest,
                        require  => Exec['apt-get update'],
          }
}

你能解释一下这个说法吗-如果!已定义(包['Package name'])或 如何升级包。假设我想安装php,而下一次部署需要更新到最新版本…你能共享代码吗??你知道吗


Tags: 文件name服务器packageifubunturequirelatest
1条回答
网友
1楼 · 发布于 2024-04-18 16:44:45

首先,您应该避免使用defined函数,因为它将创建依赖于解析的行为,这是不建议的。你知道吗

你可能没有做你认为它做的事情。只有在包已经定义的情况下,它才会进入else分支。在这种情况下,您应该看到一个错误,因为您正在重新定义它,这是禁止的。你知道吗

这意味着包是没有定义的,并且您定义它时没有任何选项。您可能想看看puppetlabs apt module,它可以配置为在每个包安装之前运行apt-get update,通常会使事情更易于管理(ppa、自定义软件源等)。你知道吗

相关问题 更多 >