文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在Linux系统下修改现有systemd单元文件的方法是什么

2023-06-26 10:40

关注

这篇文章跟大家分析一下“在Linux系统下修改现有systemd单元文件的方法是什么”。内容详细易懂,对“在Linux系统下修改现有systemd单元文件的方法是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“在Linux系统下修改现有systemd单元文件的方法是什么”的知识吧。

我们将展示如何在Linux系统下修改现有的单元文件,内容有:什么是单元文件、扩展默认单元配置、覆盖默认的单元配置。

前言

系统上存储单元文件的主要目录有三个,但“/etc/systemd/system/”目录是为系统管理员创建或自定义的单元文件保留的。

/usr/lib/systemd/system/:安装软件包时删除的systemd单元文件。

/run/systemd/system/:在运行时创建的systemd单元文件。

/etc/systemd/system/:由“systemctl enable”命令创建的systemd单元文件以及为扩展服务而添加的单元文件。

参考:在Linux中创建自定义脚本和创建systemd服务单元文件的方法。

什么是单元文件?

单元文件包含描述单元并定义其行为的配置指令。几个systemctl命令在后台处理单元文件,使单元文件按预期运行。

单元文件使用以下通用语法:

unit_name.type_extension

httpd.service

unit_name (httpd) 代表单位名称。

type_extension(service)标识单元类型。

为了演示这一点,我们将以下两个参数添加到“httpd.service”文件中:

Restart=on-failure

RestartSec=5s

可以通过两种方式修改现有的systemd单元文件:

扩展默认单元配置。

覆盖默认的单元配置。

1、扩展默认单元配置

本节介绍如何使用其他配置选项扩展默认单元文件。

例如,要编辑“httpd.service”单元文件,请运行:

$ sudo systemctl edit httpd.service

这会在“/etc/systemd/system/httpd.service.d/override.conf”下创建一个覆盖片段文件,并在您的文本编辑器中打开它。向httpd.service单元文件添加新参数,保存文件时,新参数将添加到现有服务文件中。

要应用对单元所做的更改,请执行:

$ sudo systemctl daemon-reload

重启httpd服务加载新的服务配置(如果修改运行的单元文件,必须重新声明单元文件):

$ sudo systemctl restart httpd

要恢复更改,请执行以下步骤。

要删除片段,请运行:

$ sudo rm -r /etc/systemd/system/httpd.service.d

要在不重新启动系统的情况下将更改应用于单元文件,请执行“daemon-reload”选项重新加载所有单元文件并重新创建整个依赖关系树:

$ sudo systemctl daemon-reload

要检查扩展或修改的单元文件,请运行以下命令输出清楚地表明文件“apache2.service”已扩展:

$ systemd-delta[EQUIVALENT] /etc/systemd/system/default.target → /usr/lib/systemd/system/default.target[OVERRIDDEN] /etc/systemd/system/sshd.service → /usr/lib/systemd/system/sshd.serviceFiles /usr/lib/systemd/system/sshd.service and /etc/systemd/system/sshd.service are identical[EXTENDED]   /usr/lib/systemd/system/NetworkManager.service → /usr/lib/systemd/system/NetworkManager.service.d/NetworkManager-ovs.conf[EXTENDED]   /usr/lib/systemd/system/apache2.service → /etc/systemd/system/apache2.service.d/override.conf[EXTENDED]   /usr/lib/systemd/system/btrfs-balance.timer → /etc/systemd/system/btrfs-balance.timer.d/schedule.conf[EXTENDED]   /usr/lib/systemd/system/btrfs-scrub.timer → /etc/systemd/system/btrfs-scrub.timer.d/schedule.conf[EXTENDED]   /usr/lib/systemd/system/nfs-client.target → /usr/lib/systemd/system/nfs-client.target.d/nfs.conf[EXTENDED]   /usr/lib/systemd/system/rpc-gssd.service → /usr/lib/systemd/system/rpc-gssd.service.d/options.conf[EXTENDED]   /usr/lib/systemd/system/rpc-statd-notify.service → /usr/lib/systemd/system/rpc-statd-notify.service.d/options.conf[EXTENDED]   /usr/lib/systemd/system/rpc-statd.service → /usr/lib/systemd/system/rpc-statd.service.d/options.conf[EXTENDED]   /usr/lib/systemd/system/rpc-svcgssd.service → /usr/lib/systemd/system/rpc-svcgssd.service.d/options.conf[EXTENDED]   /usr/lib/systemd/system/systemd-sysctl.service → /usr/lib/systemd/system/systemd-sysctl.service.d/50-kernel-uname_r.conf12 overridden configuration files found.

