嗨,我运行了一些不同的 linux 发行版和架构,并且有一些来自服务器的速度太慢,以至于它们以 KB/s 更新,例如 ARM 上的 ubuntu。我正在学习自动化,我该怎么做
- 创建一个仅限本地的 linux 镜像/缓存
- 定期自动更新该镜像/缓存
- 使路由器自动唤醒文件服务器以更新该缓存并在完成后将其关闭
- 此外,如果可能,请在文件服务器更新后更新其他虚拟机/设备。
我也可以访问我的路由器来创建静态 DNS 条目,并且我有一个文件服务器,它在打开时会消耗大量电力,但它非常快(gzip 接近 1GB/s,这是 raid 的峰值性能)。仅保持开启就需要超过 200W 的功率,无论我做什么都无法将功率降低到 100W 以下,所以我决定让它以最大性能运行,只在需要时才打开它。
我将其中一个 ARM 板操作系统变砖,无法打开它来访问 SD 卡,因为其中一个 ubuntu 升级太慢以至于它超时并弄乱了固件更新作为示例。我想,因为我经常使用一些发行版,所以我不妨从本地缓存完成更新过程,作为学习 ansible 的练习。
我想帮助我学习如何做到这一点,或者在这里或链接到如何做我想做的事情的资源。
apt-cacher-ng
对于基于 Debian 和 Ubuntu 的系统,使用apt mirror imho 的 instad是否更有益这个决定的原因是你只是而且真的只是只持有请求的包裹而没有花时间去吉普车更新任何东西
我自己使用它大约 10 年以上来降低成本和流量。它支持任何类型的代理支持分发,这应该是大部分。
好的,有一点是您需要一次捕获一个包裹,但如果它需要一次,它将由缓存交付。
由于推荐规则,这可能有点偏离主题,但无论如何......
这里有很多东西要解压,但我会先看看:
reposync
工具,Ubuntu -apt-mirror
工具。cron
对于调度更一般地说,您可能希望查看诸如 Bash 脚本或 Python 脚本之类的东西来自动化小任务。我一开始倾向于使用 Bash,如果它变得太复杂,然后使用 Python,如果真的需要静态类型,则使用 Golang,否则我将分发该工具。