systemd-firstboot 中文手册
名称
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)