「systemd」- 修改单元文件 @20210318
问题描述
系统安装某个服务,但是需要修改它的单元文件的参数。
由于这些服务是通过包管理器安装的,比如 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相关推荐
- 「File」计算机常见文件数据格式
目录 文本格式(Text) 图片格式(Image) 音频格式(Audio) 视频格式(Video) 数据库格式(Database) 电子表格格式(Spreadsheet) 二进制格式(Binary) ...
- Vue之AntDesignVue之「a-upload」上传文件列表删除列表中的某个待上传文件时,出现预期想删除的文件与实际删除的文件不一致的问题
这是官网的参考方法 于是参考此方法,采用beforeUpload 返回 false 后,手动上传文件的上传方法. 这是我的写法 <template>: js: @change remove ...
- 「 Word 」修改Mathtype编辑器插入公式的编号
1.前言 用word写论文的时候,通常选择右侧编码命令插入公式,如下图: 但有时发现公式编号不听话,第二章的公式编号显示(0-1),此时就要使用章节分隔工具,划分章节序号,如下图: 2.问题描述 点击 ...
- Microsoft Excel 教程「3」:如何在 Excel 中打印工作表?
欢迎观看 Microsoft Excel 教程,小编带大家学习 Microsoft Excel 的使用技巧,了解如何在 Excel 中打印工作表. 可打印全部或部分工作表,可一次打印一个,也可一次打印 ...
- android 画图 平面图,房屋平面图 DIY 神工具!「MagicPlan」用手机拍照就自动帮你画好(iPhone, Android)...
不论是新屋装潢还是老屋改装,为了省下设计费,许多人都会想自己动手画平面图,但是如果本身没有相关的底子,从怎么开始动手测量尺寸到画出完整的全屋平面图,每个点都有让人不知所措的地方. 来!免惊-「Magi ...
- 坚果云 operationnotallowed webdav_妙用 NAS 服务,将你的知识库和音乐库搬上「云」...
妙用 NAS 服务,将你的知识库和音乐库搬上「云」 想必你也遇到过这样的问题: 资料库体积越来越大,内置硬盘的容量却没有跟着长大或者不方便扩容: 平时需要在多个终端(电脑/手机/iPod 等)共享 A ...
- AI「照妖镜」:不仅知道你P过图,还知道你P图前长啥样
https://www.toutiao.com/a6702615352959828488/ 识别 PS 照片的问题,还是需要依靠推出 PS 的公司 Adobe 来解决. 现在的社交媒体上充斥着各种自拍 ...
- 音视频骚操作,FFmpeg 如何播放带「图片」的 M3U8 视频,IJKPlyaer 适配非标 TS 文件
如果看到一个需要播放的视频链接显示是一张图片,你会不会感觉有点懵?如果这张图片写着 png,然后实际格式是 bmp ,你会不会更懵了?如果这个 bmp 还做了加密篡改呢?今天我们要聊的就是这样一个充满 ...
- 「BUAA OO Unit 1 HW4」第一单元总结 —— 递归下降思想处理表达式
「BUAA OO Unit 1 HW4」第一单元总结 目录 Part0 前言 0.1 文章简介 0.2 阅读本文后将有的收获 0.3 阅读本文需要的前置知识 Part1 第一次作业 1.1 程序框架 ...
最新文章
- 删库跑路升级版,著名大厂员工离职为报复公司,直接删虚拟机!
- HealthKit开发快速入门教程之HealthKit开发概述简介
- centos7 vsftpd 虚拟用户 pam模块认证
- 网络摄像头ip php,C#实现IP摄像头的方法
- 内存泄露分析 - 收藏集 - 掘金
- Cortex M4 SVC 中断
- 华为连接wifi显示wifi未连接服务器,华为手机连接WIFI但是无法上网怎么解决
- 2022-2028年中国矿用减速机行业全景调查与投资方向研究报告
- 英特尔下月将推出双核Atom处理器及配套主板
- 一键还原的GHO文件夹打开方法(转载)
- java误删的信息怎么恢复_记一次线上表数据误删恢复过程
- 国内外计算机CPU差异,Intel 9代和10代CPU差别真的很大?配电脑看它选择不后悔
- D. Serval and Rooted Tree(思维+树形dp+二分辅助)
- 【游戏程序设计】Direct 3D 三维地形系统
- 凯文.都迪的超级记忆力训练教程
- 京东区块链之供应链应用篇:溯源应用结合区块链能碰撞出什么火花?
- Xiaomi Redmi Note7刷机
- 232电平和TTL电平
- RSD的PANSHARP融合——以GF2为例
- 关于Android高德地图路线规划的学习