如何用自定义版本正确替换软件包的服务单元文件?

比纳鲁斯

我想知道如何用自己的版本替换某个软件包中的服务单元文件。也就是说,我在该服务单元文件中发现了一些问题,并已对其进行了纠正。但是,随着该软件包的下一次更新,我的更改将丢失。

我知道我可以修改原始程序包,使用固定功能等。但是,在这种情况下,这似乎过于复杂,我真的很想以正常方式获取相应程序包的更新。它只是我想保留在更正版本中的服务单元文件。

我想到以下解决方案:

  • 将/lib/systemd/system/daemon.service复制到/etc/systemd/system/my-daemon.service
  • 禁用并屏蔽daemon.service,以便systemd不再启动它,并且希望软件包更新不会重新启用它
  • 在my-daemon.service中进行适当的更正
  • 启用my-daemon.service

这是一个合理的方法吗?是否有针对此问题的“官方”解决方案?

默认情况下,systemd将使用来自的服务文件/usr/lib/systemd/system/daemon.service但是,如果在中找到了服务单元/etc/systemd/system/daemon.service,它将自动使用该服务单元,并忽略默认的服务单元

所以基本上

cp /usr/lib/systemd/system/daemon.service /etc/systemd/system/daemon.service

并在文件中进行所需的任何更改/etc/systemd/system/daemon.service

替代方法:

如果您不喜欢这样或仅需进行一些较小的编辑,则可以在systemctl edit daemon.service那里运行并进行更改。这些更改将合并到systemd将尝试运行的服务单元中,无论该单元位于/usr/lib/...还是之下/etc/...

优点:

如果软件包提供的单位文件得到更新,则这些更改将自动与您的调整合并。

缺点:

如果软件包提供的单位文件得到更新,则这些更改将自动与您的调整合并。(开个玩笑。有时候,您真的不想要这个。)

很难看-systemd/etc/systemd/system/daemon.overrides.d/在您的更改所在的目录中创建目录。这有点时髦,容易错过,所以将来可能会咬你。

您不能用这种方式替换事物,只能添加一些新事物,因为替代内容已合并到单元中。(虽然不确定,但是我上次使用它是在前一阵子。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Magento自定义软件包未设置文件权限正确

来自分类Dev

如何在Heroku服务器上安装自定义Python软件包(Boto)

来自分类Dev

如何在Heroku服务器上安装自定义Python软件包(Boto)

来自分类Dev

创建Debian软件包系统信息库以分发多个版本的自定义Deb软件包

来自分类Dev

使用Nuget,自定义软件包源以及重复的软件包名称/版本自动进行软件包还原

来自分类Dev

如何用apt替换要安装的特定软件包

来自分类Dev

从自定义文件系统目录脱机透明安装npm软件包

来自分类Dev

安装的deb软件包中缺少文件(自定义dockerized debian)

来自分类Dev

使用导入的自定义软件包加载iPython

来自分类Dev

自定义软件包的Composer安装路径

来自分类Dev

在R Studio中安装自定义软件包

来自分类Dev

Buildroot自定义软件包不会自动生成

来自分类Dev

在Linux上安装自定义软件包

来自分类Dev

禁用自定义Vim的软件包更新

来自分类Dev

Umbraco自定义软件包安装失败

来自分类Dev

如何为MeteorJs自定义accounts-ui软件包

来自分类Dev

如何在Ubuntu设置中添加自定义软件包?

来自分类Dev

如何为自己的npm软件包创建自定义cli命令

来自分类Dev

升级时如何防止WiX自定义引导程序卸载缺少的软件包

来自分类Dev

如何创建自己的发行版并包含自定义内核和软件包?

来自分类Dev

使用debuild构建软件包时,如何通过自定义选项进行配置?

来自分类Dev

如何使用自定义软件包创建debian安装介质?

来自分类Dev

iOS拖放。拖动时如何用自定义视图替换单元格

来自分类Dev

Debian 7 apt正在使用“官方”相同版本升级我的自定义反向移植软件包!

来自分类Dev

安装软件包时如何为供应商中的子文件夹设置自定义文件夹路径?

来自分类Dev

来自操作系统或自定义软件包管理器的软件包

来自分类Dev

Dataproc没有从自定义Conda频道安装自定义Conda软件包

来自分类Dev

自定义服务器上的本地软件包存储库无法通过身份验证

来自分类Dev

如何将我的自定义npm软件包添加到TypeScript定义管理器?

Related 相关文章

  1. 1

    Magento自定义软件包未设置文件权限正确

  2. 2

    如何在Heroku服务器上安装自定义Python软件包(Boto)

  3. 3

    如何在Heroku服务器上安装自定义Python软件包(Boto)

  4. 4

    创建Debian软件包系统信息库以分发多个版本的自定义Deb软件包

  5. 5

    使用Nuget,自定义软件包源以及重复的软件包名称/版本自动进行软件包还原

  6. 6

    如何用apt替换要安装的特定软件包

  7. 7

    从自定义文件系统目录脱机透明安装npm软件包

  8. 8

    安装的deb软件包中缺少文件(自定义dockerized debian)

  9. 9

    使用导入的自定义软件包加载iPython

  10. 10

    自定义软件包的Composer安装路径

  11. 11

    在R Studio中安装自定义软件包

  12. 12

    Buildroot自定义软件包不会自动生成

  13. 13

    在Linux上安装自定义软件包

  14. 14

    禁用自定义Vim的软件包更新

  15. 15

    Umbraco自定义软件包安装失败

  16. 16

    如何为MeteorJs自定义accounts-ui软件包

  17. 17

    如何在Ubuntu设置中添加自定义软件包?

  18. 18

    如何为自己的npm软件包创建自定义cli命令

  19. 19

    升级时如何防止WiX自定义引导程序卸载缺少的软件包

  20. 20

    如何创建自己的发行版并包含自定义内核和软件包?

  21. 21

    使用debuild构建软件包时,如何通过自定义选项进行配置?

  22. 22

    如何使用自定义软件包创建debian安装介质?

  23. 23

    iOS拖放。拖动时如何用自定义视图替换单元格

  24. 24

    Debian 7 apt正在使用“官方”相同版本升级我的自定义反向移植软件包!

  25. 25

    安装软件包时如何为供应商中的子文件夹设置自定义文件夹路径?

  26. 26

    来自操作系统或自定义软件包管理器的软件包

  27. 27

    Dataproc没有从自定义Conda频道安装自定义Conda软件包

  28. 28

    自定义服务器上的本地软件包存储库无法通过身份验证

  29. 29

    如何将我的自定义npm软件包添加到TypeScript定义管理器?

热门标签

归档