isc-dhcp-server 如何在 debian 10 上使用 systemd 启动

isc-dhcp-server 如何在 debian 10 上使用 systemd 启动

我在 beaglebone black 上运行 debian 10 控制台映像。我的设置有点奇怪,但我需要让它以这种方式运行。

问题:isc-dhcp-server 无法在启动时启动,但之后可以手动启动,输入:

#systemctl start isc-dhcp-server

Beaglebone black,所有这些东西都在运行,启动后会为其连接的以太网集线器/交换机通电。(systemd 启动一个执行此操作的程序)

以下更多的是经过深思熟虑的猜测:

因此,在启动时,当 systemd 尝试启动 isc-dhcp-server 时,它无法检测到连接到 eth0 的电缆,因此无法启动。

我的解决方案是:在 eth0 上的电缆连接后,使用一些 systemd magic 来启动 dhcp 服务器。systemd 可以轻松地说明何时启动服务,但我找不到 isc-dhcp-server 的 .service 文件,也无法弄清楚它是如何启动的。

请提供任何提示。谢谢,Juergen

答案1

打包服务的.service文件通常位于/lib/systemd/system/

.service但是软件包维护者可能一直依赖于 SysVinit 兼容机制:如果根本没有文件,但/etc/init.d/isc-dhcp-server脚本存在,systemd则会自动为其生成服务定义,并根据脚本开头的 LSB 结构化注释行设置服务依赖关系。

您始终可以使用systemctl cat isc-dhcp-server它来查看当前服务定义,并systemctl edit isc-dhcp-server创建持久覆盖文件来更改或添加服务定义 - 即使主定义是从 SysVinit 脚本动态生成的。

相关内容