服务分类
系统服务
服务对象为 Linux 系统本身或系统用户
示例:监控磁盘阵列状态的
mdmonitor
服务
网络服务
提供给网络中其他客户端调用
示例:Web 服务、网络文件系统服务(NFS)
Systemd 服务管理程序
核心概念
地位:Linux 系统启动后首个进程(PID=1),所有进程的父进程
兼容性:替代传统
Sysvinit
,兼容主流 Linux 发行版管理工具:
systemctl
(融合service
和chkconfig
功能)服务目录:
/usr/lib/systemd/system
单元(Unit)机制
定义:通过配置文件封装的服务单元,名称与配置文件一致(如
httpd.service
)存储路径:
系统级:
/usr/lib/systemd/system
用户级:
/etc/systemd/system
类型:
service
(最常用,后台服务进程)socket
、device
、mount
、target
等
Systemd 与 Sysvinit 命令对比
系统服务启动控制
查看状态
所有单元:
systemctl list-unit-files
仅服务类型:
systemctl list-unit-files --type=service
示例输出:
bash
nfs-server.service enabled # 已启用 nfs-lock.service static # 静态(随依赖服务启动)
设置状态
启用 / 禁用服务:
bash
systemctl enable sshd.service # 开机自启 systemctl disable sshd.service # 禁止自启
Linux 系统运行级别(Systemd Target)
Target 替代传统运行级别
本质:逻辑分组的配置单元,用于统一控制服务组合
示例:
graphical.target
(图形化模式)包含multi-user.target
(多用户模式)的所有服务 + 图形界面服务
运行级别与 Target 对应表
操作命令
查看当前运行级别:
bash
runlevel # 输出示例:N 5(N表示未切换过,当前为级别5)
临时切换级别:
init [0-6]
(传统方式)systemctl isolate [target]
(Systemd 方式)bash
systemctl isolate multi-user.target # 切换到级别3 systemctl isolate graphical.target # 切换到级别5
设置默认运行级别:
bash
systemctl set-default multi-user.target # 默认级别3(非图形化) systemctl set-default graphical.target # 默认级别5(图形化)