本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
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
¶