![PXE 安装后更改存储库](https://linux22.com/image/1170743/PXE%20%E5%AE%89%E8%A3%85%E5%90%8E%E6%9B%B4%E6%94%B9%E5%AD%98%E5%82%A8%E5%BA%93.png)
我已经设置了一个 PXE 服务器,可以完全自动安装 Ubuntu 18.04 服务器和 Centos 7.6。
我的问题是,安装后,Ubuntu 系统在其 sources.list 文件中有我的 PXE 服务器 IP,我希望它们指向互联网存储库。
Centos 系统有互联网网络存储库,因此必须能够做到这一点。
两个安装程序都使用 url 指令作为指向本地安装文件的指针。Centos 安装使用 kickstart 文件,而 ubuntu 安装使用混合 kickstart/preseed 文件。
我只有基础服务器所需的特定文件,因此我需要在部署后更新它们。
我目前的解决方法是在安装后复制本地 sources.list 文件,以替换 Ubuntu 在安装过程中自动创建的文件,但这感觉像是黑客攻击。
我发现没有办法使用预置正确地执行此操作,并且我也没有发现在安装完成后自动进行此更改的方法。
我认为,例如,如果您最初在美国安装,但后来搬到了日本,您会希望采用一种自动化的方式将您的 sources.list 文件从 ...us.archive... 更改为 ...jp.archive...
因此,我的请求是
一个示例 PXE 预置文件,使用本地仓库进行安装,然后在操作系统安装完成后为您的位置设置互联网仓库,
或者
一个 Ubuntu 可执行文件,可以运行它来在您的地理位置发生变化时自动更新您的 sources.list 文件。
答案1
当使用预置文件进行 ubuntu 服务器安装时,您还可以插入后期命令 - 安装结束后立即运行的命令。您可能想要运行 apt-mirror-updater 命令或任何其他适合您的命令。
例子:
d-i preseed/late_command string in-target apt-mirror-updater ["your params here"]
另一个例子::
d-i preseed/late_command string in-target add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ Bionic universe multiverse"
进一步阅读: apt-mirror-updater:自动 Debian/Ubuntu 镜像选择 附录 B. 使用预置自动安装