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个。

(二)关联的指令

  1. [root@192 ~]# systemctl get-default
  2. graphical.target
  3. [root@192 ~]# systemctl set-default [TAB]
  4. local-fs.target runlevel2.target
  5. machines.target runlevel3.target
  6. multi-user.target runlevel4.target
  7. network-online.target runlevel5.target
  8. network-pre.target runlevel6.target
  9. network.target shutdown.target
  10. default.target nfs-client.target
  11. sigpwr.target emergency.target
  12. ...

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

  1. [root@192 ~]# systemctl get-default
  2. graphical.target // 默认进入图形,要改为multi-user.target
  3. [root@192 ~]# systemctl set-default multi-user.target
  4. [root@192 ~]# reboot // 重启系统

3.3.3 注意事项

3.4 做迭代

3.5 同复盘