[转帖]RHEL/CentOS 7的systemd target及其中的multi-user.target
在RHEL/CentOS 6中,使用SysV init和Upstart,通过预定义一组Runlevels(从0到6)表示不同的执行模式。
-
[root@myhost app]# ll /etc/rc.d/
-
total 4
-
drwxr-xr-x. 2 root root 148 May 28 05:40 init.d
-
-rwxr-xr-x. 1 root root 503 May 27 11:29 rc.local
-
drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc0.d
-
drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc1.d
-
drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc2.d
-
drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc3.d
-
drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc4.d
-
drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc5.d
-
drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc6.d
对于选定的一个Runlevel,执行该Runlevel关联的所有服务,对应/etc/rc.d/init.d/目录下的初始文件,从而定制Linux系统的启动过程。管理员可以通过service命令或chkconfig命令工具进行操作。
事实上,RHEL/CentOS 6中的Runlevels表示的是系统的一组状态。在RHEL/CentOS 7中,Runlevels的概念已经被systemd target替代,而/etc/rc.d/init.d/目录下的初始文件也已经被service units所替代。
systemd target是一种systemd unit,用以描述系统的一个状态或一个同步点(快照)。一个systemd target拥有一个以.target为后缀的unit配置文件,位于/usr/lib/systemd/system/路径下。一个systemd target往往只是一组相关的systemd units的集合,用以将Linux系统设置为某个状态,类似于CentOS 6的Runlevel。CentOS 6的Runlevels与CentOS 7的targets之间的对应关系如下:
-
Traditional runlevel New target name Symbolically linked to target
-
-
Runlevel 0 | runlevel0.target -> poweroff.target
-
Runlevel 1 | runlevel1.target -> rescue.target
-
Runlevel 2 | runlevel2.target -> multi-user.target
-
Runlevel 3 | runlevel3.target -> multi-user.target
-
Runlevel 4 | runlevel4.target -> multi-user.target
-
Runlevel 5 | runlevel5.target -> graphical.target
-
Runlevel 6 | runlevel6.target -> reboot.target
1. multi-user.target
systemd有一个默认target,即multi-user.target,Linux系统启动后即处于该默认target的状态。
Linux系统启动时,各个target之间的依赖关系如下图所示:

