gpt4 book ai didi

packaging - 我应该覆盖 init 系统的 debhelper 使用吗?

转载 作者:行者123 更新时间:2023-12-02 04:15:01 53 4
gpt4 key购买 nike

我正在尝试使用 systemd 脚本构建一个 debian 软件包,但我不太明白最好的方法。

我的第一个问题是,我应该使用 --with=systemd 选项(并覆盖 dh_systemd_enabledh_systemd_start)还是使用 dh_installinit--name 选项足够了吗?因为两者似乎都做同样的事情。

最佳答案

你肯定需要--with=systemd在你的dh调用。

至于您需要哪种覆盖组合,这取决于情况。

听起来您只需要包含 systemd 单元,因此不需要覆盖任何内容。

由于您的问题没有太多上下文,我将列出一些何时覆盖每个 systemd debhelpder 的用例。

何时使用 override_dh_systemd_enable:

  • 如果您想在通常在安装时禁用服务的系统上覆盖要启用的服务(通常是不是源自 Debian 的任何 Linux 风格)
  • 如果您想在通常在安装时启用服务的系统上覆盖要禁用的服务(通常是 Debian 或源自 Debian 的任何 Linux 版本) )
  • 如果您的 Debian 软件包中有多个 systemd 单元,并且需要启用它们
  • 如果您的 debian 软件包中的主 systemdunit 的名称不是package-name.service,并且需要启用/禁用

Manual page for dh_systemd_enable

何时使用 override_dh_systemd_start:

  • 如果您想在通常在安装时启动服务的系统上覆盖您的服务,使其不在安装或启动时启动(通常是 Debian 或任何 Linux 风格) > 源自 Debian)
  • 如果您希望 systemd 单元在 debian 软件包升级时停止或重新启动
  • 如果您希望 systemd 单元在 debian 软件包升级完成之前停止(这对于在升级期间不应有长时间停机的守护进程很有用)
  • 如果您想撤消在 debian 软件包升级完成之前不要停止操作
  • 如果您的 debian 软件包中的主 systemd 单元的名称不是package-name.service,并且需要执行上述任何操作
  • 如果您的 Debian 软件包中有多个 systemd 单元,并且需要执行上述任何操作

Manual page for dh_systemd_start

何时使用 override_dh_installinit:

  • 如果您的 debian 软件包中的主 systemd 单元的名称不是 package-name.service
  • 如果您的 Debian 软件包中有多个 systemd 单元,并且需要安装它们
  • 还有许多重复功能,具体取决于您使用的 debhelper 版本,这些功能与 dh_systemd_start 中列出的功能类似。和dh_systemd_enable上面的部分。还有很多涉及 Upstart 的事情,与这个问题无关。请参阅下面链接的手册页。

Manual page for dh_installinit

另请注意,所有这些覆盖都会进入您的 debian 控制文件。

关于packaging - 我应该覆盖 init 系统的 debhelper 使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34342058/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com