我正在开发一个嵌入式系统,它使用udhcpc作为其DHCP客户端。它运行时似乎具有以下参数:
/usr/share/udhcpc # ps | grep dhcp 5366 root 2432 S udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0
我想更改参数或运行我自己的DHCP客户端。我进行了搜索,我认为这与ifup和/etc/network/接口有关。
iface eth0 inet dhcp
但我没办法修改DHCP客户端。
我想知道
谢谢!
发布于 2016-02-12 20:25:43
您的系统似乎是基于busybox的Debian的轻量级版本/变体。
busybox通常用于恢复介质或资源有限的嵌入式系统。
为了修改参数,可以自动调用udhcpc。
您可以将/etc/network/interfaces更改为:
iface eth0 inet manual
pre-up /sbin/udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0至于运行另一个DHCP客户端,您必须安装它;但是,除非您有其他接口,否则您必须使用udhcpc切换它。
请记住,因为udhcpc是busybox的一部分,它只是一个指向全局二进制文件的链接,它为您提供了一个工作环境,因此您不会节省任何空间切换DHCP客户端。
发布于 2020-08-26 18:01:31
如何将参数更改为udhcpc?
为此您可以使用udhcpc_opts。
iface eth0 inet dhcp
udhcpc_opts -t 10
...上面的示例告诉udhcpc尝试最多10次才能获得租约。
发布于 2021-08-17 08:41:14
Martin提出的解决方案对我没有用(使用udhcpc_opts)。但是,在我的系统中,向/etc/network/interfaces添加以下行起了作用:
auto eth0
iface eth0 inet dhcp
hostname myhostname这使得BusyBox执行:
$ ps aux| grep dhc
1685 root /sbin/udhcpc -n -p /run/udhcpc.eth0.pid -i eth0 -x hostname:myhostnamehttps://unix.stackexchange.com/questions/261872
复制相似问题