在CentOS 7系统中,target是一个核心概念,它代表了系统启动过程中的不同运行级别或状态,与传统的SysV init系统不同,CentOS 7采用了systemd作为默认的初始化系统,而target则是systemd中用于组织和管理服务、设备以及挂载点等资源的一种机制,通过理解和使用target,管理员可以更灵活地控制系统的启动流程和服务管理。

target的基本概念
在systemd中,target类似于传统init系统中的运行级别(runlevel),但功能更为强大和灵活,每个target都定义了一组系统状态,例如多用户模式、图形界面模式、救援模式等,与运行级别不同,target可以同时包含多个服务,并且支持并行启动,从而提高了系统启动效率,CentOS 7中的target通常以.target例如multi-user.target对应传统的多用户命令行模式,graphical.target则对应图形界面模式。
target与运行级别的对应关系
为了保持与旧系统的兼容性,CentOS 7提供了运行级别到target的映射关系。
- 运行级别0对应
poweroff.target(关机) - 运行级别1对应
rescue.target(救援模式) - 运行级别3对应
multi-user.target(多用户命令行模式) - 运行级别5对应
graphical.target(图形界面模式) - 运行级别6对应
reboot.target(重启)
管理员可以通过systemctl get-default命令查看当前系统的默认target,使用systemctl set-default命令可以修改默认target。
常见的target类型
CentOS 7提供了多种target,每种target都有特定的用途:

- default.target:系统的默认target,通常指向
multi-user.target或graphical.target。 - rescue.target:救援模式,用于系统故障时的排查和修复,仅启动最基本的服务。
- multi-user.target:多用户模式,支持多个用户通过命令行登录,适用于服务器环境。
- graphical.target:图形模式,在多用户模式的基础上启动图形界面服务。
- poweroff.target和reboot.target:分别用于关机和重启系统。
- network.target:确保网络服务已启动,许多依赖网络的服务会等待此target完成。
如何管理target
管理员可以通过systemctl命令管理target。
- 查看所有target:
systemctl list-unit-files --type=target - 切换到指定target:
systemctl isolate multi-user.target - 查看当前target:
systemctl get-default - 设置默认target:
systemctl set-default graphical.target
还可以通过分析target的依赖关系来优化系统启动,使用systemctl list-dependencies multi-user.target查看该target依赖的服务和target。
target的实际应用场景
- 服务器优化:对于不需要图形界面的服务器,可以将默认target设置为
multi-user.target,以减少资源占用和启动时间。 - 故障排查:在系统出现问题时,可以切换到
rescue.target,以最小化的服务运行状态进行诊断。 - 定制化启动:通过创建自定义target并配置依赖服务,可以实现特定的启动流程,例如测试环境或专用应用场景。
target的优势
相比传统的运行级别,target具有以下优势:
- 并行启动:systemd可以并行启动不冲突的服务,提高启动速度。
- 依赖管理:明确的服务依赖关系,避免因顺序问题导致的服务失败。
- 动态管理:支持在不重启系统的情况下切换target,灵活性更高。
target是CentOS 7中systemd的核心组件,它通过定义系统状态和服务依赖,实现了更高效和灵活的系统管理,理解并熟练使用target,对于系统管理员来说至关重要,无论是日常运维还是故障排查,都能提供极大的便利。

FAQs
Q1:如何查看当前系统的默认target?
A1:可以使用命令systemctl get-default查看当前系统的默认target,输出multi-user.target表示默认启动多用户命令行模式。
Q2:如何临时切换到救援模式?
A2:可以使用命令systemctl isolate rescue.target临时切换到救援模式,此模式仅启动基本服务,适用于系统故障时的排查和修复,切换后,可以通过重启系统恢复到默认target。