system

Centos 7启动流程

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,用于定义文件系统中的一个文件或目录
  • systemd特性
关键特性
    基于socket的激活机制:socket与服务程序分离
    基于bus的激活机制
    基于device的激活机制
    基于path的激活机制
    系统快照:保存各unit的当前状态信息于持久存储设备中
    向后兼容sysv init脚本
不兼容
    systemctl命令固定不变
    非由systemed启动的服务,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-try-restart name.service
禁止设定为开机自启:systemctl mask name.service
取消禁止设定为开机自启:systemctl unmask name.service

查看某服务当前激活与否的状态:chkconfig --list name ==> 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
    查看服务是否开机自启:systemctl is-enabled name.service
其他命令:
    查看服务的依赖关系:systemctl list-dependencies name.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
查看级别:
    runlevel ==> systemctl list-units --type target
获取默认运行级别
    /etc/inittab ==> systemctl get-default 
修改默认级别
    /etc/inittab ==> systemctl set-default name.target
切换至紧急救援模式
    systemctl rescue
切换至emergency模式
    systemctl emergency

其他常用命令

关机:systemctl halt、systemctl poweroff
重启:systemctl reboot
挂机:systemctl suspend
快照:systemctl hiberate
快照并挂起:systemctl hybrid-sleep

你可能感兴趣的:(system)