BusyBox 버전을 만들지 않은 시스템을 개발 중입니다. 내 구성이 원본과 정확히 일치하지 않을까봐 BusyBox를 다시 컴파일하고 싶지 않지만 그 외에는 이 버전에서 시스템이 잘 작동합니다. 실행 중인 BusyBox 설치의 구성을 추출하는 방법을 알고 있다면(실행 중인 커널과 마찬가지로) 그렇게 할 의향이 있을 것입니다.
udhcpc
명령 호출 을 ifup
위해 스위치를 비활성화하는 방법을 알아 내려고 노력 중입니다 . 내가 사용하고 있는 빌드에 컴파일된 기본값을 볼 수 있습니다. 그들은 -R -n -p
. 나는 이 프로세스가 백그라운드로 진행되기를 원하며 udhcpc_opts -b
in을 사용하면 /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를 다시 컴파일해야 했습니다.