BusyBox의 ifup에서 사용하는 udchcp 플래그를 재정의합니다.

BusyBox의 ifup에서 사용하는 udchcp 플래그를 재정의합니다.

BusyBox 버전을 만들지 않은 시스템을 개발 중입니다. 내 구성이 원본과 정확히 일치하지 않을까봐 BusyBox를 다시 컴파일하고 싶지 않지만 그 외에는 이 버전에서 시스템이 잘 작동합니다. 실행 중인 BusyBox 설치의 구성을 추출하는 방법을 알고 있다면(실행 중인 커널과 마찬가지로) 그렇게 할 의향이 있을 것입니다.

udhcpc명령 호출 을 ifup위해 스위치를 비활성화하는 방법을 알아 내려고 노력 중입니다 . 내가 사용하고 있는 빌드에 컴파일된 기본값을 볼 수 있습니다. 그들은 -R -n -p. 나는 이 프로세스가 백그라운드로 진행되기를 원하며 udhcpc_opts -bin을 사용하면 /etc/networking/interfaces이 문제가 해결될 것이라고 생각합니다. 포크를 백그라운드에 넣었더니 프로세스가 종료되었습니다. 그냥 udhcpc -b백그라운드로 무한정 분기 한다고 부르면 됩니다 .

-n내가 넣을 수 있는 것으로 스위치를 무시할 수 있는 방법이 있습니까 udhcpc_opts? 감사해요.

답변1

같은 문제가 있었고 busybox를 다시 컴파일하고 싶지 않았고 udhcpc가 백그라운드에서 영원히 시도하도록 하기 위해 "-t 0 -b" 플래그를 사용하고 싶었지만 ifup이 전달한 "-n" 플래그를 피할 수 없었습니다. 기본.

나는 슈퍼 해커이기 때문에(그러나 그것은 나에게 효과적이었습니다) /etc/network/interfaces에서 다음 udhcpc_opts 옵션을 사용했습니다:

udhcpc_opts -t 0 -T 10 -A 20 -S &

끝에 있는 "&"는 udhcpc를 백그라운드 작업으로 시작하므로 "-b" 플래그와 거의 동일하지만 명령줄에 "-n"이 지정된 경우에도 작동합니다.

iface이 작업을 수행하려면 옵션 에 이 항목을 추가해야 합니다. 예를 들면 다음과 같습니다.

iface eth0 inet dhcp
    udhcpc_opts -t 0 -T 10 -A 20 -S &

답변2

동작이 다음 udhcpc -n -b과 같이 동작하도록 수정되었습니다 .udhcpc -b고정시키다~을 위한비지박스 버그 #11691.

따라서 busybox-1.31(아직 출시되지 않음)부터 udhcpc_opts -b예상대로 작동해야 합니다.

답변3

기본 스위치를 재정의할 수 없다는 것을 발견했습니다. udhcpc에 대한 기본 호출에 스위치를 연결할 수 있었지만 백그라운드로 포크 -b하고 실패 시 종료하는 스위치 -n는 상호 배타적이지 않습니다. 따라서 백그라운드로 분기해도 종료 동작이 중지되지 않습니다.

명령에 스위치를 추가하려면 udhcpc_opts/etc/network/interfaces 파일의 ethX 섹션에 스위치를 추가해야 했습니다.

결국 나는 udhcpc 프로세스가 백그라운드로 분기되어 계속 실행될 수 있도록 busybox를 다시 컴파일해야 했습니다.

관련 정보