当前位置: 首页 > news >正文

/etc/systemd/system和/lib/systemd/system的区别 - Leone

linux系统中有很多的system目录,在平常使用中或者大量的博客中,常看到的有/etc/systemd/system、/lib/systemd/system以及/usr/lib/systemd/system等,这三者有什么样的关系呢,本文将三者的关系详细说明,后续使用不再混淆。

简介

目录/lib/systemd/system以及/usr/lib/systemd/system其实指向的是同一目录,在/目录下ll可知:

[root@localhost /]# ll
total 28
lrwxrwxrwx.   1 root root    7 Jul  3 09:43 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Jul 19 12:04 boot
drwxr-xr-x.  19 root root 3080 Jul 19 04:03 dev
drwxr-xr-x.  76 root root 8192 Jul 19 20:07 etc
drwxr-xr-x.   4 root root   39 Jul 19 04:37 home
lrwxrwxrwx.   1 root root    7 Jul  3 09:43 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Jul  3 09:43 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 11  2018 media
drwxr-xr-x.   2 root root    6 Apr 11  2018 mnt
drwxr-xr-x.   3 root root   23 Jul  3 20:33 opt
dr-xr-xr-x. 118 root root    0 Jul 19 04:03 proc
dr-xr-x---.  10 root root 4096 Jul 20 06:31 root
drwxr-xr-x.  27 root root  760 Jul 19 16:00 run
lrwxrwxrwx.   1 root root    8 Jul  3 09:43 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv
dr-xr-xr-x.  13 root root    0 Jul 19 04:03 sys
drwxrwxrwt.  10 root root 4096 Jul 20 03:37 tmp
drwxr-xr-x.  13 root root  155 Jul  3 09:43 usr
drwxr-xr-x.  21 root root 4096 Jul 19 13:34 var
  • [/usr]/lib/systemd/system/ 该目录中包含的是软件包安装的单元,也就是说通过yum、dnf、rpm等软件包管理命令管理的systemd单元文件,都放置在该目录下。
[/usr]/lib/systemd/system/
The expectation is that `/lib/systemd/system` is a directory that should only contain systemd unit files which were put there by the package manager (YUM/DNF/RPM/APT/etc).
  • /etc/systemd/system/(系统管理员安装的单元, 优先级更高)
Files in /etc/systemd/system are manually placed here by the operator of the system for ad-hoc software installations that are not in the form of a package. 
This would include tarball type software installations or home grown scripts.

在一般的使用场景下,每一个 Unit(服务等) 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit 。
Systemd 默认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/,真正的配置文件存放在这个目录。 systemctl enable 命令用于在上面两个目录之间,建立符号链接关系。

$ sudo systemctl enable clamd@scan.service
# 等同于
$ sudo ln -s '/usr/lib/systemd/system/clamd@scan.service' '/etc/systemd/system/multi-user.target.wants/clamd@scan.service'

如果配置文件里面设置了开机启动,systemctl enable命令相当于激活开机启动。与之对应的,systemctl disable命令用于在两个目录之间,撤销符号链接关系,相当于撤销开机启动。

$ sudo systemctl disable clamd@scan.service

虽然在/etc/systemd/system/目录下放置的是系统管理员安装的单元,但是实际使用过程中,用户可以自定义服务配置文件,并且放置在该目录,将该服务的配置文件的优先级提高。

优先级

systemd的使用大幅提高了系统服务的运行效率, 而unit的文件位置一般主要有三个目录:

Table 1.  Load path when running in system mode (--system).
┌────────────────────────┬─────────────────────────────┐
│Path                    │ Description                 │
├────────────────────────┼─────────────────────────────┤
│/etc/systemd/systemLocal configuration         │
├────────────────────────┼─────────────────────────────┤
│/run/systemd/system     │ Runtime units               │
├────────────────────────┼─────────────────────────────┤
│/lib/systemd/system     │ Units of installed packages │
└────────────────────────┴─────────────────────────────┘

这三个目录的配置文件优先级依次从高到低,如果同一选项三个地方都配置了,优先级高的会覆盖优先级低的。

系统安装时,默认会将unit文件放在/lib/systemd/system目录。如果我们想要修改系统默认的配置,比如nginx.service,一般有两种方法:

  1. /etc/systemd/system目录下创建nginx.service文件,里面写上我们自己的配置。
  2. /etc/systemd/system下面创建nginx.service.d目录,在这个目录里面新建任何以.conf结尾的文件,然后写入我们自己的配置。推荐这种做法。

