Linux基础知识 ·

systemd之sysinit.target与basic.target

[隐藏]

sysinit.target初始化系统

使用『 systemctl list-dependencies sysinit.target 』可以查看到很多相依的服务!

这些服务你如果去一个一个程序查看设定的脚本內容, 就能够大致理解每个服务的意义。基本上,我们可以將這些服服务分类成几个大类:

  • 特殊文件系统设备的挂载:包括 dev-hugepages.mount dev-mqueue.mount 等挂载服务,主要在挂载跟大量存储设备分页使用与数据佇列的功能。 挂载成功后,会在 /dev 底下建立 /dev/hugepages/, /dev/mqueue/ 等目录;
  • 特殊文件系统的启用:包括磁盘整列、网络磁盘 (iscsi)、LVM 文件系统、文件系统对照服务 (multipath) 等等,也会在这里被侦测与使用!
  • 开机过程的信息传输与动作执行:使用 plymouthd 服务搭配 plymouth 指令来传输信息。
  • 日志式登录文件的使用:就是 systemd-journald 这个服务的启用!
  • 载入额外的内核模块:通过 /etc/modules-load.d/*.conf 文件的设定,让内核额外载入所需要的内核模块!
  • 载入额外的内核参数设定:包括 /etc/sysctl.conf 以及 /etc/sysctl.d/*.conf 内的设定!
  • 启动系统的随机数产生器:随机数产生器可以帮助系统进行一些密码加密演算的功能等。
  • 设定终端机 (console) 字形
  • 启动动态设备管理:就是 udevd !用在动态的对应实际设备存取与设备名对应的一個服务!

不论你使用哪种操作环境来使用系统,这个 sysinit.target 几乎都是必要的工作!从上面你也可以看的出來,基本的核心功能、文件系統、存储设备的启动等等, 都在这个时刻完成处理~所以,这个 sysinit.target 的阶段是挺重要的!

basic.target 准备系统

执行完 sysinit.target 之后,后面就是 basic.target 这个项目了。

sysinit.target 在初始化系统,而这个 basic.target 的阶段主要启动的服务大概有這些:

  • 载入 alsa 声卡驱动程序:这个 alsa 是个声卡项的驱动程序。
  • 载入 firewalld 防火牆:CentOS 7.x 以后使用 firewalld 取代 iptables 的防火墙设定,虽然最终都是使用 iptables 的较高, 不过在设定上面差很多!
  • 载入 CPU 的微指令功能;
  • 启动与设定 SELinux 的安全上下文:如果由 disable 的状态改成 enable 的状态,或者是管理员设定强制重新设定一次 SELinux 的安全上下文, 也在这个阶段处理!
  • 将目前的开机过程所产生的相关信息写入到 /var/log/dmesg 当中
  • 由 /etc/sysconfig/modules/*.modules 及 /etc/rc.modules 在入管理员指定的模块!
  • 载入 systemd 支持的 timer 功能;

在这个阶段完成之后,系统已经可以顺利的运行了!就差一堆你需要的登入服务、网络服务、本机认证服务等等的 service 类别了!于是就可以进入下个服务启动的阶段了!

参与评论