欢迎来到之路教程(on itroad-com)
使用 systemd 更改运行级别
运行级别目标可以通过使用 systemctl 隔离命令来改变:
# systemctl isolate multi-user.target
要查看可用的目标,我们可以使用类型目标发出 list-units 选项
# systemctl list-units --type=target
运行级别 3 由 multi-user.target 模拟。
这是通过符号链接完成的,可以互换使用
# systemctl isolate multi-user.target # systemctl isolate runlevel3.target # ls -l /usr/lib/systemd/system/runlevel3.target lrwxrwxrwx 1 root root 17 Oct 18 11:41 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
运行级别 5 由 graphics.target 模拟。
这也是通过符号链接完成的,可以互换使用
# systemctl isolate graphical.target # systemctl isolate runlevel5.target # ls -l /usr/lib/systemd/system/runlevel5.target lrwxrwxrwx 1 root root 16 Oct 18 11:41 /usr/lib/systemd/system/runlevel5.target -> graphical.target
Systemd 已取代 sysVinit 作为 RHEL 7 中的默认服务管理器。
某些 sysVinit 命令已被符号链接到它们的 RHEL 7 对应项,但是这最终将被弃用,以支持未来的标准 systemd 命令。
更改默认运行级别
可以使用 set-default 选项更改默认运行级别。
# systemctl set-default multi-user.target
要获取当前设置的默认值,我们可以使用 get-default 选项。
# systemctl get-default
systemd 中的默认运行级别也可以使用以下方法设置(虽然不推荐)。
# ln -sf /lib/systemd/system/[desired].target /etc/systemd/system/default.target
通过添加以下选项,还可以在引导期间在内核行中设置默认目标:
systemd.unit=multi-user.target
SysVinit 和 systemd 运行级别的比较
这是 SysVinit 运行级别 和 systemd 目标之间的比较。
Sysvinit 运行级别 | Systemd 目标 | 作用 |
---|---|---|
0 | runlevel0.target, poweroff.target | 系统停止/关闭 |
1, s, single | runlevel1.target, rescue.target | 单用户模式 |
2, 4 | runlevel2.target, runlevel4.target, multi-user.target | 用户定义/站点特定的运行级别。 默认情况下,与 3 相同。 |
3 | runlevel3.target, multi-user.target | 多用户、非图形模式、仅文本控制台 |
5 | runlevel5.target, graphical.target | 多用户,图形模式 |
6 | runlevel6.target, reboot.target | 重启 |
emergency | emergency.target | 紧急模式 |
日期:2020-09-17 00:12:00 来源:oir作者:oir