是否有选项可以在自动安装会话期间抑制(或转发)自动无人值守软件包升级?当我们在本地配置了 ubuntu 镜像时,我不想为每个客户端从互联网站点下载大量数据。谢谢
当您将自动安装与 Ubuntu live 服务器安装程序 ( subiquity ) 一起使用时,没有内置选项来禁用软件包更新。有一个updates
键,但唯一可用的选项是security
或all
。
然而,我发现了一些可以有效跳过更新的方法。我仅使用 22.04 安装程序测试了这些方法。
方法1
此方法使用apt_preferences来降低安全存储库中包的优先级。这会导致安全存储库中的所有包在更新期间被忽略。apt_preferences 配置被删除late-commands
。这种方法的缺点是安装其他 apt_preferences 比较困难。
user-data
以下是此方法的文件片段。
#cloud-config
autoinstall:
updates: security
apt:
preferences:
- package: "*"
pin: "release a=jammy-security"
pin-priority: 200
late-commands:
- |
rm /target/etc/apt/preferences.d/90curtin.pref
true
Run Code Online (Sandbox Code Playgroud)
方法2
sources.list
此方法无需安全存储库即可配置。结果是安全存储库中的任何软件包都将不可用,并且不会更新任何软件包。缺点是安装时不会配置安全存储库。
user-data
以下是此方法的文件片段。
#cloud-config
autoinstall:
updates: security
apt:
disable_suites: [security]
Run Code Online (Sandbox Code Playgroud)
使用本地镜像的替代选项
如果你真的只想使用本地镜像,那么你可以配置 apt 来使用它。user-data
这是使用本地镜像配置 apt的文件片段。
#cloud-config
autoinstall:
apt:
primary:
- arches:
- default
uri: http://YOURMIRROR
Run Code Online (Sandbox Code Playgroud)
如果本地镜像未镜像所有组件和套件,则自动安装可能会失败。您可能需要包括apt
类似的键
disable_components: [restricted,multiverse]
disable_suites: [backports,security]
Run Code Online (Sandbox Code Playgroud)
也可以看看
笔记
我使用 Ubuntu 22.04 测试了这些配置 ( subiquity 22.04.2
)
归档时间: |
|
查看次数: |
5872 次 |
最近记录: |