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

Par*_*hot 5 package-management centos

进一步来说...

我希望能够做什么:

  1. 集中的包管理。
  2. 在不下载整个存储库的情况下保持系统更新(即,如果系统上没有 Libreoffice,我不想下载任何 Libreoffice 软件包)。
  3. 在部署之前运行包的自动化测试,以及
  4. 保持特定的包 - 这是关键任务 - 及其依赖项进行更详尽的测试(包括自动化组件),其中涉及一些人工干预以进行批准。

确实,不一定要保持所有内容都是最新的 - 最重要的是自动测试并更新非关键任务包中的安全补丁(并通过更严格的测试对关键任务补丁进行测试)。

到目前为止我所研究的

我知道太空行走纸浆,但出于多种原因(劣质文档,事实是它需要丑陋的黑客来避免不必要地下载整个大型存储库,无论您在给定系统上有什么),我已经将它们排除在选项之外。我们确实使用了 Puppet,但就其本身而言,它不是适合这项工作的工具,在这里。

yum单独当然有一些我需要的东西,但是(除非我遗漏了某些东西)它,(单独)也不是真正适合这项工作的工具。目前,我也在寻找工头,但我不确定这是否是合适的地方,而且我知道它提供的大部分功能实际上并不是为了解决此类问题。

tdk*_*2fe 1

  1. 使用 yum 的“排除”功能来完成此操作。对于永久性的内容,请将以下行添加到您的 yum 配置(在 /etc/yum.conf 中):

    exclude=python3* php*
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果您想保持最新状态,并且不想下载整个存储库,只需应用安全勘误表即可。为此,请使用 yum 安全插件,然后运行yum --security updateyum updateinfo list bugzillas只会下载更新并安装它们。

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

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