如何在 ubuntu 22.04 liverserver ISO 安装期间停止升级

如何在 ubuntu 22.04 liverserver ISO 安装期间停止升级

问题:从官方网站下载了 ubuntu liveserver 22.04 ISO,截至 2022 年 12 月 9 日,内核版本为 5.15.0-43。安装过程中有一个必填字段“镜像地址”,默认情况下它带有http://us.archive.ubuntu.com/ubuntu,这里的“us”是区域,我们可以使用http://archive.ubuntu.com/ubuntu作为镜像列表。截至今日(2022 年 12 月 9 日),镜像中的更新版本为 56 版(5.15.0-56),因此在安装的最后一步中,它会升级到 5.15.0-56 内核。

所需解决方案:在安装期间和安装后,我们只需要获取 5.15.0-43 内核,它不应该更新/升级到 5.15.0-56 内核。如何在 ubuntu liverserver 22.04 安装期间停止更新/升级。

答案1

埋葬在安装程序深处(下位性是将要安装的内核包的名称包含在文件中的逻辑/run/kernel-meta-package。通常,该文件包含 linux-generic。更改此文件内容的最简单方法可能是使用 cloud-init 来配置安装程序环境。

这是一个基本的 cloud-init 文件,它将导致安装带有内核包的系统linux-image-5.15.0-43-generic

#cloud-config
runcmd:
  - |
    cat <<EOF > /run/kernel-meta-package
    linux-image-5.15.0-43-generic
    EOF

安装程序需要提供 cloud-init 文件。如线程中所述Cloud-init 和实时服务器安装程序

最容易提供的元数据来源是“NoCloud”,其记录在https://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html

该解决方案还可以适用于安装 5.15.0-25或任何其他可用的内核包。

笔记

  • 我使用 Ubuntu 22.04 ( subiquity 22.04.2) 进行了测试。
  • 这可能是一个坏主意,因为将会安装可能包含安全问题的旧内核包。

更新

较新版本的下位性有过内核自动安装选项添加。还有错误修复这会阻止/run/kernel-meta-package文件优先于该自动安装选项。

有了这些新版本的下位性安装内核的自动安装配置linux-image-5.15.0-43-generic

#cloud-config
autoinstall:
  kernel:
    package: linux-image-5.15.0-43-generic

相关内容