SysVinit和Systemd的系统运行级别

SysVinit系统(init守护进程)Linux系统运行级别

Linux运行级别解释启动示例
0关机init 0
1单用户模式,只允许一个用户登录init 1
2多用户模式,不支持网络工作init 2
3文本模式,无图形化init 3
4系统预留init4
5图形化界面,Linux默认运行级别init 5
6代表重启模式,不能设置,否则系统反复重启init 6

SysVinit系统(init守护进程)查看Linux运行级别

init查看Linux系统运行级别

# init查看系统运行级别,分为0到6
chkconfig —list

# 也可以查看系统运行级别
who -r

# 或
runlevel 

SysVinit系统(init守护进程)修改运行级别:

# 修改运行级别
vim /etc/inittab

Systemd守护进程Linux系统运行级别

Systemd目标(target)替代了运行级别的概念,提供了更大的灵活性,如您可以继承一个已有的目标, 并添加其他服务,来创建自己的目标。下表列举了Systemd下的目标(target)常见runlevel的对应关系。

.target文件是一组systemd units(服务单元)。用于对 Unit 文件进行逻辑分组,引导其它 Unit 的执行。它替代了 SysV-init 运行级别的作用,并提供更灵活的基于特定设备事件的启动方式.

target是一个box(盒子),装了很多service(服务),也可以理解为target是一组service(服务).
tartget是由服务组成的一类启动目标,systemd可以设置启动目标.
如果systemd指定了一个target作为启动目标,那么下次启动的时候就会启动target里面的所有服务.
在这里插入图片描述

SysVinit运行级别Systemdtarget 对比:

SysVinit系统(Centos6及以下)Systemd系统(Centos7及以上)Systemd下的别名功能描述
0runlevel0.targetpoweroff.target,
shutdown.target
关闭系统。
1, s, singlerunlevel1.targetrescue.target单用户模式,只允许一个用户登录
2runlevel2.targetmulti- user.target用户定义/域特定运行级别,不支持网络工作。默认等同于3。
3runlevel3.targetmulti- user.target完全多用户(非图形化)模式。 用户可以通过多个控制台或网络登录。
4runlevel4.target保留功能未定义; 同运行级别3
5runlevel5.targetgraphical.target多用户,X11(用户图形化界面)。通常为所有运行级别3的服务+图形化登录。
6runlevel6.targetreboot.target重启系统。
emergencyemergency.target紧急Shell。

systemd查看运行级别

Systemd查看系统上的所有运行级别

# 查看当前系统所有的启动目标
systemctl list-units --type=target

在这里插入图片描述


Systemd查看系统当前运行级别

Systemd兼容SysVinit系统(init守护进程)查看运行级别命令

# Systemd查看系统当前运行级别
systemctl get-default
# 结果是文本模式

在这里插入图片描述

# SysVinit系统(init守护进程) 兼容命令
# init查看系统运行级别,分为0到6
chkconfig —list
# 也可以查看系统运行级别
who -r
# 或
runlevel 

在这里插入图片描述


systemd修改运行级别

原理: 链接至对应的运行级别即可


multi-user.target–文本界面的Linux系统

tty0tty1 默认是图形界面,临时切换文本界面后,tty0tty1变成文本界面了

# 永久设置文本界面启动
systemctl set-default multi-user.target

# 改变当前系统的目标,重启不保存
# 临时切换到`文本界面`
systemctl isolate multi-user.target
# 需要等待几分钟

graphical.target–图形化界面的Linux系统

# 改变系统默认的启动目标,重启保存
# 永久设置图形化界面启动
systemctl set-default graphical.target

# 改变当前系统的目标,重启不保存
# 临时切换到`图形化界面`
systemctl isolate graphical.target
# 需要等待几分钟

查看下次启动时加载文本界面还是图形界面

# 查看默认启动的启动目标
# 查看`下次启动时`加载的默认Linux界面`target`
systemctl get-default 

在这里插入图片描述


永久设置下次启动时加载的默认target

# 永久改变系统默认的启动目标,重启后依然保持
systemctl set-default ${target名称}

切换救援与紧急模式

# 改变当前系统为救援模式
systemctl rescue

这条命令和“systemctl isolate rescue.target”类似。命令执行后会在串口如下打印信息:

> You are in rescue mode. After logging in, type "journalctl -xb" to viewsystem logs, "systemctl reboot" to reboot, "systemctl default" or "exit"to boot into default mode.

> Give root password for maintenance

> (or press Control-D to continue):
# 改变当前系统为紧急模式
systemctl emergency

这条命令和“systemctl isolate emergency.target”类似。命令执行后会在串口如下打印信息:

> You are in emergency mode. After logging in, type "journalctl -xb" to viewsystem logs, "systemctl reboot" to reboot, "systemctl default" or "exit"to boot into default mode.

> Give root password for maintenance

> (or press Control-D to continue):

用户需要重启系统,才能从救援模式或者紧急模式进入正常模式


关闭/暂停/休眠系统

Systemd通过Systemctl命令可以对系统进行关机重启休眠等一系列操作。当前仍兼容部分Linux常用管理命令,对应关系如下表。建议用户使用systemctl命令进行操作。

Linux常用管理命令systemctl命令描述
haltsystemctl halt关闭系统但不关闭电源)
poweroffsystemctl poweroff关闭系统并关闭电源
rebootsystemctl reboot重启

执行上述命令会给当前所有的登录用户发送一条提示消息。

# --no-wall 执行关机命令时,禁止systemd通知用户
systemctl --no-wall poweroff

待机休眠

# 使系统待机
systemctl suspend

# 使系统休眠
systemctl hibernate

# 使系统待机且处于休眠状态
systemctl hybrid-sleep
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值