linux中target和service等unit(/usr/lib/systemd/system/或/lib/systemd/system/)

这一节比较简单,学习了RHEL7里面的 Target 服务。

RHEL7里面,初始进程变成了systemd。RHEL6和之前的版本使用的初始进程是init,init是一个线性的启动过程,一个接一个的启动,比较慢;systemd则可以多进程启动,速度提高很多。另外,systemd还有简化了开发,集成日志等优点。

RHCE 学习笔记(28) Target Service

前面学习systemctl的时候,对service结尾的特定服务可以执行start,stop,restart等操作;另外还有一类后缀是以target的结尾,这些target 服务可以视作一批服务的集合,里面预定义了哪些服务运行,哪些不运行。这个概念非常类似RHEL6级之前的runlevel的概念。

查看 target 服务

RHCE 学习笔记(28) Target Service

RHEL6之前的版本,可以在/etc/rc.d里面查看7个运行级别,每个运行级别对应不同的功能,比如0是关机,1是单用户,2是多用户(没网络),3是多用户,4没用,5是图形界面,6是重启。 可以使用 init 0 直接关机等等。

RHCE 学习笔记(28) Target Service

RHEL7里面,target有类似等同的定义

RHCE 学习笔记(28) Target Service

runlevel和init等旧版的命令仍然兼容,比如查看当前的 target (runlevel),我也可以查看默认的target(runlevel)

RHCE 学习笔记(28) Target Service

类似的切换runlevel 可以用 init ,也可以用 systemctl isolate。

例如,切换到命令行界面

RHCE 学习笔记(28) Target Service

RHCE 学习笔记(28) Target Service

我如果输入 init 5 或者 startx, 又可以直接切换成图形界面。

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-02/113287.htm

1. 类型

systemd开启和监督整个系统是基于unit的概念。unit是由一个与配置文件名同名的名字和类型组成的(例如:avahi.service unit有一个具有相同名字的配置文件,它是守护进程avahi的一个封装单元)。unit有以下几种类型:

service:代表一个后台服务进程,比如 mysqld。这是最常用的一类。

socket:此类配置单元封装系统和互联网中的一个套接字。当下,systemd支持流式,数据报和连续包的 AF_INET,AF_INET6,AF_UNIX socket。每个套接字配置单元都有一个相应的服务配置单元,相应的服务在第一个“连接”进入套接字时就会启动(例如:nscd.socket在有新连接后便启动nscd.service)。

device:此类配置单元封装一个存在于Linux设备树中的设备。每个使用udev规则标记的设备都将会在systemd中作为一个设备配置单元出现。
mount:此类配置单元封装文件系统结构层次中的一个挂载点。systemd将对这个挂载点进行监控和管理。比如,可以在启动时自动将其挂载,可以在某些条件下自动卸载。systemd会将/etc/fstab中的条目都转换为挂载点,并在开机时处理。
automount:此类配置单元封装系统结构层次中的一个自挂载点。每个自挂载配置单元对应一个挂载配置单元,当该自动挂载点被访问时,systemd执行挂载点中定义的挂载行为。
Swap:和挂载配置单元类似,交换配置单元用来管理交换分区。用户可以用交换配置单元来定义系统中的交换分区,可以让这些交换分区在启动时被激活。
target:此类配置单元为其他配置单元进行逻辑分组。它们本身实际上并不做什么,只是引用其他配置单元而已,这样便可以对配置单元做一个统一的控制,就可以实现大家都非常熟悉的运行级别的概念。比如,想让系统进入图形化模式,需要运行许多服务和配置命令,这些操作都由一个个的配置单元表示,将所有的这些配置单元组合为一个目标(target),就表示需要将这些配置单元全部执行一遍,以便进入目标所代表的系统运行状态(例如:multi-user.target相当于在传统使用sysv的系统中运行级别5)。
timer:定时器配置单元用来定时触发用户定义的操作。这类配置单元取代了atd,crond等传统的定时服务。
snapshot:与target配置单元相似,快照是一组配置单元,它保存了系统当前的运行状态。

每个配置单元都有一个对应的配置文件,比如一个MySQL服务对应一个mysql.service文件。这种配置文件的语法非常简单,用户不需要再编写和维护复杂的sysv脚本了。

2. 依赖关系

虽然systemd将大量的启动工作解除了依赖,使得它们可以并行启动。但还是存在一些任务,它们之间存在天生的依赖关系,不能用“套接字激活”(socket activation),D-Bus activation和autofs三大方法来解除依赖。比如,挂载必须等待挂载点在文件系统中被创建; 挂载也必须等待相应的物理设备就绪。为了解决这类依赖问题,systemd的配置单元之间可以彼此定义依赖关系。比如,unit A依赖unit B,可以在unit B的定义中用“require A”来表示,这样systemd就会保证先启动A再启动B。systemd能保证事务完整性。systemd的事务概念和数据库中的有所不同,主要是为了保证多个依赖的配置单元之间没有环形引用。如果存在循环依赖,那么systemd将无法启动任意一个服务。此时,systemd将会尝试解决这个问题,因为配置单元之间的依赖关系有两种:requireds是强依赖,wants则是弱依赖,systemd将去掉wants关键字指定的依赖看看是否能打破循环。如果无法修复,systemd会报错。systemd能够自动检测和修复这类配置错误,极大地减轻了管理员的拔锚负担。

3. target和运行级别

systemd用目标(target)替代了运行级别的概念,提供了更大的灵活性,比如可以继承一个已有的目标,并添加其他服务来创建自己的目标。下表展示sysvinit运行级别和systemd目标的对应关系:

sysvinit运行级别   
systemd目标                   
备注
0
runlevel0.target,poweroff.target
关闭系统
1,s,singlerunlevel1.target,rescue.target单用户模式
2,4
runlevel2.target,runlevel4.target,multi-user.target
用户定义/域特定运行级别。默认等同于3
3runlevel3.target,multi-user.target多用户,非图形化。用户可以通过多个控制台或网络登录
5
runlevel5.target,graphical.target
多用户,图形化。通常为所有运行级别3的服务外加图形化登录
6runlevel6.target,rebooot.target重启
emergency    
emergency.target
急救模式(Emergency shell)

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值