问题描述

系统安装某个服务,但是需要修改它的单元文件的参数。

由于这些服务是通过包管理器安装的,比如 YUM 安装,不建议直接修改包中的文件。因为随着软件的升级,该单元文件会被覆盖或者删除,因此不应该直接修改属于软件包的文件。

比如,安装了MySQL服务,单元文件/usr/lib/systemd/system/mysqld.service为包中自带的,但是我们需要调整它的配置。而你应该直接修改这个文件,因为:如果升级MySQL版本,该文件会被覆盖。

标准操作

正确的做法是使用 systemctl edit 命令。

基于上面的例子,执行systemctl edit mysqld.service命令,该会打开编辑器,你可以在这其中输入自定义配置,例如:

[Service]
LimitNOFILE=65535

然后保存退出。

实际上,上面的操作流程就是:创建了/etc/systemd/system/mysqld.service.d/override.conf文件,并将编辑器的内容写入到override.conf文件中。你也可以在定义自己的.conf文件。

!!!另外有几个需要注意的地方:
(1)当使用systemctl edit命令进行修改的时候,需要指定章节,比如示例中的[Service]部分。
(2)覆盖是以指令单位的。例如,上面虽然指定了[Service]部分,但是只会覆盖[Service]部分的LimitNOFILE配置。
(3)如果它是一个列表,那你需要清空在定义。比如,先指定LimitNOFILE=后指令,再指定LimitNOFILE=65535指令。
(4)不需要运行systemctl daemon-reload命令。

查看修改

执行systemctl cat命令来查看修改。

例如执行systemctl cat mysqld.service命令,会产生类似如下的输出:

#
# /usr/lib/systemd/system/mysqld.service
#
# Simple MySQL systemd service file
#
# systemd supports lots of fancy features, look here (and linked docs) for a full list:
#   http://www.freedesktop.org/software/systemd/man/systemd.exec.html
#
# Note: this file ( /usr/lib/systemd/system/mysql.service )
# will be overwritten on package upgrade, please copy the file to
#
#  /etc/systemd/system/mysql.service
#
# to make needed changes.
#
# systemd-delta can be used to check differences between the two mysql.service files.
#[Unit]
Description=MySQL Community Server
After=network.target
After=syslog.target[Install]
WantedBy=multi-user.target
Alias=mysql.service[Service]
User=mysql
Group=mysql# Execute pre and post scripts as root
PermissionsStartOnly=true# Needed to create system tables etc.
ExecStartPre=/usr/bin/mysql-systemd-start pre# Start main service
ExecStart=/usr/bin/mysqld_safe --basedir=/usr# Don't signal startup success before a ping works
ExecStartPost=/usr/bin/mysql-systemd-start post# Give up if ping don't get an answer
TimeoutSec=600Restart=always
PrivateTmp=false# /etc/systemd/system/mysqld.service.d/override.conf
[Service]
LimitNOFILE=65535

它同时输出了哪些指令是来自于/usr/lib/systemd/system/mysqld.service文件,哪些是来自于/etc/systemd/system/mysqld.service.d/override.conf文件。

关于环境变量

环境变量的修改也是类似的方法,但是使用的是Environment指令,如同Environment=FOO=bar的形式。

还原修改

执行systemctl revert命令来还原修改。它会还原至原始版本,删除所有的覆盖,还原单元文件的属性到默认值,并且进行unmask操作。

执行systemctl revert mysqld.service命令来还原之前的修改。

!!!但是要高于229版本(systemctl --version),而CentOS Linux release 7.4.1708 (Core)是systemd 219版本。

相关文章

「systemd」- 从 systemctl status 中提取个别字段
「Supervisor」- 创建首个配置文件
「systemd」 - 创建和修改单元文件
「systemd.timer」

参考文献

How do I override or configure systemd services?
Systemd delete overrides
systemd.unit — Unit configuration
How to override systemd unit file settings?
How to find out the systemd version on Raspbian

