大佬教程收集整理的这篇文章主要介绍了linux – 是否可以覆盖systemd单元文件来创建模板单元文件?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
sudo systemctl edit <unitfile>
/etc/systemd/system/<unitfile.d>/
Systemd还提供了一个单独的机制来定义模板单元文件,并将其实例化以在运行时创建特定于实例的单元.这需要将模板文件命名为
<servicename>@.service
然后将其实例化为
systemctl start <servicename>@<instancename>
现在,我有一种情况,我想将一个包提供的服务作为多个单元实例运行.我想避免创建自己的模板单元文件,所以我试图查看是否可以覆盖包提供的单元文件来创建模板单元文件.
因为,根据我的理解,模板单元文件的命名约定与常规单元文件不同,我想我不能通过将模板文件放在/ etc / systemd / system中来覆盖包提供的单元文件.
具体情况:
grafana包安装了一个grafana-server.service单元文件.我想在我的机器上运行两个grafana实例 – 一个用于DEV和STG.我能够做到这一点:
>修改grafana-server.service文件(使用%I设置文件夹位置和文件路径)
>将修改后的grafana-server.service重命名为grafana-server @ .service
>使用以下方法启动grafana实例:
sudo systemctl start grafana-server@dev
和
sudo systemctl start grafana-server@stg
但是,这会破坏grafana提供的服务单元文件的链接,如果它们在升级时增强了服务文件,我将需要再次重做此活动.我的目标是避免这种直接依赖,而是将其转换为覆盖依赖.
有什么想法吗?
[service] ExecStart= WorkingDirectory=/path/to/your/confdir
选项1 – 覆盖通用实例
使用以下配置创建一个与您的设置对应的grafana-server @ .service到[Unit]和[service]:
[Unit] PartOf=grafana-server.service ReloadPropagatedFrom=grafana-server.service
这些应该将grafana-server启动/停止/重启绑定到所有实例.魔术没有很好的记录,但是如果你将/ lt; instance_name> .conf文件放在/ path /到/ your / confdir上,那么所有这些实例都将@L_262_51@绑定!
选项2 – 覆盖特定实例以保持包配置
如果要保持包服务文件中的所有更新优点,但接受主要@L_696_53@实例选项,请为通用名称创建每个实例名称的符号链接
/lib/systemd/system/grafana-server.service
至
/etc/systemd/system/grafana-service@<instance>.service
然后使用仅覆盖该实例的特定选项
/etc/systemd/system/grafana-server@<instance>.service.d/99-my-options.conf
确保将以下配置添加到[Unit]和[service]到99-my-options.conf:
[Unit] PartOf=grafana-server.service ReloadPropagatedFrom=grafana-server.service
这将为每个实例假设所有grafana-server.service选项,并将使用99-my-options.conf文件中的所有选项覆盖它们,并将start / stop / restart操作绑定到grafana-server.service.
如果您运行,请在两个选项上
systemctl start grafana-server.service
将启动所有具有/path/to/confdir/\u0026lt;instance\u0026gt;.conf文件的实例.这同样适用于停止和重新启动,您可以使用他们的grafana-server @< instance>单独管理它们.服务名称.
以上是大佬教程为你收集整理的linux – 是否可以覆盖systemd单元文件来创建模板单元文件?全部内容,希望文章能够帮你解决linux – 是否可以覆盖systemd单元文件来创建模板单元文件?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。