重点回顾
- 早期的服务管理使用 systemV 机制,通过
/etc/init.d/*
、service、chkconfig、setup 等指令来管理服务的启动、关于、开机启动 - 从 CentOS 7.x 开始,采用 systemd 的机制,此机制最大功能为并行处理,并使用单一指令 systemctl 管理,开机速度加快
- systemd 将各服务定义为 unit,细分为 service、socket、target、path、timer 等不同的类型,方便管理与维护
- 启动、关闭、重新启动的方式为:
systemctl [start|top|restart] unit.service
- 设置开启启动/取消开机启动的方式为:
systemctl [enable|disable] unit.service
- 查询系统所有启动的服务用
systemctl list-units --type=service
查询所有服务(包含不启动)使用 systemctl list-units-files --type=service
- systemd 取消了以前的 runlevel 概念(虽然还有有兼容的 target),转而使用不同的 target 操作环境。常见操作环境为
multi-user.target
与 graphical.target
。
- 不重新启动切换操作环境使用
systemctl isolate unit.target
。 - 设置默认操作环境使用
systemctl set-default unit.target
- systemctl 系统默认的配置文件主要在
/usr/lib/systemd/system
,需要修改或添加自行设计时,则建议放在 /etc/systemd/system
目录下 - 管理员应使用
man systemd.unit、man systemd.service、man systemd.timer
查询 /etc/systemd/system/
下配置文件的语法,并使用 systemctl daemon-reload
让配置文件生效 - 除了 atd 与 crond 之外,还可以通过 systemd.timer (timers.target)的功能,来使用 systemd 的时间管理功能
- 一些不需要的服务可以关闭