1.系统服务控制
在CentOS7.0系统中,各种系统服务的控制脚本默认放在/usr/lib/systemd目录下。通过systemctl命令工具可以实现对指定系统服务的控制,语法格式如下:
systemctl 控制类型 服务名称 |
对于大多数系统服务来说,常见的几种控制类型如下所述。
- start (启动):启用指定的系统服务程序
- stop (停止):终止指定的系统服务程序
- restart (重启):先关闭服务,再启动指定的系统服务程序
- reload (重载):不关闭服务,只是刷新配置
- status (查看状态):查看指定的系统服务的运行状态
例子:停止postfix服务,并查看当前状态,如下:
2.切换运行级别
早期Linux操作系统中的SysVinit机制,默认包括七种不同的服务搭配方式,其中每一种搭配方式称为运行级别,类似于Windows系统中的正常启动、安全模式、不带网络连接的安全模式等。这些运行级别分别使用数字0,1,…,6来表示。为了向下兼容SysVinit系统,Systemd使用了相应的target(目标)模拟了SysVinit的运行级别,下表列出了运行级别所对应的target及作用
SysVinit的运行级别 | Systemd目标名称
| 作用 |
0 | runlevel0.target, poweroff.target | 关机 |
1 | runlevel1.target, rescue.target | 单用户模式 |
2 | runlevel2.target, multi-user.target | 等同于级别3 |
3 | runlevel3.target, multi-user.target | 多用户的文本界面 |
4 | runlevel4.target, multi-user.target | 等同于级别3 |
5 | runlevel5.target, graphical.target | 多用户的图形界面 |
6 | runlevel6.target, reboot.target | 重启 |
emergency | emergency.target | 紧急Shell |
(1)查看系统的target
查看当前系统的运行级别,可使用runlevel命令和systemctl get-default命令,如下:
(2)切换系统的target
例如,图形化模式(5)和字符模式(3)之间的切换可执行“init 3”,“init 5”或“systemctl isolate multi-user target”,“systemctl isolate graphical.target”
使用“init 3”或“systemctl isolate multi-user target”
使用“init 5”或“systemctl isolate graphical.target”
使用“init 0”关闭当前系统,“init 6”重启当前系统
使用“systemctl poweroff”关闭当前系统,“systemctl reboot”重启当前系统
设置默认运行级别,如将字符模式设置为默认的运行级别的操作如下:
说明:修改完后,在下次启动系统的时候会默认进入字符模式
3.优化启动过程
优化开机自动加载的服务
(1)使用ntsysv工具
说明:单独执行“ntsysv”命令时仅用于管理当前运行目标中的服务;通过“--level”选项可以对指定运行的目标(级别)中的服务进行管理,例如“ntsysv –level 35”,指同时对运行目标3、5中的系统服务的默认启动状态进行调整。
(2)使用systemctl工具
常用选项:
enable: 开机自启动
disable:开机自动关闭
is-enable:查看开机启动状态
例如:
查看当前系统中已激活的系统服务,可使用“systemctl list-units –type=service”命令