ENV:
[root@Fedora ~]# uname -r
5.1.19-300.fc30.x86_64
[root@Fedora ~]# cat /etc/redhat-release
Fedora release 30 (Thirty)
获取当前运行级别
[root@Fedora ~]# runlevel
N 5
[root@Fedora ~]# systemctl get-default
graphical.target
系统主要的运行级别
Linux系统有7个运行级别:
0:停机状态。系统默认运行级别不能设置为0,否则系统不能正常启动;使用init 0命令,可关闭系统,相当于halt命令。
1:单用户状态。仅root用户可登录;用于系统维护,禁止远程登录,相当于Windows下的安全模式。
2:多用户状态(无NFS)。没有网络服务。
3:完整的多用户状态(有NFS)。有网络服务,登录后进入控制台命令行模式。
4:系统未使用,保留。
5:登录后进入图形GUI模式。
6:重启,系统正常关闭并重启。默认运行级别不能设置为6,否则系统不能正常启动。
查看设置文件:
[root@Fedora ~]# cat /etc/inittab
# inittab is no longer used.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
大概意思是:这个文件不再使用了,采用最新的systemd方式管理运行级别,并给出两种最主要的级别:
multi-user.target(以前的init3,字符界面)
graphical.target(以前的init5,图形界面)
查看运行级别命令:systemctl get-default
设置运行级别命令:systemctl set-default TARGET.target
[root@Fedora ~]# systemctl set-default //输入完两次tab键列出所有的可用项
anaconda.target printer.target
basic.target rdma-hw.target
bluetooth.target reboot.target
boot-complete.target remote-cryptsetup.target
cryptsetup-pre.target remote-fs-pre.target
cryptsetup.target remote-fs.target
ctrl-alt-del.target rescue.target
default.target rpcbind.target
emergency.target rpc_pipefs.target
exit.target runlevel0.target
final.target runlevel1.target
getty-pre.target runlevel2.target
getty.target runlevel3.target
graphical.target runlevel4.target
halt.target runlevel5.target
hibernate.target runlevel6.target
hybrid-sleep.target selinux-autorelabel.target
initrd-fs.target shutdown.target
initrd-root-device.target sigpwr.target
initrd-root-fs.target sleep.target
initrd-switch-root.target slices.target
initrd.target smartcard.target
kexec.target sockets.target
local-fs-pre.target sound.target
local-fs.target sshd-keygen.target
machines.target suspend.target
multi-user.target suspend-then-hibernate.target
network-online.target swap.target
network-pre.target sysinit.target
network.target system-update-pre.target
nfs-client.target system-update.target
nss-lookup.target timers.target
nss-user-lookup.target time-sync.target
paths.target umount.target
poweroff.target virt-guest-shutdown.target
这些也是对应的最上面的7种运行级别的,只是系统对具体的功能进行了细分,
其中主要的几种(前四个是最主要的):
rescue.target 强制进入救援模式
emergency.target 强制进入紧急救援模式
multi-user.target 字符界面
graphical.target 图形
下面的0-6和以前的一样
runlevel0.target
runlevel1.target
runlevel2.target
runlevel3.target
runlevel4.target
runlevel5.target
runlevel6.target
basic.target 基本 (没试过,估计是最基础功能)
reboot.target 重启(相当于6级别,不建议使用)
halt.target 相当于0模式
shutdown.target 关机
poweroff.target 关机
sleep.target 睡眠
suspend.target 睡眠
进行设置
如:设置开机字符界面
[root@Fedora ~]# systemctl set-default multi-user.target
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target.
设置开机图形界面
[root@Fedora ~]# systemctl set-default graphical.target
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target.
以上的设置都是重启之后才会进入的,如想不重启直接进入相应模式可以使用命令
systemctl isolate TARGET.target
如:
systemctl isolate multi-user.target 在不重启的情况下,切换到运行级别mulit-user下
systemctl isolate graphical.target 在不重启的情况下,切换到图形界面下