引导映像配置工具
SUSE Manager VM 映像通过 JeOS Firstboot 配置对话框来准备。现在您不一定要使用 |
1. 使用 Ignition
进行 SUSE Manager 基本配置
Ignition
是可用于在首次引导时根据您指定的设置配置系统的置备工具。系统首次引导时,Ignition
会作为 initramfs 的一部分加载,并会在特定目录内(USB 闪存盘上,或者您可以提供 URL)搜索配置文件。
Ignition
会使用 JSON 格式的配置文件。该文件名为 config.ign
。
config.ign
是 JSON 配置文件,提供针对 Ignition 的指令。您可以手动创建 JSON 格式的文件,也可以使用 Fuel Ignition 工具生成一组基本的指令。Fuel Ignition 工具不提供完整的选项集,因此您可能需要手动修改该文件。有关详细信息,请参见 https://ignite.opensuse.org/。
安装时,配置文件 config.ign
必须位于名为 ignition
的配置媒体上的 ignition
子目录中。目录结构必须如下所示:
<根目录> └── ignition └── config.ign
如果您打算配置 QEMU/KVM 虚拟机,请以 qemu 命令的属性的形式提供 config.ign
文件的路径。例如:
-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign
config.ign
文件包含各种数据类型:对象、字符串、整数、布尔值以及对象列表。有关完整规范,请参见 https://coreos.github.io/ignition/configuration-v3_3/。
1.1. 使用 Ignition
设置 root 口令
SUSE Manager VM 映像不会设置 root 或任何其他用户帐户。用户或 root
身份验证需要在首次引导期间设置。可以使用 passwd
属性来添加用户。如果您打算登录系统,请创建 root 并设置其口令,并且/或者在 Ignition
配置中添加 SSH 密钥。您需要对 root 口令进行哈希处理,例如,使用以下 openssl
命令来处理:
openssl passwd -6
该命令会创建您所选口令的哈希。请使用此哈希作为 passwordHash
属性的值。
users 属性必须至少包含一个 name
属性。ssh_authorized_keys
是该用户的一系列 SSH 密钥。
创建包含以下内容的 root/ignition/config.ign
文件:
{ "ignition": { "version": "3.2.0" }, "passwd": { "users": [ { "name": "root", "passwordHash": "$2a$10$qV298UV11u9lCFDjpHpCUe1cErBiVR.G3shukxs3.2PAO1xhJWs0K" } ] } }
使用以下命令准备 Ignition
ISO 文件:
mkisofs -full-iso9660-filenames -o suma_ignition.iso -V ignition root
首次引导时,将创建的 suma_ignition.iso
文件作为一个卷挂接到虚拟机。此特定示例会将 root
口令设置为 linux
。请以您的口令哈希替换此示例中的值。