在RHEL/CentOS 6中,使用SysV init和Upstart,通过预定义一组Runlevels(从0到6)表示不同的执行模式。


  1. [root@myhost app]# ll /etc/rc.d/
  2. total 4
  3. drwxr-xr-x. 2 root root 148 May 28 05:40 init.d
  4. -rwxr-xr-x. 1 root root 503 May 27 11:29 rc.local
  5. drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc0.d
  6. drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc1.d
  7. drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc2.d
  8. drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc3.d
  9. drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc4.d
  10. drwxr-xr-x. 2 root root 84 Jan 16 08:07 rc5.d
  11. 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之间的对应关系如下:


  1. Traditional runlevel New target name Symbolically linked to target
  2. Runlevel 0 | runlevel0.target -> poweroff.target
  3. Runlevel 1 | runlevel1.target -> rescue.target
  4. Runlevel 2 | runlevel2.target -> multi-user.target
  5. Runlevel 3 | runlevel3.target -> multi-user.target
  6. Runlevel 4 | runlevel4.target -> multi-user.target
  7. Runlevel 5 | runlevel5.target -> graphical.target
  8. 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:


  1. [Unit]
  2. Description=Multi-User System
  3. Documentation=man:systemd.special(7)
  4. Requires=basic.target
  5. Conflicts=rescue.service rescue.target
  6. After=basic.target rescue.service rescue.target
  7. 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://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/system_administrators_guide/index#sect-Managing_Services_with_systemd-Targets

https://www.freedesktop.org/software/systemd/man/bootup.html#System%20Manager%20Bootup

https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units

[转帖]RHEL/CentOS 7的systemd target及其中的multi-user.target的更多相关文章

  1. Linux Systemd——在RHEL/CentOS 7中启动/停止/重启服务

    RHEL/CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Li ...

  2. CentOS 7 中 Systemd详解

    一.systemd的由来 Linux一直以来采用init进程但是init有两个缺点: 1.启动时间长.Init进程是串行启动,只有前一个进程启动完,才会启动下一个进程.(这也是CentOS5的主要特征 ...

  3. 三十、CentOS 7之systemd

    一.系统启动流程 POST --> bootloader  --> MBR工作 --> kernel(initramfs/initrd) --> ro rootfs --> ...

  4. (转)RHEL/CentOS 6.x使用EPEL6与remi的yum源安装MySQL 5.5.x

    PS:如果既想获得 RHEL 的高质量.高性能.高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages for En ...

  5. RHEL/CentOS 7最小化安装后需做的30件事情

    导读 CentOS是一个工业标准的Linux发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...

  6. RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)配置

    最新文章:Virson’s Blog CentOS默认自带CentOS-Base.repo源,但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版.Fedora自带的源中也找不到很多 ...

  7. 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 ...

  8. 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 ...

  9. 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 ...

  10. RHEL/CentOS 6.x 系统服务详解

    PS:RHEL/CentOS 6.x的系统服务比5.x系列的要多了很多新面孔,估计很多童鞋不甚理解,网上这方面资料也很少.理解这个对运维人员是必要的,因为开启不必要的服务越 多,系统就相对越不安全.不 ...

随机推荐

  1. 【K8S系列】如何高效查看 k8s日志

    序言 你只管努力,其他交给时间,时间会证明一切. 文章标记颜色说明: 黄色:重要标题 红色:用来标记结论 绿色:用来标记一级论点 蓝色:用来标记二级论点 Kubernetes (k8s) 是一个容器编 ...

  2. JavaScript异步编程2——结合XMLHttpRequest使用Promise

    目录 1. 概述 2. 详论 3. 参考 1. 概述 在上一篇文章<JavaScript异步编程1--Promise的初步使用>,简单介绍了一下Promise的初步使用.复习一下,Prom ...

  3. C++篇:第十一章_标准库_知识点大全

    C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器 十一.标准库 include头文件: ① 一般来说,导入objective c的 ...

  4. WSDM Cup 2020大赛金牌参赛方案全解析

    近日,在美国休斯敦闭幕的第13届网络搜索与数据挖掘国际会议(WSDM 2020)上,华为云语音语义创新Lab带领来自华南理工大学.华中科技大学.江南大学.武汉大学的四位学生组成的联合团队"X ...

  5. 华为云AI论文精读会2021第一期:高效语义分割模型Fast-SCNN分享

    2020年举办的华为云AI经典论文复现活动,不仅受到了参赛者们一致好评,也产出了许多优质的算法成果.这些论文复现的算法描述.源代码以及算法使用指导文档均已发布到了AI Gallery.为了让开发者更好 ...

  6. 万亿养老市场如何抢占商机?云巢智慧康养物联网加速器,三招化解ISV痛点!

    摘要:云巢智慧康养物联网加速器,围绕ISV的种种痛点,提供快速上云.资源共享.商业合作等多方面的支持,助力企业成长,共建智慧康养物联网生态. 本文分享自华为云社区<万亿养老市场如何抢占商机?云巢 ...

  7. html5鼠标拖动排序及resize实现方案分析及实践

    对列表进行拖动排序,尺寸改变.之前一般会使用jQuery-UI.其通过mousedown.mousemove.mouseup这三个事件来实现页面元素被鼠标拖拽的效果.vue-drag-resize v ...

  8. 企业需要知道的5个 IAM 最佳实践

    在之前的文章中,我们了解了在代码发布到 GitHub 之前如何管理用户权限.但你知道吗?人为错误竟然是迄今为止数据泄露的主要原因!根据统计,高达95%的数据泄露是由配置错误和不良网络环境引起的.黑客通 ...

  9. 火山引擎 DataTester 应用故事:一个 A/B 测试,将产品 DAU 提升了数十万

      更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 疫情让线下的需求大量转移到线上,催生出了远程办公.网络授课.线上健身等新的生态现象.如何更好地为用户服务,提升 ...

  10. Filebeat的安装和使用(Windows)

    Filebeat是什么 1.Filebeat是什么?Filebeat是用于转发和集中日志数据的轻量级传送工具. Filebeat监视用户指定的日志文件或位置,收集日志事件,并将日志数据转发到Elast ...