Linux 서비스의 응답성 ( 서비스의 호출 및 기본 DHCP udhcpc
관련 )은 프롬프트에 로그인하기 전과 후에 다릅니다./etc/init.d/S40network
ip up
udhcpc
/etc/init.d/rcS
(부팅 순서)를 통해 호출되면 udhcpc
IP 주소가 할당되지 않습니다.
udhcpc: no lease, failing
그러나 일단 루트 계정으로 로그인 S40network restart
하면 udhcpc
.
이는 /etc/inittab
정상적이고 기본적인 사항입니다.
# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <[email protected]>
#
# Note: BusyBox init doesn't support runlevels. The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id == tty to run on, or empty for /dev/console
# runlevels == ignored
# action == one of sysinit, respawn, askfirst, wait, and once
# process == program to run
# Startup the system
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a
::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
::sysinit:/etc/init.d/rcS
# Put a getty on the serial port
ttyPS0::respawn:/sbin/getty -L ttyPS0 0 vt100 # GENERIC_SERIAL
# Stuff to do for the 3-finger salute
#::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r
이것을 어떻게 설명할 수 있나요?
답변1
나는 당신과 같은 문제가 있었습니다. 시작하는 동안 실패했지만 나중에 수동으로 호출하면 제대로 작동할 것입니다. 다양한 로그를 확인하는 동안 인터페이스가 나타날 때 udhcpc가 초기화되는 것 같아서 처음 몇 가지 결과가 실제로 인터페이스를 통해 발행되지 않는다는 것을 깨달았습니다.
이상적으로는 인터페이스가 안정된 후에만 udhcpc가 시작되도록 하는 것이 좋지만, 이를 달성하는 방법을 모르기 때문에 udhcpc 시도 횟수를 늘렸습니다. 일반적으로 4~5회 시도 후에 IP를 얻지만, 극단적인 경우를 처리하기 위해 시도 횟수를 10회로 늘렸습니다.
아래 두 번째 줄을 추가하세요./etc/network/interfaces
iface eth0 inet dhcp
udhcpc_opts -t 10 #sets max retries to 10
#rest of config params