「systemd」- 修改单元文件 @20210318相关推荐

  1. 「File」计算机常见文件数据格式

    目录 文本格式(Text) 图片格式(Image) 音频格式(Audio) 视频格式(Video) 数据库格式(Database) 电子表格格式(Spreadsheet) 二进制格式(Binary) ...

  2. Vue之AntDesignVue之「a-upload」上传文件列表删除列表中的某个待上传文件时,出现预期想删除的文件与实际删除的文件不一致的问题

    这是官网的参考方法 于是参考此方法,采用beforeUpload 返回 false 后,手动上传文件的上传方法. 这是我的写法 <template>: js: @change remove ...

  3. 「 Word 」修改Mathtype编辑器插入公式的编号

    1.前言 用word写论文的时候,通常选择右侧编码命令插入公式,如下图: 但有时发现公式编号不听话,第二章的公式编号显示(0-1),此时就要使用章节分隔工具,划分章节序号,如下图: 2.问题描述 点击 ...

  4. Microsoft Excel 教程「3」:如何在 Excel 中打印工作表?

    欢迎观看 Microsoft Excel 教程,小编带大家学习 Microsoft Excel 的使用技巧,了解如何在 Excel 中打印工作表. 可打印全部或部分工作表,可一次打印一个,也可一次打印 ...

  5. android 画图 平面图,房屋平面图 DIY 神工具!「MagicPlan」用手机拍照就自动帮你画好(iPhone, Android)...

    不论是新屋装潢还是老屋改装,为了省下设计费,许多人都会想自己动手画平面图,但是如果本身没有相关的底子,从怎么开始动手测量尺寸到画出完整的全屋平面图,每个点都有让人不知所措的地方. 来!免惊-「Magi ...

  6. 坚果云 operationnotallowed webdav_妙用 NAS 服务,将你的知识库和音乐库搬上「云」...

    妙用 NAS 服务,将你的知识库和音乐库搬上「云」 想必你也遇到过这样的问题: 资料库体积越来越大,内置硬盘的容量却没有跟着长大或者不方便扩容: 平时需要在多个终端(电脑/手机/iPod 等)共享 A ...

  7. AI「照妖镜」:不仅知道你P过图,还知道你P图前长啥样

    https://www.toutiao.com/a6702615352959828488/ 识别 PS 照片的问题,还是需要依靠推出 PS 的公司 Adobe 来解决. 现在的社交媒体上充斥着各种自拍 ...

  8. 音视频骚操作,FFmpeg 如何播放带「图片」的 M3U8 视频,IJKPlyaer 适配非标 TS 文件

    如果看到一个需要播放的视频链接显示是一张图片,你会不会感觉有点懵?如果这张图片写着 png,然后实际格式是 bmp ,你会不会更懵了?如果这个 bmp 还做了加密篡改呢?今天我们要聊的就是这样一个充满 ...

  9. 「BUAA OO Unit 1 HW4」第一单元总结 —— 递归下降思想处理表达式

    「BUAA OO Unit 1 HW4」第一单元总结 目录 Part0 前言 0.1 文章简介 0.2 阅读本文后将有的收获 0.3 阅读本文需要的前置知识 Part1 第一次作业 1.1 程序框架 ...

最新文章

  1. 删库跑路升级版,著名大厂员工离职为报复公司,直接删虚拟机!
  2. HealthKit开发快速入门教程之HealthKit开发概述简介
  3. centos7 vsftpd 虚拟用户 pam模块认证
  4. 网络摄像头ip php,C#实现IP摄像头的方法
  5. 内存泄露分析 - 收藏集 - 掘金
  6. Cortex M4 SVC 中断
  7. 华为连接wifi显示wifi未连接服务器,华为手机连接WIFI但是无法上网怎么解决
  8. 2022-2028年中国矿用减速机行业全景调查与投资方向研究报告
  9. 英特尔下月将推出双核Atom处理器及配套主板
  10. 一键还原的GHO文件夹打开方法(转载)
  11. java误删的信息怎么恢复_记一次线上表数据误删恢复过程
  12. 国内外计算机CPU差异,Intel 9代和10代CPU差别真的很大?配电脑看它选择不后悔
  13. D. Serval and Rooted Tree(思维+树形dp+二分辅助)
  14. 【游戏程序设计】Direct 3D 三维地形系统
  15. 凯文.都迪的超级记忆力训练教程
  16. 京东区块链之供应链应用篇:溯源应用结合区块链能碰撞出什么火花?
  17. Xiaomi Redmi Note7刷机
  18. 232电平和TTL电平
  19. RSD的PANSHARP融合——以GF2为例
  20. 关于Android高德地图路线规划的学习

热门文章

  1. SUMO获得车辆信息
  2. 固态硬盘的好处以及固态硬盘和普通硬盘的区搜索别
  3. 8375: Origami
  4. 猿人学·爬虫逆向高阶课
  5. 2021-2027全球与中国汽车互联信息娱乐系统市场现状及未来发展趋势
  6. 让Windows系统自动加载SATA驱动程序(转)
  7. Fix for BOOTMGR Error
  8. hdu5419--Victor and Toys(枚举)
  9. 站长号词库:今日热门长尾关键词挖掘 20221129
  10. 怎么跟学计算机的聊天,win7通过局域网进行电脑之间聊天的方法-电脑自学网