当前位置:首页 » Linux技术知识

【CentOS7中的unit(单元)概念】

2018-08-30 08:01 本站整理 浏览(39)

CentOS7中新增了unit(单元)的概念,它是所有资源的统称。

 

unit总共分为:

  • Service:系统服务
  • Target:多个 Unit 构成的一个组
  • Device:硬件设备
  • Mount:文件系统的挂载点
  • Automount:自动挂载点
  • Path:文件或路径
  • Scope:不是由 Systemd 启动的外部进程
  • Slice:进程组
  • Snapshot:Systemd 快照,可以切回某个快照
  • Socket:进程间通信的 socket
  • Swap:swap 文件
  • Timer:定时器

Systemd由一个叫做单元(Unit)的概念,它保存了服务、设备、挂载点和操作系统其他信息的配置文件,并能够处理不同单元之间的依赖关系。大部分单元都静态的定义在单元文件中,也有一些是动态生成的。单元有多种状态:

  • 处于活动的则是(active),当前正在运行

  • 停止的则是(inactive),当前已经停止

  • 启动中的则是(activing),当前正在启动

  • 停止中的则是(deactiving),当前正在停止

  • 失败的则是(failed)状态,意思说单元启动过程中遇到错误比如找不到文件、路径或者进程运行中崩溃了等。

 

systemctl list-units

# 查看当前系统的所有unit 

 

systemctl list-units --type=service

# 查看所有类型为service的unit

 

systemctl status

# 查看当前系统中的unit状态

 

systemctl status sshd.service

# 查看指定的sshd.service的状态

 

systemctl is-active sshd.service

# 查看某个 Unit 是否正在运行

 

systemctl is-failed sshd.service

# 查看某个 Unit 是否处于关闭状态

 

systemctl is-enabled sshd.service

# 查看某个 Unit 是否开启了自启动状态

 

在旧版本的CentOS6中,对于RPM包安装的服务的管理,主要是通过service命令和chkconfig命令来管理。如:

service network start|stop|status|restart|reload|force-reload

# 网络服务的启动|关闭|状态|重启|重新加载配置文件|强制重新加载配置文件

 

chkconfig network on|off

# 开启|关闭网络服务的自启动

 

在CentOS7中,对于RPM包安装的服务的管理,可以采用systemctl命令来管理,同时,向下兼容service命令和chkconfig命令。

systemctl start|stop|status|restart|reload|force-reload network

# 网络服务的启动|关闭|状态|重启|重新加载配置文件|强制重新加载配置文件

 

systemctl enable|disable network

# 开启|关闭网络服务的自启动

 

systemctl daemon-reload

# 重载所有修改过的配置文件

 

 

每一个 unit 都有一个配置文件,告诉 systemd 怎么启动这个 unit 。

systemd 默认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/中的配置文件,真正的配置文件存放在/usr/lib/systemd/system/目录中。

 

systemctl enable命令,用于在上面两个目录之间,建立符号链接。

systemctl disable命令,用于在上面两个目录之间,撤销符号链接。

 

systemctl list-unit-files

# 列出所有unit的配置文件

 

systemctl list-unit-files --type=service

# 列出所有服务的配置文件

 

systemctl cat network.service

# 查看network服务的配置文件的内容

# 说明:末尾的.service可以省略,默认就是查看服务类型的unit。