创建 Linux 本地更新镜像(缓存)并自动执行

创建 Linux 本地更新镜像(缓存)并自动执行

你好,我运行了几个不同的 Linux 发行版和架构,有些服务器的更新速度非常慢,例如 ARM 上的 ubuntu 的更新速度以 KB/s 为单位。我正在学习自动化,我该怎么做

  • 创建仅限本地的 Linux 镜像/缓存
  • 定期自动更新镜像/缓存
  • 自动唤醒路由器以更新缓存,并在完成后关闭它
  • 此外,如果可能的话,在文件服务器更新后更新其他虚拟机/设备。

我也可以访问我的路由器来创建静态 DNS 条目,并且我有一个文件服务器,它在打开时会消耗大量电量,但它非常快(执行 gzip 时接近 1GB/s,这是 raid 的峰值性能)。仅保持开启状态就需要超过 200W,无论我做什么都无法将功率降低到 100W 以下,所以我决定让它处于最大性能,只在需要时才打开它。

我弄坏了一块 ARM 主板的操作系统,无法打开它来访问 SD 卡,因为其中一个 ubuntu 升级速度太慢,超时并搞乱了固件更新。我想,既然我经常使用几个发行版,我不妨从本地缓存完成更新过程,作为学习 ansible 的练习。

我希望获得帮助以学习如何做到这一点,无论是在这里还是链接到资源以了解如何做我想做的事情。

答案1

由于推荐规则,这可能有点偏离主题,但无论如何......

这里有很多内容需要解开,但我首先要看的是:

  1. CentOS -reposync工具,Ubuntu -apt-mirror工具。
  2. cron用于调度
  3. 不确定你是否可以轻松自动化路由器,除非你可以用其他东西向服务器发送 LAN 唤醒数据包
  4. 可以尝试并安排在其他虚拟机/服务器上进行更新,但除此之外,仅拥有包的本地副本就很有帮助。

更一般地讲,您可能希望了解 Bash 脚本或 Python 脚本等工具,以便自动执行一些小任务。我倾向于先使用 Bash 来处理一些事情,如果事情变得太复杂,则使用 Python,如果真的需要静态类型,则使用 Golang,否则我将分发该工具。

答案2

对于基于 Debian 和 Ubuntu 的系统,使用apt-cacher-nginstad 而不是 apt mirror是否更有益?

做出此决定的原因在于,您实际上只保留了请求的包,而没有花时间更新任何内容

我自己用这个已经 10 多年了,以降低成本和流量。它支持任何类型的代理分发,应该是大多数。

好的,有一点是您需要捕获一次包,但如果需要一次以上,它将由缓存传送。

相关内容