Ubuntu 服务器自动安装

Ubuntu 服务器自动安装

您好,我正在进行一些自动化工作,遇到了一个问题,即 ubuntu 自动安装在安装过程中仍然要求进行验证。

即使找到完全非交互式的自动安装配置,服务器安装程序也会在写入磁盘之前要求确认,除非内核命令行中存在自动安装。这是为了更难意外创建会在启动时重新格式化插入的机器的 USB 棒。许多自动安装将通过网络启动完成,其中内核命令行由网络启动配置控制 - 只需记住将自动安装放入其中!

我偶然看到了这篇文章,在我的配置文件中确实有这样的“自动安装”:

#cloud-config
  autoinstall:
   version: 1

我如何将其放在内核命令行上?或者我如何编写网络启动配置?我对服务器管理有点陌生,对大多数术语不熟悉。

答案1

请注意,这是一种保护措施,旨在帮助避免意外擦除正在使用的系统。不过,我认为,如果你按原样使用官方的 Ubuntu 安装介质,并通过另一个 iso 提供 cloud-init autoinstall 配置,那么这种保护措施就有点过了。尤其是在没有使用物理安装介质,并且 iso 的安装不是手动操作的情况下。

因此,如果您无法autoinstall在启动时附加到内核命令行,您仍然可以在自动安装模块检查之前覆盖该命令行,如下所示:

#cloud-config
bootcmd:
  - cat /proc/cmdline > /tmp/cmdline
  - sed -i'' 's/$/ autoinstall/g' /tmp/cmdline
  - mount -n --bind -o ro /tmp/cmdline /proc/cmdline
autoinstall:
  version: 1

这将利用 cloud-init bootcmd 模块通过在 /proc/cmdline 上挂载修改后的文件来覆盖它。该文件包含原始的 cmdline 内容 + autoinstall

并且正如自动安装文档这将删除“继续自动安装?(是|否)”提示

要绕过此提示,请安排参数 autoinstall 出现在内核命令行上。

答案2

经过一些额外的研究,执行了双重检查,以防止在使用物理介质安装操作系统时意外安装。要启动全自动安装,应通过 FTP 或 HTTP 使用网络安装。

相关内容