Update hostname with udhcpc

Update hostname with udhcpc

我有一个基于 Debian 的小型 Linux 设备,它通过调用以下命令设置其主机名udhcpc

udhcpc -i $interface -S -x hostname:mydevice

(当然$interface是在脚本调用的前面定义的udhcpc。)

这按预期工作,在我的路由器上我可以看到我的设备作为活动主机名对于该设备。

我的设备 - 获得租约后 - 从 NFS 挂载其新的根文件系统,然后chroot插入其中。

udhcpc将向我的路由器发送更新请求:

# cat /var/log/messages | grep dhcp
Jan  1 04:00:07 udhcpc: started, v1.28.1
Jan  1 04:00:07 udhcpc: sending discover
Jan  1 04:00:09 udhcpc: performing DHCP renew
Jan  1 04:00:09 udhcpc: sending discover
Jan  1 04:00:09 udhcpc: sending select for a.b.c.d
Jan  1 04:00:09 udhcpc: lease of a.b.c.d obtained, lease time 600
***NOW THE CHROOT HAPPENS***
Jan  1 04:05:09 udhcpc: sending renew to r.o.u.t
Jan  1 04:05:09 udhcpc: lease of a.b.c.d obtained, lease time 600
Jan  1 04:10:09 udhcpc: sending renew to r.o.u.t
Jan  1 04:10:09 udhcpc: lease of a.b.c.d obtained, lease time 600

我想在发生这种chroot情况后更新主机名。

我尝试过什么:

  • udhcpc使用新的所需主机名杀死并重新启动它:失败(NFS 丢失,系统停止)
  • 检查udhcpc手册:失败(没有发现任何提及在正在运行的实例上更新主机名的内容)

任何想法都值得赞赏:我想要的只是更新活动上的主机名udhcpc

重要提示:如果我可以更新主机名就足够了(作为答案接受)“发送 renew 以击溃”事件。

答案1

udhcpc --help

-F NAME Ask server to update DNS mapping for NAME

For example: udhcpc -F $(hostname)

相关内容