> Linux教程 > linux基础 >

systemd如何查看和改变运行级别?

systemd 使用比 sysvinit 的运行级更为自由的 target 概念作为替代。
 
第 3 运行级用 multi-user.target 替代。第 5 运行级用 graphical.target 替代。runlevel3.target 和 runlevel5.target 分别是指向 multi-user.target 和 graphical.target 的符号链接。
 
systemd 用目标(target)替代了运行级别的概念,提供了更大的灵活性,如您可以继承一个已有的目标,并添加其它服务,来创建自己的目标。下表列举了 systemd 下的目标和常见 runlevel 的对应关系:
 
表 1. 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 多用户,图形化。通常为所有运行级别 3 的服务外加图形化登录。
6 runlevel6.target, reboot.target 重启
emergency emergency.target 紧急 Shell
 
 
 
你可以使用下面的命令切换到“运行级 3 ”:
 
1
systemctl isolate multi-user.target (or) systemctl isolate runlevel3.target
你也可以使用下面的命令切换到“运行级 5 ”:
 
1
systemctl isolate graphical.target (or) systemctl isolate runlevel5.target
如何改变默认运行级别?
 
systemd 使用链接来指向默认的运行级别。在创建新的链接前,你可以通过下面命令删除存在的链接:
 
 
rm /etc/systemd/system/default.target
默认切换到运行级 3 :
 
 
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
默认切换到运行级 5 :
 
 
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
systemd 不使用/etc/inittab 文件。
 
如何查看当下运行级别?
 
runlevel 命令在 systemd 下仍然可以工作。你可以继续使用它,尽管 systemd 使用 'target' 概念(多个的 'target' 可以同时激活)替换了之前系统的 runlevel 。等价的 systemd 命令是
 
systemctl list-units --type=target
如何关机?
 
你可以使用
 
 
poweroff
更多可行的命令是: halt -p、 init 0、 shutdown -P now
 
需要注意的是,在之前的 Fedora 发布版中 halt 与 poweroff 的效果一样。但是 systemd 区别对待这两项,因而,没有参数的 halt 做的就是像它说的那样(停止)——仅仅停止系统而不关机。

 
(责任编辑:IT)