systemd-firstboot 中文手册

译者:金步国


版权声明

本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。

其他作品

本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:

联系方式

由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。


手册索引 · 指令索引systemd-241

名称

systemd-firstboot, systemd-firstboot.service — 初始化基本系统设置

大纲

systemd-firstboot [OPTIONS...]

systemd-firstboot.service

描述

systemd-firstboot 既可以在系统首次启动时交互式的初始化最基本的系统设置, 也可以在创建新系统镜像时非交互式的初始化最基本的系统设置。 该服务将在 ConditionFirstBoot=yes 时启动。 这意味着当时的 /etc 目录处于尚未初始化的状态。 详见 systemd.unit(5) 手册。

这些最基本的系统设置包括:

  • 本地化, 也就是 LANG=LC_MESSAGES 两个环境变量。

  • 键盘映射

  • 时区

  • 主机名

  • "machine ID"

  • root 用户的密码

所有上述设置既可以交互式的向用户询问, 也可以非交互式的通过命令行选项指定, 还可以从创建新系统镜像的主机 复制而来。

如果某个设置已经被初始化, 那么将不会覆盖已有的设置, 并且不会提示用户设置此项。

此工具 与 localectl(1), timedatectl(1), hostnamectl(1) 不同,它直接操作文件系统上的配置文件,并且不需要任何系统服务的支持。 因此, systemd-firstboot 可用于设置一个已挂载(但未启动)的系统镜像。 不应该在运行中的系统上使用 systemd-firstboot 命令。

选项

能够识别的命令行选项如下:

--root=root

指定已挂载(但未启动)的系统镜像的根目录位置, 所有其他路径都将以此 root 为前缀。 仅在为已挂载(但未启动)的系统镜像 初始化基本系统参数时才需要使用此选项。

--locale=LOCALE, --locale-messages=LOCALE

分别设置 LANG=LC_MESSAGES 环境变量。 例如 "zh_CN.utf8" 。此选项用于设置 locale.conf(5) 配置文件。

--keymap=KEYMAP

设置系统的键盘布局。参数必须是一个例如 "de-latin1" 这样有效的键盘映射名称(中文用户推荐使用"us")。此选项用于设置 vconsole.conf(5) 配置文件中 "KEYMAP" 的值。

--timezone=TIMEZONE

设置系统时区。 例如 "PRC" (北京时间)。此选项用于设置 localtime(5) 软连接的指向。

--hostname=HOSTNAME

设置主机名。 此选项用于设置 hostname(5) 配置文件。

--machine-id=ID

设置"machine ID"。 此选项用于设置 machine-id(5) 文件。

--root-password=PASSWORD, --root-password-file=PATH

设置root用户的密码, 同时创建 shadow(5) 文件。既可以通过 --root-password= 选项直接在命令行上指定密码, 也可以通过 --root-password-file= 选项从指定的文件中读取密码。 出于安全考虑, 一般不建议直接在命令行上指定密码, 因为其他用户可以通过 ps(1) 命令看到密码。

--prompt-locale, --prompt-keymap, --prompt-timezone, --prompt-hostname, --prompt-root-password

以交互式对话 询问用户特定的设置, 但不会提示已经在命令行上指定的设置 (因为它们的优先级更高)。

--prompt

以交互式对话询问用户本地化、键盘映射、时区、主机名、root密码。 相当于同时使用 --prompt-locale, --prompt-keymap, --prompt-timezone, --prompt-hostname, --prompt-root-password 选项。

--copy-locale, --copy-keymap, --copy-timezone, --copy-root-password

从主机复制特定的设置, 必须和 --root= 选项一起使用。

--copy

从主机复制本地化、键盘映射、时区、root密码。 必须和 --root= 选项一起使用。相当于同时使用 --copy-locale, --copy-keymap, --copy-timezone, --copy-root-password 选项。

--setup-machine-id

将"machine ID"初始化为一个随机值。 必须和 --root= 选项一起使用。

-h, --help

显示简短的帮助信息并退出。

--version

显示简短的版本信息并退出。

退出状态

返回值为 0 表示成功, 非零返回值表示失败代码。

内核引导选项

systemd.firstboot=

设置是否为首次启动。默认值为 "yes" 。 如果设为 "no" ,那么即使系统实际上是首次启动并且没有进行过任何初始化设置, systemd-firstboot.service 也不会要求用户对系统进行基本的初始化设置。

参见

systemd(1), locale.conf(5), vconsole.conf(5), localtime(5), hostname(5), machine-id(5), shadow(5), systemd-machine-id-setup(1), localectl(1), timedatectl(1), hostnamectl(1)