微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 如何“yum update”/“aptitude safe-upgrade”许多主机?

我有两本关于Puppet的书,但没有一本提到如何推动yum update或aptitude safe-upgrade.

所以我得到的印象是Puppet不能,我觉得很难相信.

您如何在每月的许多不同主机上推送yum update或aptitude安全升级

解决方法

实际上,Puppet只是一个配置管理实用程序,而不是一个自动化工具.如果你想要适当的自动化,那么你会想要看看作为第三方工具开始的mcollective,现在已经被置于puppetlabs的保护之下.没有使用mcollective,我也无法真正说出它处理这个问题的能力,但我的理解是,它最适合作为一个任意的任务执行机制,在尝试定期重复任务时不能正常工作.

我相信最好的方法是开发一个你想要更新的脚本和进程,然后使用puppet推出配置.所以问自己以下问题.

>我希望机器多久更新一次?
>我是否希望它们在安装新内核时自动重启,或者我只是想要通知
>我们应该在更新期间运行任何特殊命令吗?
>我是否有足够的系统可以交错更新?

当您开始构建配置并回答这些问题时,您可能会发现更多来自您的特定环境.对于一个具体的例子,我做的是这样的:

>对于我的大多数系统,每周更新一次,通过cron作业.根据目的和环境,一些系统更频繁.
>大多数系统会自动重启,某些系统(根据目的)通过电子邮件发送提醒重启.这是通过一个cron作业来处理的,该作业检查/ boot中最高版本编号的vmlinuz文件与uname -r的输出
>在受到RHEL 5.3-> 5.4的glibc更新后被烧毁之后,我确保更新yum,然后是glibc,然后是其他所有内容.
>因为所有这些都是由cron作业运行的,所以我每次yum运行之间都会随机睡觉.每个主机可能需要5分钟到45分钟才能完成,这样可以合理地分散负载.

这都包含在两个文件中,两个cron条目(更新和内核检查)存储在/etc/cron.d和更新脚本中.我正在使用一个越来越凌乱的shell脚本来执行此操作,该脚本使用命令行参数来执行更新或内核检查以及是否重新启动.然后Puppet管理这两个文件.由于您正在处理基于rpm和dpkg的系统,我可能会创建两个脚本或为两种类型创建单独的do_update函数,并使用不同的命令行开关调用它们.然后,您可以通过检查文件声明中的操作系统事实来推出正确的脚本,或者对cron条目进行模板化并使用相同的事实来决定使用哪个开关.

使用经过良好测试的脚本,这种方法已经很好地完成了.事实上,这个设置已经成功使用了几年来处理数百个系统.当内核打包器开始向文件添加越来越多级别的次要版本并且比较例程阻塞时,我们偶尔会看到打嗝.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