我正在做一些服务器配置,我需要在安装后运行一个脚本,因为它要求系统功能齐全,包括服务。所以我不能把它放在%post
我的 kickstart 文件的部分。
相反,我创建了一个 systemd 服务,该服务将自己禁用为它所做的最后一件事。
[Unit]
Description=Prepare the system after installation
[Service]
Type=oneshot
ExecStart=/usr/bin/prepare-system
[Install]
WantedBy=multi-user.target
问题是在第一次启动期间,我进入登录提示,甚至可以登录并开始使用系统,而“首次启动脚本”仍在运行。
这给了设置系统的管理员一种系统已经完成的错觉,而实际上并没有。
相反,我希望该服务延迟启动,最好显示一条消息,如“系统正在准备中,请稍候......”并在那里等到脚本完成。
在这里找到答案:https ://unix.stackexchange.com/questions/216045/systemd-configure-unit-file-so-that-login-screen-is-not-shown-until-service-exi
只需设置
Before
为终端可用时:假设您使用 GDM 作为登录管理器,请
Before=gdm.service
在该[Unit]
部分添加一行。如果您不使用 gdm,请找出启动 xorg 的服务并将其放在
Before=
行中。这将导致任务在登录管理器显示之前完成。