3.1 探情景
CentOS默认安装是 带GUI的工作站软件包,对初学者友好。而作为服务器在后台运行时,是不需要启动GUI界面的,白白浪费计算资源。在登陆时,该如何在两种运行级别中切换呢?
需要实现:设置后,
(1)重启后自动进入CLI界面的服务器运行级别
(2)或自动进入GUI界面的工作站运行级别
在CentOS7中,引入了一种进程服务的管理框架systemd。一起来学习下, systemd是什么,怎么用来解决问题。
3.2 学新知
systemd是CentOS 7的新特性,用于改变以往SysvInit的启动方式,提高系统服务的运行效率,为系统的启动和管理提供一套完整的解决方案。
3.2.1 Unit单元
systemd可以管理所有系统资源,不同资源统称为 Unit,一共分为12种
1 | Service unit: | 系统服务 |
---|---|---|
2 | Target unit: | 多个unit构成一个目标组 |
3 | Device unit: | 硬件设备 |
4 | Mount unit: | 文件系统的挂载点 |
5 | Automount unit: | 自动挂载点 |
6 | Path unit: | 文件或路径 |
7 | Scope unit: | 不是由Systemd启动的外部进程 |
8 | Slice unit: | 进程组 |
9 | Snapshot unit: | Systemd快照可切回某个快照 |
10 | Socket unit: | 进程间通信的socket |
11 | Swap unit: | swap文件 |
12 | Timer unit: | 定时器 |
3.2.2 Target
(一)资源Unit的组合Target
CentOS7 将原来的 runlevel 换成了 Target。 不同等级的运行模式,需要一组不同的资源Unit组合。
总共对应有8个Target。
systemd目标名称 | 作用 |
---|---|
runlevel0.target, poweroff.target | 关机 |
runlevel1.target, rescue.target | 单用户模式 |
runlevel2.target, multi-user.target | 等同于级别3 |
runlevel3.target, multi-user.target | 多用户的文本界面 |
runlevel4.target, multi-user.target | 等同于级别3 |
runlevel5.target, graphical.target | 多用户的图形界面 |
runlevel6.target, reboot.target | 重启 |
emergency.target | 紧急Shell |
重点是描红的2个。
(二)关联的指令
[root@192 ~]# systemctl get-default
graphical.target
[root@192 ~]# systemctl set-default [TAB]
local-fs.target runlevel2.target
machines.target runlevel3.target
multi-user.target runlevel4.target
network-online.target runlevel5.target
network-pre.target runlevel6.target
network.target shutdown.target
default.target nfs-client.target
sigpwr.target emergency.target
...
3.2.3 服务管理
systemctl命令(CentOS 7系统) | 作 用 |
---|---|
systemctl start foo.service | 启动服务 |
systemctl restart foo.service | 重启服务 |
systemctl stop foo.service | 停止服务 |
systemctl reload foo.service | 重新加载配置文件(不终止服务) |
systemctl status foo.service | 查看服务状态 |
systemctl命令(CentOS 7系统) | 作 用 |
---|---|
systemctl enable foo.service | 开机自动启动 |
systemctl disable foo.service | 开机不自动启动 |
systemctl is-enabled foo.service | 查看特定服务是否为开机自动启动 |
systemctl list-unit-files —type=service | 查看各个级别下服务的启动与禁用情况 |
3.3 仿示范
3.3.1 方法计划
完成运行级别切换,是切换Target。
如果进入多用户的文本界面的服务器,将multi-user.target 设置为default。
如果进入多用户的图形界面的工作站,将graphical.target 设置为default。
3.3.2 组织实施
3.3.2.1 从图形界面GUI进入到CLI
(一)打开shell
如果在GUI界面中,在桌面空白处,点击鼠标右键, 选择 “ 打开Shell”,会打开一Shell终端。
(二)查看当前自己的默认运行级别Target
[root@192 ~]# systemctl get-default
graphical.target // 默认进入图形,要改为multi-user.target
[root@192 ~]# systemctl set-default multi-user.target
[root@192 ~]# reboot // 重启系统