20170905 管理systemd(一)

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

一、systemd基本概念

(一)systemd简要介绍

  • 定义
    系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程

  • 新特性

    • 系统引导时实现服务并行启动
    • 按需启动守护进程
    • 自动化的服务依赖关系管理
    • 同时采用socket式与D-Bus总线式激活服务
    • 系统状态快照
  • systemd核心概念unit
    unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息

  • 配置文件

    • /usr/lib/systemd/system:每个服务最主要的启动脚本设置,类似于之前的/etc/init.d/
    • /run/systemd/system:系统执行过程中所产生的服务脚本,比上面目录优先运行
    • /etc/systemd/system:管理员建立的执行脚本,类似于/etc/rc.d/rcN.d/Sxx类的功能,比上面目录优先运行

(二)systemd的unit类型

  • systemctl -t help:查看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,用于定义文件系统中的一个文件或目录使用,常用于当文件系统变化时,延迟激活服务,如:spool 目录

(三)systemd的特性

  • 关键特性

    • 基于socket的激活机制:socket与服务程序分离
    • 向后兼容sysvinit脚本
  • 不兼容:

    • systemctl命令固定不变,不可扩展
    • 非由systemd启动的服务,systemctl无法与之通信和控制

二、systemd管理服务

  • 语法:systemctl COMMAND name.service

(一)管理服务

  • 启动:systemctl start name.service,相当于CentOS6的service name start
  • 停止:systemctl stop name.service,相当于CentOS6的service name stop
  • 重启:systemctl restart name.service,相当于CentOS6的service name restart
  • 状态:systemctl status name.service,相当于CentOS6的service name status
  • 条件式重启:已启动才重启,否则不做操作
    systemctl try-restart name.service,相当于CentOS6的service name condrestart
    如下图:之前sshd服务未启动,使用条件式重启时发现服务未开启,未做任何操作,故查询状态仍旧是inactive
  • 重载或重启服务:先加载,再启动
    systemctl reload-or-restart name.service
  • 重载或条件式重启服务:
    systemctl reload-or-try-restart name.service
  • 禁止自动和手动启动:
    systemctl mask name.service
  • 取消禁止自动和手动启动:
    systemctl unmask name.service
    如图:可以看出mask和umask命令实际为建立/删除指向/dev/null的软链接
  • 实验:修改unit
    修改/usr/lib/systemd/system/sshd.service文件,将Description改为OpenSSH new server daemon,此时用systemctl status sshd.service查看服务状态,发现服务正常运行,但名称没有改变

根据状态信息的提示,执行systemctl daemon-reload,再查看状态发现名称改变了

当服务正在运行时,对服务的unit文件的改动必须进行重载才能更新

(二)查看服务

  • 查看某服务当前激活与否的状态:
    systemctl is-active name.service
  • 查看所有已经激活的服务:
    systemctl list-units --type|-t service
  • 查看所有服务:
    systemctl list-units --type|-t service --all|-a

(三)设置服务开机自启状态

  • 设定某服务开机自启:
    systemctl enable name.service,相当于CentOS6的chkconfig name on

  • 设定某服务开机禁止启动:
    systemctl disable name.service,相当于CentOS6的chkconfig name off

  • 查看所有服务的开机自启状态:
    systemctl list-unit-files --type|-t service,相当于CentOS6的chkconfig --list

  • 用来列出该服务在哪些运行级别下启用和禁用:
    ls /etc/systemd/system/*.wants/sshd.service,相当于CentOS6的chkconfig sshd --list

  • 实验:设置服务自启和禁止自启

    (1)ntpdate.service服务原先禁止自启[红框1]。
    (2)执行systemctl enabel ntpdate.service命令,设置ntpdate.service服务为自启,提示建立了软链接文件[红框2]。
    (3)此时删除软链接文件后,发现ntpdate.service服务仍旧为禁止自启状态[红框3]。
    (4)按照之前的提示信息,手动建立软链接文件
    ln -s /usr/lib/systemd/system/ntpdate.service /etc/systemd/system/multi-user.target.wants/ntpdate.service
    (5)再查询发现ntpdate.service服务的状态变为自启[红框4]。

    (6)执行systemctl disable ntpdate.service命令,提示删除了软链接文件。
    (7)使用ls命令查询提示信息路径,确实文件已经消失。
    (8)执行systemctl is-enabled ntpdate.service命令,确认当前ntpdate服务处于禁止自启状态。

    总结:将某个服务设为自启或者禁止自启,实际上就是在相应的文件夹建立软链接文件的过程,systemd通过查询软链接文件的存在与否判断启用/禁止自启的状态。

(四)其他命令

  • 查看服务是否开机自启:
    systemctl is-enabled name.service

  • 查看服务的依赖关系:
    systemctl list-dependencies name.service

  • 杀掉进程:
    systemctl kill unitname

(五)服务状态

  • 显示状态:systemctl list-unit-files --type service --all
    • loaded:unit配置文件已处理
    • active(running):一次或多次持续处理的运行
    • active(exited):成功完成一次性的配置
    • active(waiting):运行中,等待一个事件
    • inactive:不运行
    • enabled:开机启动
    • disabled:开机不启动
    • static:开机不启动,但可被另一个启用的服务激活

三、systemd管理运行级别

(一)target的基本概念

  • target:systemd的运行级别管理unit

  • 路径:/usr/lib/systemd/system/*.target

  • 显示状态:systemd list-unit-files --type target --all

  • systemd的运行级别与传统运行级别的对应关系

    • runlevel0.target, poweroff.target ==> 0
    • runlevel1.target, rescue.target ==> 1
    • runlevel2.target, multi-user.target ==> 2
    • runlevel3.target, multi-user.target ==> 3
    • runlevel4.target, multi-user.target ==> 4
    • runlevel5.target, graphical.target ==> 5
    • runlevel6.target, reboot.target ==> 6
  • 查看target的依赖关系:
    systemctl list-dependencies name.target

(二)级别切换

  • 级别切换:systemctl isolate name.target
    注:只有/lib/systemd/system/*.target文件中AllowIsolate=yes 才能切换(修改文件需执行systemctl daemon-reload才能生效)

  • 显示状态:systemctl list-unit-files --type target -all

  • 获取默认运行级别:
    systemctl get-default

  • 修改默认级别:
    systemctl set-default name.target

  • 实验:将默认级别由multi-user改为graphical

四、systemd其他命令

  • 切换至紧急救援模式:
    systemctl rescue

  • 切换至emergency模式:
    systemctl emergency

  • 其它常用命令:

    • 传统命令init,poweroff,halt,reboot都成为systemctl的软链接
    • 关机:systemctl halt、systemctl poweroff
    • 重启:systemctl reboot
    • 挂起:systemctl suspend
    • 休眠:systemctl hibernate
    • 休眠并挂起:systemctl hybrid-sleep
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容