自动更新所有centos软件包,除了那些可能影响用户指定的软件包列表的最佳方法?

进一步来说…

我想要做的事情是:

  1. 集中包pipe理。
  2. 保持系统更新而不下载整个回购(即如果系统没有Libreoffice,我不想下载任何Libreoffice软件包)。
  3. 在部署包之前运行包的自动化testing
  4. 保持特定的包,这是关键的任务和他们的依赖受到更详尽的testing(包括自动化组件),这涉及到一些人为干预批准。

真的,保持最新的东西并不一定 – 最重要的是自动testing并跟踪非关键任务包中的安全补丁(并通过更严格的testing来实现关键任务补丁)。

到目前为止,我已经看到了什么

我知道太空行走和纸浆 ,但由于许多原因(伪劣的文档,事实上,它需要丑陋的黑客,以避免不必要的下载整个大型的存储库,无论你在给定的系统上有什么),我排除了作为选项。 我们确实使用了Puppet,但在这里,它本身并不是正确的工具。

只有yum有一些我所需要的东西,但是(除非有什么东西我失踪了),(单独)看起来并不是正确的工具。 目前,我也正在寻找领class,但我不确定这是否是正确的地方,而且我知道它提供的大部分function实际上不是解决这类问题。

  1. 使用yum的“排除”function来完成这一点。 对于永久的东西,添加以下行到你的yumconfiguration(在/etc/yum.conf中):

     exclude=python3* php* 
  2. 如果您想保持最新状态,并且不想下载整个仓库,只需申请安全勘误。 使用yum安全插件为此,然后运行yum --security updateyum updateinfo list bugzillas将只下载更新并安装它们。

  3. 对于自动化,有数百个选项。 对于自动化企业工作负载,您可能要使用像Chef或Puppet这样更强大的function。 评论中的链接看起来是一个很好的资源。

  4. 再次,使用排除选项以及敏感包列表,以确保他们没有被触摸。