# 重点回顾

  • 早期的服务管理使用 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.targetgraphical.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 的时间管理功能
  • 一些不需要的服务可以关闭