且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

谢烟客---------Linux之CentOS 7 systemd

更新时间:2022-09-16 11:17:28


系统启动流程

POST --> bootloader  --> MBR工作 --> kernel(initramfs/initrd) --> ro rootfs --> init


init

用户空间的一切与管理相关的事务由Init程序完成,特权操作发起syscall由内核完成


init分类

谢烟客---------Linux之CentOS 7 systemd


init新特性

* 系统引导时,并行启动进程,类似于upstart

按需激活进程: 节约内存,启动速度快

* 支持系统快照

* 基于依赖控制服务启动逻辑 


系统管理的核心概念: systemd unit

配置文件标识和配置:socketsnapshot服务程序、以及init相关的信息

配置文件

谢烟客---------Linux之CentOS 7 systemd


TYPE:

谢烟客---------Linux之CentOS 7 systemd


关键特性

基于socket激活机制:系统启动用不到的服务,由socketunit代为监听,在被访问时临时启动服务。

基于dbus激活机制:支持dbus进程间通信的程序,可以按需激活

基于device激活机制:在某个硬件设备激活或变得可用时的激活机制

基于path激活机制:某个文件路径变得可用或激活时,激活相关服务

基于快照激活机制:保存unit的当前状态信息于持久存储设备中

兼容SysV脚本:兼容有限,支持有限个运行级别


不兼容

* 没有脚本灵活,systemctl命令格式固定

非由systemd服务启动的服务,systemd服务不能控制

systemd级别切换时,只有将运行中的停止,停止中的启动。

1
2
3
4
    SysV脚本init切换运行级别时,例如3-->2
    将/etc/rc.d/rc.2/*下的所有服务程序
        K* stop
        S* start

* systemctl不会读取标准输入数据流

跟用户的PATH环境没有关系

unit均受5min超时时长,时间一过,将会退出



CentOS 7 systemd管理系统服务


基本管理

谢烟客---------Linux之CentOS 7 systemd

谢烟客---------Linux之CentOS 7 systemd


服务状态注解

谢烟客---------Linux之CentOS 7 systemd

谢烟客---------Linux之CentOS 7 systemd


查看服务启动或停止、依赖关系、查看运行级别

1
systemctl list-units --type TYPE [--all]

谢烟客---------Linux之CentOS 7 systemd

谢烟客---------Linux之CentOS 7 systemd


服务状态注解

谢烟客---------Linux之CentOS 7 systemd


查看开机是否自动启动

谢烟客---------Linux之CentOS 7 systemd


设定服务开机是否自启

谢烟客---------Linux之CentOS 7 systemd


运行级别管理

name.target

谢烟客---------Linux之CentOS 7 systemd


查看运行级别


级别管理

谢烟客---------Linux之CentOS 7 systemd

1
2
3
4
5
6
设定图形:
    删除/etc/systemd/system/default.target
    ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
设定字符:
    删除/etc/systemd/system/default.target
    ln -s /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target


其他命令

谢烟客---------Linux之CentOS 7 systemd

谢烟客---------Linux之CentOS 7 systemd


unit配置文件

1
2
3
4
5
6
7
8
9
[Unit]
Description=描述信息
After=定义依赖关系
[Service]
程序
执行的命令
启动
重载
停止










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1964833,如需转载请自行联系原作者