在哪个runlevel下会运行?
如果我们想查看哪个runlevel,则可以使用此命令:
$ systemctl show -p WantedBy [name of service]
例如,如果我们想看到runlevel ssh守护程序将运行,则会键入:
$ systemctl show -p WantedBy sshd.service
列出特定运行级别启用的服务
"chkconfig -list"是列出将在不同的运行级别启用的服务的命令。
如果我们希望看到将在图形模式(Runlevel 5)启动时启动哪些服务,我们可以运行此命令:
$ systemctl list-dependencies graphical.target
如何更改应用程序的运行级别?
我们的SSH服务仅在Runlevels 2-4(多-User.target)上运行。
如果我们还希望它启动到图形界面 - runlevel 5(图形intarget)时会如何启动?
我们可以使用以下命令应用该配置:
$ systemctl enable sshd.service
如何更改当前的runlevel?
我们可以使用"telinit"命令更改系统的当前runlevel。
例如,在CentOS上更改为Runlevel 3:
$ telinit 3
如果屏幕显示空白,按键盘上的Alt + F1。
Linux Systemd目标与runlevels
近年来,systemd 开始取代长期存在的“System V init”(运行级别)系统。它的工作方式仍然基本相同,但使用了一些新命令,并且通常将“运行级别runlevel”称为“目标target”。
runlevel 0 = poweroff.target(runlevel0.target)
runlevel 1 = Rescue.target(runlevel1.target)
runlevel 2 = multi -user.target(runlevel2.target)
runlevel 3 = multi -user.target(runlevel3.target)
runlevel 4 = multi -user.target(runlevel4.target)
runlevel 5 = graphical.target(runlevel5.target)
runlevel 6 = reboot.target(runlevel6.target)
如何在启动时更改默认的runlevel?
在配置文件/etc/inittab中,可以定义在启动时的默认runlevel。
$ vi /etc/inittab
如果系统没有使用/etc/inittab文件,而是使用SystemD。
使用下面命令检查系统的当前默认目标:
$ systemctl get-default
查看runlevel和target之间的关联:
$ ls -l /lib/systemd/system/runlevel*
如果要修改在启动时的默认的runlevel(或者目标)?
我们需要创建一个新的符号链接,如下所示:
$ ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target
系统当前的runlevel?
在大多数Linux发行版上,只需键入"runlevel",我们就可以看到当前的runlevel。
runlevel 3 vs. runlevel 5
用得最多的运行级别是3和5. 基本上归结为:runlevel 3是命令行,runlevel 5是图形用户界面。
Linux中有多少runlevels?
Linux中有七种不同的runlevel,从0到6。
各种Linux系统可以不同地使用七个runlevels。
在大多数情况下,Linux系统是这样分配Runlevels的:
runlevel 0关闭系统。
runlevel 1是一个单用户模式,用于维护或者管理任务。
我们也可能看到此模式称为runlevel s(s代表单用户)。
runlevel 2是多用户模式。
此运行级别不使用任何网络服务。
runlevel 3是具有网络的多用户模式。
这是普通的runlevel,如果我们使用无法启动到GUI(图形用户界面)的系统。
不使用runlevel 4.
用户可以为自己的目的自定义此运行级别(我们将介绍在文章中的方式)。
runlevel 5与runlevel 3相同,但它也启动显示管理器。
如果我们使用boot子的系统,则这是我们正在使用的运行级别。
runlevel 6重新启动系统。
我们可以将Linux Runlevels视为不同的"模式",即操作系统运行。
这些模式或者运行级别中的每一个都有其开启或者关闭的流程和服务列表。