查看multi-user.target的unit配置文件,执行命令systemctl cat multi-user.target:
-
[Unit]
-
Description=Multi-User System
-
Documentation=man:systemd.special(7)
-
Requires=basic.target
-
Conflicts=rescue.service rescue.target
-
After=basic.target rescue.service rescue.target
-
AllowIsolate=yes
说明:其中Requires给出的basic.target是另一个target,Requires表示multi-user.target依赖于basic.target。
Conflicts给出的rescure.service rescue.target,表示multi-user.target与他们互斥,不能同时处于multi-user状态和rescue状态。
After表示multi-user.target在basic.target rescue.service rescue.target之后启动,如果有他们的话。显然,如果启动了 rescue.service rescue.target则表示进入rescue状态,则必然无法启动multi-user.target,从而就不可能进入multi-user状态了。
2. 常见的target相关的systemctl 操作
查看systemd的默认target:
systemctl get-default
查看systemd的所有可用targets:
systemctl list-unit-files --type=target
查看systemd的所有启动targets:
systemctl list-units --type=target
设置systemd的默认target:
systemctl set-default graphical.target
参考链接:
https://www.freedesktop.org/software/systemd/man/bootup.html#System%20Manager%20Bootup
[转帖]RHEL/CentOS 7的systemd target及其中的multi-user.target的更多相关文章
- Linux Systemd——在RHEL/CentOS 7中启动/停止/重启服务
RHEL/CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Li ...
- CentOS 7 中 Systemd详解
一.systemd的由来 Linux一直以来采用init进程但是init有两个缺点: 1.启动时间长.Init进程是串行启动,只有前一个进程启动完,才会启动下一个进程.(这也是CentOS5的主要特征 ...
- 三十、CentOS 7之systemd
一.系统启动流程 POST --> bootloader --> MBR工作 --> kernel(initramfs/initrd) --> ro rootfs --> ...
- (转)RHEL/CentOS 6.x使用EPEL6与remi的yum源安装MySQL 5.5.x
PS:如果既想获得 RHEL 的高质量.高性能.高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages for En ...
- RHEL/CentOS 7最小化安装后需做的30件事情
导读 CentOS是一个工业标准的Linux发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...
- RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)配置
最新文章:Virson’s Blog CentOS默认自带CentOS-Base.repo源,但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版.Fedora自带的源中也找不到很多 ...
- How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7
How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7 The problem Google developers s ...
- Enable EPEL Repository for RHEL/CentOS 7.x/6.x/5.x
This howto guide shows you’ll how to enable EPEL repository under RHEL/CentOS 6/5 to install additio ...
- Google Chrome 55 Released – Install on RHEL/CentOS 7/6 and Fedora 25-20
Google Chrome is a freeware web browser developed by Google Inc. Google Chrome team proudly announce ...
- RHEL/CentOS 6.x 系统服务详解
PS:RHEL/CentOS 6.x的系统服务比5.x系列的要多了很多新面孔,估计很多童鞋不甚理解,网上这方面资料也很少.理解这个对运维人员是必要的,因为开启不必要的服务越 多,系统就相对越不安全.不 ...
随机推荐
- #11独立开发周总结|核心OKR1000元/月已达标
核心OKR:1000元/月达成情况 算上微信上收费了200多元,核心OKR已达标 12.25-12.29本周完成事项 产品方面 本周产品上主要是在进行重构的测试,顺利上线,线上问题也比较少 运营方面 ...
- 国内AI大模型 VS chatgpt (20)-- H265/H264有何不同,h265有什么优势?
H265/H264有何不同,h265有什么优势? 文心一言: H.264和H.265是两种不同的视频编码标准,它们在压缩质量和带宽需求方面有所不同. H.264是一种高效的视频压缩标准,它的编码单位是 ...
- CUDA C编程权威指南:1.1-CUDA基础知识点梳理
主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的. 1.CUDA 解析:2007年,NV ...
- .NET技术分享日活动-202202
2022年02月19日下午,个人组织举办了山东地区的第四次.NET技术分享日活动.主要包含.NET常用技术.低代码.大前端.大数据和工作流等五个技术领域. 本次技术分享日活动面向了山东地区广大的.NE ...
- 物联网常见协议之Amqp协议及使用场景解析
摘要:本文围绕AMQP协议,为大家详细解析AMQP协议.核心技术亮点.多协议之间的对比以及使用实践. 本文分享自华为云社区<物联网常见协议之Amqp协议及使用场景解析>,作者:张俭. 引言 ...
- MySQL 是如何实现RC事务隔离级别的
摘要:Read Committed,事务运行期间,只要别的事务修改数据并提交,即可读到人家修改的数据,所以会有不可重复读.幻读问题. 本文分享自华为云社区<MySQL RC事务隔离级别的实现&g ...
- iOS IPA包的制作和上传步骤详解
目录 前言 一.IPA包的原理 二.IPA包上传的步骤 1.注册开发者账号 2.创建应用程序 3.编码和设计 4.生成证书和配置文件 5.打包IPA包 6.上传IPA包 三.总结 前言 iOS IPA ...
- 【Java爬虫】如何通过 API 递归分页爬取网页数据
前言 在最近的互联网项目开发中,需要获取用户的访问ip信息进行统计的需求,用户的访问方式可能会从微信内置浏览器.Windows浏览器等方式对产品进行访问. 当然,获取这些关于ip的信息是合法的.但是, ...
- .NET 6 整合 Autofac 依赖注入容器
前言 一行业务代码还没写,框架代码一大堆,不利于学习. 常看到java的学习资料或博客,标题一般为<SpringBoot 整合 XXX>,所以仿照着写了<.NET 6 整合 Auto ...
- GDP折线图
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset=" ...