马哥Linux学习笔记16-2CentOS 7之systemd

  • systemd

  • POST-Boot Sequence - Bootloader-kernel+initramfs(initrd)-rootfs-/sbin/init
    init:CentOS 5:SysV init
    CentOS 6:Upstart
    CentOS 7:Systemd

  • Systemd新特性:
    系统引导时实现服务并行启动;
    按需激活进程
    系统状态快照
    基于依赖关系定义服务控制逻辑

  • 核心概念:unit
    配置文件进行标识和配置:文件中主要包含了系统服务、监听socket、保存的系统快照以及其他与init相关的信息,保存至:/usr/lib/systemd/system
    /run/systemd/system
    etc/systemd/system

  • Unit的类型:
    Service unit:文件扩展名为.service,用于定义系统服务
    Target unit:文件扩展名为.target,用于模拟实现运行级别
    Device unit:.device,用于定义内核识别的设备
    Mount unit:.mount,定义文件系统挂载点
    Socket unit:.socket,用于标识进程间通信用的socket文件
    Snapshot unit:.snapshot,管理系统快照
    Swap unit:.swap,用于标识swap设备
    Automount unit:.automount,文件系统的自动挂载点
    Path unit:.path,用于定义文件系统中的一个文件或目录

  • 关键特性:
    基于socket的激活机制,socket与服务程序分离
    基于bus的激活机制
    基于device的激活机制
    基于path的激活机制
    系统快照:保存个unit的当前状态信息于持久存储设备中
    向后兼容sysv init脚本

  • 不兼容
    systemctl命令固定不变
    非由systemd启动的服务,systemctl无法与之通信

  • 管理系统服务
    CentOS 7:service unit
    注意:能兼容早期的服务脚本
    命令:systemctl COMMAND name.service
    启动:service name start-systemctl start name.service
    停止:service name stop-systemctl stop name.service
    重启:service name restart-systemctl restart name.service
    状态:service name status -systemctl status name.service
    条件式重启:service name condrestart-systemctl try-restart name.service
    重载或重启服务:systemctl reload-or-restart name.service
    重载或条件式重启服务:systemctl reload-or-try-restart name.service
    禁止设定为开机自启:systemctl mask name.service
    取消禁止设定为开机自启:systemctl mask name.service
    查看某服务当前激活与否的状态:systemctl is-active name.service
    查看所有已经激活的服务:systemctl list-units --type service
    查看所有服务:systemctl list-units --type service --all
    chkconfig命令的对应关系:
    设定某服务开机自启:chkconfig name on -systemctl enable name.service
    禁止:chkconfig name off-systemctl disable name.service
    查看所有服务的开机自启状态:
    chkconfig --list -systemctl list-unit-files --type service

  • target units:
    unit配置文件:.target
    运行级别:
    0 runlevel0.target,poweroff.target
    1 runlevel1.target,rescue.target
    2 runlevel2.target,multi-user.target
    3 runlevel3.target,multi-user.target
    4 runlevel4.target,multi-user.target
    5 runlevel5.target,graphical.target
    6 runlevel6.target,reboot.target
    级别切换:
    init N -systemctl isolate name.target
    查看级别:
    runllevel-ststemctl list-units --type target
    获取默认运行级别:
    /etc/inittab ==>ststemctl get-default
    修改默认级别:
    etc/inittab -systemctl set-default name.target
    切换至紧急救援模式:
    systemctl rescue
    切换至emergency模式:
    systemctl emergency

  • 其他常用命令:
    关机:systemctl halt,systemctl poweroff
    重启:systemctl reboot
    挂起:systemctl suspend
    快照:systemctl hibernate
    快照并挂起:systemctl hybrid-sleep

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值