2、覆盖默认的单元配置

本节介绍如何覆盖默认单元配置。

如果要在更新提供单元文件的包后保留更改,请编辑完整的单元文件,如下所示:

$ sudo systemctl edit --full httpd.service

这会将当前单元文件加载到编辑器中。保存文件后,systemctl将在“/etc/systemd/system/httpd.service”创建一个文件。

要应用对单元所做的更改,请执行:

$ sudo systemctl daemon-reload

重启httpd服务加载新的服务配置(如果修改运行的单元文件,必须重新声明单元文件):

$ sudo systemctl restart httpd

请注意:“/etc/systemd/system”中的任何单元文件都会覆盖“/lib/systemd/system”中的相应文件。

要恢复更改或返回设备的默认配置,请删除以下自定义配置文件。

要删除完整的修改单元文件,请运行:

$ sudo rm /etc/systemd/system/httpd.service

要在不重新启动系统的情况下将更改应用于单元文件,请执行“daemon-reload”选项重新加载所有单元文件并重新创建整个依赖关系树:

$ sudo systemctl daemon-reload

要检查覆盖或修改的单元文件,请运行以下命令清楚地显示文件“apache2.service”已被覆盖:

$ systemd-delta[OVERRIDDEN] /etc/systemd/system/apache2.service → /usr/lib/systemd/system/apache2.service--- /usr/lib/systemd/system/apache2.service     2021-07-08 22:20:27.000000000 +0530+++ /etc/systemd/system/apache2.service 2021-07-09 14:36:06.989928469 +0530@@ -13,6 +13,8 @@KillMode=mixedTasksMax=infinityNotifyAccess=all+Restart=on-failure+RestartSec=5s[Install]WantedBy=multi-user.target[EQUIVALENT] /etc/systemd/system/default.target → /usr/lib/systemd/system/default.target[OVERRIDDEN] /etc/systemd/system/sshd.service → /usr/lib/systemd/system/sshd.serviceFiles /usr/lib/systemd/system/sshd.service and /etc/systemd/system/sshd.service are identical[EXTENDED]   /usr/lib/systemd/system/NetworkManager.service → /usr/lib/systemd/system/NetworkManager.service.d/NetworkManager-ovs.conf[EXTENDED]   /usr/lib/systemd/system/btrfs-balance.timer → /etc/systemd/system/btrfs-balance.timer.d/schedule.conf[EXTENDED]   /usr/lib/systemd/system/btrfs-scrub.timer → /etc/systemd/system/btrfs-scrub.timer.d/schedule.conf[EXTENDED]   /usr/lib/systemd/system/nfs-client.target → /usr/lib/systemd/system/nfs-client.target.d/nfs.conf[EXTENDED]   /usr/lib/systemd/system/rpc-gssd.service → /usr/lib/systemd/system/rpc-gssd.service.d/options.conf[EXTENDED]   /usr/lib/systemd/system/rpc-statd-notify.service → /usr/lib/systemd/system/rpc-statd-notify.service.d/options.conf[EXTENDED]   /usr/lib/systemd/system/rpc-statd.service → /usr/lib/systemd/system/rpc-statd.service.d/options.conf[EXTENDED]   /usr/lib/systemd/system/rpc-svcgssd.service → /usr/lib/systemd/system/rpc-svcgssd.service.d/options.conf[EXTENDED]   /usr/lib/systemd/system/systemd-sysctl.service → /usr/lib/systemd/system/systemd-sysctl.service.d/50-kernel-uname_r.conf13 overridden configuration files found.

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

关于在Linux系统下修改现有systemd单元文件的方法是什么就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下编程网网站!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