/run/systemd/system这个目录一般是进程在运行时动态创建unit文件的目录,一般很少修改,除非是修改程序运行时的一些参数时,即Session级别的,才在这里做修改。

附systemd介绍

服务设定位置:

  • /usr/lib/systemd/system/
  • /run/systemd/system/
  • /etc/systemd/system/(一般为连接文件)

服务统一管理:systemd

service设定文件:

  • /usr/lib/systemd/system/*.service: 预设设定文件
  • /etc/systemd/system/system/*.service.d/: 用户个性化设定文件,会被加入设定
  • /etc/systemd/system/system/*.service.wants/: 连结文件,启动该服务后推荐启动的其他服务
  • /etc/systemd/system/system/*.service.requires/: 连结文件,启动该服务之前,需要预先启动的服务
  • /run/systemd/generator.late 使用 systemd-sysv-generator工具处理 SysV init脚本(即:/etc/init.d/*

),自动生成.service文件

http://www.rkmt.cn/news/43675.html

相关文章:

  • 详细介绍:LSTM与GRU:解决RNN梯度消失问题的利器(含代码)
  • 2025年交通信号灯定制厂家权威推荐榜单:红绿灯交通信号灯/机动车信号灯/太阳能信号灯源头厂家精选
  • 一对一直播软件源码,为什么 Java 不支持类多重继承? - 云豹科技
  • Claude Code 体验:让 AI 成为你的编程搭档,效率翻倍指南
  • 2025年连接器厂家权威推荐榜:USB连接器,电池连接器,TYPE-C连接器,防水TYPE-C/USB连接器优质供应商精选
  • 2025年插座厂家权威推荐榜:耳机插座,DC插座,防水耳机插座源头企业综合测评与选购指南
  • 2025年轻触开关厂家推荐排行榜,检测开关,轻触开关,防水轻触开关,微型轻触开关公司最新精选榜单
  • 噬菌体文库构建全流程详解:从基因获取到噬菌体富集
  • hav-cs50-merge-00
  • 《Qt应用开发》笔记p5 - 教程
  • 2025年结合型井盖实力厂家权威榜单:结合井盖/铝合金井盖/彩色井盖实力厂商精选
  • 2025 11 8
  • 2025 年 11 月氧气分析仪厂家推荐排行榜,在线式氧气,固定式氧气,便携式氧气,手持式氧气,工业氧气分析仪公司推荐
  • 自建 vs 托管:TCO 与运维边界对比
  • 2025 年 11 月护栏厂家推荐排行榜,道路护栏,桥梁护栏,市政护栏,锌钢护栏,阳台护栏公司推荐
  • 2025 年 11 月氮氧化物检测仪厂家推荐排行榜,在线式氮氧化物,固定式氮氧化物,便携式氮氧化物,手持式氮氧化物检测仪公司推荐
  • 2025年套管实力厂家权威推荐榜单:自卷式/双层/开口式护/密封式/螺纹式/20#/自熄/和新/方形/对接/自卷套管源头厂家精选
  • 2025 年 11 月臭氧检测仪厂家推荐排行榜,在线式臭氧检测仪,固定式臭氧检测仪,便携式臭氧检测仪,手持式臭氧检测仪,工业臭氧检测仪公司推荐
  • 2025 年 11 月定型机厂家推荐排行榜,拉幅定型机,门富士定型机,节能定型机,余热回收,废气回收,烟气回收,智能排风,双层定型机公司推荐
  • 2025.11.8 NOIP 复活赛总结
  • 完整教程:JMeter之 json提取器与json path语法
  • 简洁思维:python实现插入排序、冒泡排序和选择排序
  • 2025 年 11 月不锈钢酸洗钝化液厂家推荐排行榜,环保型不锈钢管酸洗钝化液,不锈钢清洗钝化液,酸洗钝化处理与不锈钢清洗剂公司推荐
  • 2025 年 11 月 Type-C 连接器厂家推荐排行榜,Type-C 连接器分析,Type-C 连接器模具,高性能连接方案专业制造商精选
  • 2025年深圳保税区域一日游机构权威推荐榜单:综合保税区域一日游/保税地区一日游/保税区一日游源头机构精选
  • 2025 年 11 月不锈钢水箱厂家推荐排行榜,不锈钢方形水箱,组合式水箱,消防水箱,生活水箱,保温水箱,承压水箱,不锈钢水塔公司推荐
  • python:python执行js
  • flask:模板用extends扩充页面内容
  • flask: 用模板渲染html页面
  • flask: 处理路由错误