美文网首页
systemd学习笔记

systemd学习笔记

作者: mxjsxz | 来源:发表于2018-07-15 09:09 被阅读0次

一、简介

  1. Linux启动流程基本相同,关键的不同点在于初始化进程,如下:

SysV: init, CentOS 5之前, 配置文件: /etc/inittab。
Upstart: init,CentOS 6, 配置文件: /etc/inittab, /etc/init/*.conf。
Systemd: systemd, CentOS 7,配置文件: /usr/lib/systemd/system、 /etc/systemd/system。

  1. systemd介绍
    • 系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程
    • 新特性
      • 系统引导时实现服务并行启动
      • 按需启动守护进程
      • 自动化的服务依赖关系管理
      • 同时采用socket式与D-Bus总线式激活服务
      • 系统状态快照

二、BIOS->Boot Loader->内核->初始化进程(systemd)

  1. systemd:系统守护进程(第一个进程pid=1);配置文件单元Unit;管理命令systemctl等

  2. Unit

    • 类型:Service、Target、Device等
    • 配置文件位置:/etc/systemd/system/;/usr/lib/systemd/system/;/etc/systemd/system/default.target(systemd默认Target)
    • 格式
    [Unit]
      Description #简短描述
      Documentation #文档地址
      Requires #当前 Unit 依赖的其他 Unit,如果它们没有运行,当前 Unit 会启动失败
      Wants #与当前 Unit 配合的其他 Unit,如果它们没有运行,当前 Unit 不会启动失败
      After #如果该字段指定的 Unit 也要启动,那么必须在当前 Unit 之前启动
      Conflicts #这里指定的 Unit 不能与当前 Unit 同时运行
    [Service]
      Type #定义启动时的进程行为
      EnvironmentFile #环境配置文件
      ExecStart #指明启动unit要运行命令或脚本的绝对路径
      ExecStartPre #ExecStart前运行
      ExecStartPost #ExecStart后运行
      ExecStop #指明停止unit要运行的命令或脚本
    [Install]
      Alias #当前 Unit 可用于启动的别名
      Also #当前 Unit systemctl enable时,会被同时激活的其他 Unit
      WantedBy #它的值是一个或多个 Target,当前 Unit 激活时(enable)符号链接会放入/etc/systemd/system目录下面以 Target 名 + .wants后缀构成的子目录中,这样就能实现开机自启
      RequiredBy #它的值是一个或多个 Target,当前 Unit 激活时,符号链接会放入/etc/systemd/system目录下面以 Target 名 + .required后缀构成的子目录中
    
  3. 管理命令

    功能 CentOS6 CentOS7
    启动 service name start systemctl start name.service
    停止 service name stop systemctl stop name.service
    重启 service name restart systemctl restart name.service
    查看某服务当前激活与否的状态 - systemctl is-active name.service
    查看所有已经激活的服务 - systemctl list-units --type service
    查看所有服务 - systemctl list-units --type service --all
    设定某服务开机自启 chkconfig name on systemctl enable name.service
    设定某服务开机禁止启动 chkconfig name off systemctl disable name.service
    查看所有服务的开机自启状态 chkconfig --list systemctl list-unit-files --type service
    查看服务是否开机自启 - systemctl is-enabled name.service
    启用 - systemctl mask name.service
    禁用 - systemctl unmask name.service

三、BIOS->Boot Loader->内核->初始化进程(init)

  1. 运行级别:0关机、1单用户模式(系统管理员维护使用)、2无网络支持的多用户模式、3有网络支持的多用户模式、4保留未使用、5有网络支持有X-Window支持的多用户模式、6重启
  2. /etc/rc.d/rc[0-6].d:开机启动根据Linux运行级别执行对应目录下的脚本连接(连接到/etc/rc.d/init.d)
  3. /etc/rc.d/rc.local:/etc/rc.d/rc[0-6].d执行完再执行此文件
  4. /etc/rc.d/init.d:开机启动脚本文件

参考网址:
https://www.cnblogs.com/duzhaoqi/p/7582404.html
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

相关文章

  • systemd学习笔记

    systemctl 重启 systemctl reboot 关闭 systemctl poweroff CPU停止...

  • systemd学习笔记

    一、简介 Linux启动流程基本相同,关键的不同点在于初始化进程,如下: SysV: init, CentOS 5...

  • systemd学习笔记

    参考文档 http://www.ruanyifeng.com/blog/2016/03/systemd-tutor...

  • systemd 学习

    概念 systemd 是用替代sysV,用来替代init系统。 用法

  • Systemd 学习

    转:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial...

  • Centos7 systemd

    Centos7 systemd 基础学习 系统开机启动流程: init: systemd新特性: 核心概念: un...

  • Systemd的使用指南

    本文主要是学习笔记的第二篇,介绍的是systemd的systemctl和编写配置单元的语法格式。 供自己日后复习而...

  • systemd 之笔记

    在这之前 ,对与linux 的系统中的很多管理已经有意无意的用到了systemd,但是没有系统的学习.昨天花了一点...

  • 20170905 管理systemd(一)

    systemd基本概念systemd管理服务systemd管理运行级别systemd其他命令 一、systemd基...

  • systemd 学习小计

    systemd 中得命令必须使用绝对路径参考:http://www.jinbuguo.com/systemd/sy...

网友评论

      本文标题:systemd学习笔记

      本文链接:https://www.haomeiwen.com/subject/unnupftx.html