文章目录

  • systemd介绍
  • 第一步 启动 Target 确认级别
  • 第二步 启动服务
    • 配置文件的区块
    • systemd与[init进程](https://blog.csdn.net/weixin_43564241/article/details/122690735?spm=1001.2014.3001.5502)的主要差别
  • 基本命令使用
  • systemd相关目录归类

systemd介绍

systemd是Liunx的启动守护进程,已被大多数Liunx发行版所采用。相较于之前被采用的init进程串行启动,systemd进程采用并行启动且为系统启动管理提供了成套的方案。
Systemd 可以管理所有系统资源。不同的资源统称为 Unit(单位)。

第一步 启动 Target 确认级别

内核加载之后,启动计算机的时候,需要启动大量的 Unit。Target 就是一个 Unit 组,包含许多相关的 Unit 。启动某个 Target 的时候,Systemd 就会启动里面所有的 Unit。
传统的init启动模式里面,有 RunLevel 的概念,跟 Target 的作用很类似。不同的是,RunLevel 是互斥的,不可能多个 RunLevel 同时启动,但是多个 Target 可以同时启动。

第二步 启动服务

每一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit 。
Systemd 默认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/lib/systemd/system/,真正的配置文件存放在那个目录。
systemctl enable命令用于在上面两个目录之间,建立符号链接关系。
如果配置文件里面设置了开机启动,systemctl enable命令相当于激活开机启动。
与之对应的,systemctl disable命令用于在两个目录之间,撤销符号链接关系,相当于撤销开机启动。

配置文件的区块

[Unit]区块通常是配置文件的第一个区块,用来定义 Unit 的元数据,以及配置与其他 Unit 的关系。
[Install]通常是配置文件的最后一个区块,用来定义如何启动,以及是否开机启动。
[Service]区块用来 Service 的配置,只有 Service 类型的 Unit 才有这个区块。

参考基础知识:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

systemd与init进程的主要差别

(1)默认的 RunLevel(在/etc/inittab文件设置)现在被默认的 Target 取代,位置是/etc/systemd/system/default.target,通常符号链接到graphical.target(图形界面)或者multi-user.target(多用户命令行)。
(2)启动脚本的位置,以前是/etc/init.d目录,符号链接到不同的 RunLevel 目录 (比如/etc/rc3.d、/etc/rc5.d等),现在则存放在/lib/systemd/system和/etc/systemd/system目录。
(3)配置文件的位置,以前init进程的配置文件是/etc/inittab,各种服务的配置文件存放在/etc/sysconfig目录。现在的配置文件主要存放在/lib/systemd目录,在/etc/systemd目录里面的修改可以覆盖原始设置。

基本命令使用

# 查看systemd版本
systemctl --version# 开启服务
systemctl enable xxx.service# 关闭服务
systemctl disable xxx.service# 设置启动时的默认 Target
sudo systemctl set-default multi-user.target# 查看某个 Unit 的日志
sudo journalctl -u nginx.service# 查看启动耗时
systemd-analyze#查看每个服务的启动耗时
systemd-analyze blame# 列出启动矢量图,可用浏览器查看
systemd-analyze plot>boot.svg# 列出一个 Unit 的所有依赖
systemctl list-dependencies nginx.service

systemd相关目录归类

# 判断运行级别
/etc/systemd/system/default.target# systemd 读取配置文件
/etc/systemd/system/# 启动脚本的位置
/lib/systemd/system/# 修改可以覆盖原始配置文件设置
/etc/systemd# 配置文件主要存放
/lib/systemd# 各种服务的配置文件
/etc/sysconfig

[ Linux ] systemd启动文件系统流程|CSDN创作打卡相关推荐

  1. [ Linux ] PCF8563数据手册解析 |CSDN创作打卡

    文章目录 PCF8563简介 硬件引脚说明 内部框图 寄存器解析 PCF8563简介 PCF8563是一款为低功耗而优化的CMOS1实时时钟(RTC)和日历.还提供了可编程时钟输出.中断输出和低电压检 ...

  2. Linux systemd启动流程

    以Ubuntu 18.04.2 LTS为例,列出Systemd启动target中涉及单元(Unit). default.target (= graphical.target by default) g ...

  3. 【Linux】Linux Systemd 启动守护进程

    1.概述 转载:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html 去看原文吧,排版比较好,这里转载防丢失 Sy ...

  4. linux内核启动文件系统,Linux启动过程中文件系统的加载

    前言:我觉得我的文章相对来说都是比较浅显的.一些初学者可以看看,这也是我不在嵌入式那个版上发文的原因.对于高手来说,如果你们不吝啬时间的话,希望也能帮我看看,指点一下其中的错误.这也是我到这里来和大家 ...

  5. [Linux RK Debian 10] chrome浏览器开启GPU硬件加速|CSDN创作打卡

    platform:RK OS:Linux Kernel: 4.4.143 filesystem:debian10 文章目录 简易查看GPU硬件加速 开启GPU硬件加速 (1) 启动桌面的浏览器加速配置 ...

  6. Linux: systemd 启动代码分析

    文章目录 参考 查看有哪些失败的服务 编译选项 操作实例 在/etc/systemd/system 目录下新建service 文件 概念 unit list 服务单元 度量单位 如果systemd 带 ...

  7. 使用VS code 连接远程linux服务器 —— VSCODE clangd插件 |CSDN创作打卡

    文章目录 连接远程linux服务器 安装OpenSSH 确认VScode SSH是否打开 SSH设置 连接服务器 关闭远程连接 VSCODE clangd插件 在远程服务器安装bear Add Ite ...

  8. [ Linux RK ] 更改网卡名字|CSDN创作打卡

    文章目录 背景 解析设置网卡设备默认名字eth0/eth1的过程 更改网卡名字 整体打印log解析 实现效果图 背景 ifconfig查看网口信息时,都有网口eth0.eth1.这个两个网口的名字驱动 ...

  9. 华为HCIA鲲鹏云学习Linux指令|CSDN创作打卡

最新文章

  1. 网站页面设计基本尺寸
  2. Java堆空间,本机堆和内存问题
  3. 精选15个国外CSS框架
  4. 架构师都应该知道的康威定律
  5. e服务器系统可以用PE来装吗,U盘安装系统有哪些方式可以启动WinPE
  6. Windows Server 2008 R2 下载地址
  7. 安全测试——SQL注入
  8. 腾讯cdn设置 php,教你利用腾讯云 cdn 加速网站静态资源
  9. 推荐几个好用的临时邮箱生成工具网站
  10. go、JS AES(CBC模式)加密解密兼容
  11. 大话中国骨干网(下)
  12. ico图标和制作网站(比特虫)
  13. 一个团队的良好气氛应该怎么营造
  14. 智能家居灯光控制系统
  15. transmac装黑苹果_黑苹果Mac系统盘制作工具TransMac V12.2——墨涩网
  16. 在simulink中搭建了两电平PWM整流器,采用电压电流双闭环控制,采用基于双二阶广义积分器的锁相环锁电网相位
  17. ADB 命令结合 monkey 的简单使用,超详细
  18. 车辆轨迹回放中如何实现轨迹信息表格的自动滚动?
  19. Can‘t resolve ‘@delon/chart/chart‘
  20. android RecyclerView列表自动播放实现

热门文章

  1. 还记得面试时被算法支配的恐惧吗?
  2. node内存溢出解决方案
  3. 高中计算机社团组建总结,高中社团总结
  4. 为什么不能使用网上下载的破解盗版在线客服系统源码
  5. 计算机考研820什么意思,电子科技大学
  6. VScode使用教程大全,看完你一定会谢谢我的
  7. 2020年是不平凡的一年
  8. 时序预测 | MATLAB实现SARIMA时间序列预测
  9. PyQuery 详解
  10. 2013腾讯编程马拉松初赛第〇场(3月20日)(HDU 4500 4501 4502 4503 4504)