欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-13 16:12:57
...

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。