我正在考虑通过我们的各个安全区域创建一个本地 Apt 镜像链,想知道这在技术上是否可行,如果可行,可能会存在哪些陷阱?
像这样:
区域 1 -> 来自公共的镜像 - 每日同步区域 2 -> 来自区域 1 的镜像 - 每日同步区域 3 -> 来自区域 2 的镜像 - 每周同步客户端从区域 3 接收更新
我打算排除所有来源和反向移植,并为每个镜像分配 300gb。最初这仅适用于 18.04 LTS,但可能需要其他旧版本。
任何提供的信息都将不胜感激。
干杯,
答案1
我认为这应该完全可以链接 apt 存储库,并且每 n 天更新一次它们也是可以的(可以使用 cron 来实现这一点)。除了同步之外,我也没有发现其他缺陷。300 GB 绰绰有余(我的镜像占用了约 150 GB,用于多元宇宙、反向移植和 bionic/18.04 的安全性)。编辑:EOL 上的存储库使用了约 250 GB。
同步
由于您将使用 cron 来更新您的存储库,因此您最好在公共区域 X:00 时触发同步,在第一个区域 X+1 时触发同步,依此类推。这是为了尽快(在一个同步级联内)获取最安全区域的最新更新。如果您尝试以相反的顺序同步区域(公共区域作为最后一个同步),则必须等待天确保您的关键更新能够到达最高安全区域。
您的架构
公共 | 1区 | 2区 | ...
cron 配置示例
以“apt-mirror”用户身份创建 cron:
sudo -u apt-mirror crontab -e
在适当的镜子中:
# m h dom mon dow command
0 0 * * * /usr/bin/apt-mirror # in public mirror
0 1 * * * /usr/bin/apt-mirror # in zone 1 mirror
0 2 * * * /usr/bin/apt-mirror # in zone 2 mirror
0 3 * * 1 /usr/bin/apt-mirror # in zone 3 mirror, weekly
请注意,最新更新将像瀑布一样从区域深处的一个镜像“流”到另一个镜像。早上,您将在最深的区域中准备好安装最新更新。
在镜像服务器上安装
在 Ubuntu 18.04 和 16.04 上你需要的实际上就是这些:https://blog.programster.org/set-up-a-local-ubuntu-mirror-with-apt-mirror- 我已经在我的“区域”场景中对此进行了测试。
我希望所有其他安装对您来说都相当清楚?如果需要更多详细信息,我可以编辑并添加上面链接的手册摘录。
编辑:备忘录(2023 年 7 月 10 日)
我写这篇文章是为了更新我当前镜像的大小信息/var/spool/apt-mirror
。但由于历史时刻有点怀旧,因为 Ubuntu Bionic 刚刚“退休”,我决定添加这份备忘录:是时候用 Ubuntu Bionic 结束管理员生命的这一章了。Ubuntu Bionic(版本 18.04 LTE)的生命周期已于 2023 年 5 月 31 日结束。Ubuntu LTE 涵盖 5 年的更新,Ubuntu Pro(非免费)涵盖 10 年的支持。
仓库大小: 截至今日,所有 repos:main restricted universe multiverse
的bionic bionic-security bionic-updates
和 的deb-i386
都已deb-src
用完241 GB磁盘空间。
最后一个 32 位 Ubuntu:版本 18.04 是最后一个支持 i386 架构的 Ubuntu。所有较新的版本都无法在 32 位机器上运行。如果您是 Ubuntu 的粉丝,并且想让 Bionic 保持可安装性,那么现在是获取安装映像和 repo 的最后机会 :) 有关其他 32 位 Linux 发行版,请参阅itsfoss.com
关键配置:以下是/etc/atc/mirror.list
负责获取 Bionic 存储库的部分。(其中还需要一些其他默认设置,这些默认设置应已在较新版本的 Ubuntu 中到位。)
set defaultarch i386
deb-i386 http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu bionic-updates main restricted universe multiverse
clean http://archive.ubuntu.com/ubuntu