udhcpc는 어떻게 실행되고 어떻게 변경합니까?

udhcpc는 어떻게 실행되고 어떻게 변경합니까?

저는 임베디드 시스템에서 작업 중이며 DHCP 클라이언트로 udhcpc를 사용합니다. 다음 매개변수를 사용하여 실행 중인 것 같습니다.

/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/interfaces와 관련이 있는 것 같습니다.

iface eth0 inet dhcp

하지만 DHCP 클라이언트를 수정하는 방법이 없습니다.

나는 알고 싶다

  1. 매개변수를 udhcpc로 변경하는 방법
  2. udhcpc를 종료하지 않고 내 DHCP 클라이언트를 실행할 수 있는 경우

감사해요!

답변1

귀하의 시스템은 busybox.

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 클라이언트를 전환하는 공간을 절약할 수 없습니다.

답변2

Martin Trenkmann이 제안한 솔루션이 제게는 효과가 없었습니다(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:myhostname

(에서 찾았습니다.https://wiki.alpinelinux.org/wiki/Udhcpc)

답변3

매개변수를 udhcpc로 변경하는 방법은 무엇입니까?

이를 위해 사용할 수 있습니다 udhcpc_opts.

iface eth0 inet dhcp
  udhcpc_opts -t 10
  ...

위의 예는 다음과 같습니다.udhcpc임대를 얻기 위해 최대 10번 시도합니다.

관련 정보