Ins*_*yte 11 ubuntu debian apt
我使用 puppet 管理大约 30 个 Ubuntu 服务器。我已经看到许多将 cron-apt 和 apticron 作为保持其软件包最新的方法的参考,但我一直无法找到一种集中管理该过程的方法。使用 cront-apt/apticron 我仍然需要登录到每个主机并运行aptitude update
以执行更新。更不用说每当更新核心包时来自所有 30 台机器的审查通知。
一定有更好的方法。有什么建议?
jef*_*eff 14
一位同事发现并简要研究了 apt-dater,这是一个“基于终端的远程包更新管理器”。
您使用基于 curses 的界面来管理所有主机或主机组等的更新。支持完整 apt 会话的日志记录,包括可能遇到的任何错误等。
依赖受管机器上的 ssh 和 sudo。
见https://github.com/DE-IBH/apt-dater
我自己没用过,所以我不能认可它,但它听起来很接近你要找的东西。
由于您已经在使用 Puppet,因此执行此操作的最简单方法(也是更改控制/跟踪目的的最佳方法)是指定要在 Puppet 清单中安装的所需软件包版本。你密切关注安全公告列表,当你使用的东西通过时,你只需更新 Puppet 说“安装这个包的这个新版本”。假设您在清单上使用修订控制,那么您就会知道“策略”何时更改,来自 Puppet 的报告会准确显示更改实际发生的时间(因此您可以轻松地将其与任何以后的日志事件相关联)。
您可能对风景感兴趣。这是用于管理大型 Ubuntu 部署的“官方”管理工具,Canonical 可能非常渴望获得您的使用费用。
重新编辑:
首先,免责声明;我没有使用过Debian或Ubuntu的镜像,所以对这个软件不太熟悉。
其次,抱歉, apt-mirror 似乎是一个“太重”的解决方案。最初的想法是您将有一个单独的测试机器(或测试环境,可能是虚拟机?)来部署更新。一旦您对更新的性能感到满意,您就可以将软件包拉入/放入您的“部署”镜像中(将有来自官方来源的本地镜像,以及仅用于您希望部署的更新的辅助镜像)。然后,远程计算机将在预设时间运行更新,并将其从“部署”镜像拉到每台计算机上,这是一个 cron 作业,其中包括:
apt-get update && apt-get upgrade --quiet --assume-yes
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我开始阅读详细信息时,似乎apt-mirror
会拉出各种东西,而不仅仅是您想要的包。所以,我将放弃这个想法,尽管这个概念有一些优点。
归档时间: |
|
查看次数: |
9375 次 |
最近记录: |