是否有实现集中修补的 API?

是否有实现集中修补的 API?

我正在尝试制作一个集中式补丁管理工具,可用于对我的网络中的所有 Ubuntu 机器执行受控更新。

我做了一些研究,并收集了以下信息:-

  • 有一款付费工具叫Landscape,可以达到同样的目的。但是价格太贵了。
  • 还有其他工具,如 Puppet/Chef/Ansible,它们主要是配置工具。
  • Pulp 基本上是一个存储库克隆工具。

事实是,我希望实现这些目标。并且愿意付出努力来实现它。


我的要求是:-

  1. 要获取需要更新的软件包列表,请访问Ubuntu 安全声明] 及其依赖项
  2. 从 Windows 机器下载这些包并将其保存在那里。
  3. 然后根据需要将这些分发到所有 Ubuntu 机器。

编辑 :由于带宽限制,我想避免每台 Ubuntu 机器都上网


是否有任何 API 可用于获取上述软件包列表与依赖项)?如果是,免费还是付费

答案1

假设您实际上并未出于安全目的或其他原因尝试隔离机器:

  1. 将一台 ubuntu 机器连接到互联网。使用 apt-get 正常安装更新。

  2. 您刚刚用来升级该盒子的 .deb 现在存储在 中/var/cache/apt/archives

  3. 将.deb scp 到其他每台 ubuntu 机器上。

  4. 花费一点带宽,在每台机器上放入 .debs/var/cache/apt/archives并运行apt-get update && apt-get upgrade(或 aptitude 等)。机器将访问网络以获取新的软件包列表,但当需要下载升级软件包时,它会发现缓存中已经有这些软件包,只需安装它们即可。

  5. 为了最大程度地节省带宽,只需使用 安装新的 .deb 即可dpkg -i <files

显然,如果您混合使用 32 位和 64 位机器、不同的架构等,情况会稍微复杂一些。但无论如何,您仍然必须下载所有更新的软件包。

相关内容