나는이 질문이 오래되었다는 것을 알고 있지만이 문제에 부딪 쳤으며 지금까지 제안 된 해결책 중 어느 것도 내 문제를 해결하지 못했습니다. 나에게 rules.d 폴더 트릭은 아무것도하지 않는 것 같습니다.
내 솔루션은 단순히 이름에 관계없이 유선 이더넷 포트에 DHCP를 할당하기 위해 init.d 폴더에 들어가는 스크립트를 작성하는 것이 었습니다. 이것은 여러 개의 Raspberry Pi 장치가 있으며 모두 동일한 문제가 발생했기 때문에 중요합니다. (매우 실망스러운)
부팅 프로세스 중에 마운트해야하는 네트워크 스토리지 폴더가 있기 때문에 문제가 복잡해집니다. 인터페이스가 나타나지 않았기 때문에이 마운트가 실패하고 상황이 나 빠지게되었습니다.
여기 내 해결책이 있습니다. 위의 답변을 사용하여 가입을 찾을 수없는 다른 사람에게 도움이되기를 바랍니다.
자주 사용하는 텍스트 편집기를 사용하여 /etc/init.d/raspi-init-network 파일을 작성하십시오. vi를 사용하고 싶습니다.
cd /etc/init.d
sudo vi raspi-init-network
이것은 파일에 속하는 코드입니다
#!/bin/sh
### BEGIN INIT INFO
# Provides: boot-identify-myself
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: identify-myself
# Description: identify this computer to the main server upon
### END INIT INFO
#
# when using predictible network names for the interfaces,
# the pi doesn't seem to activate the interface correctly so
# this script will force the issue.
#
# it works by getting the interface name of the wired network
# device and using that to initialize dhcp
start()
{
interface=`ifconfig -a | grep "encap:Ethernet" | grep -oh -E "^[^ ]+"`
dhclient $interface
mount -a
}
stop()
{
: # do nothing
}
uninstall()
{
: # do nothing
}
case "$1" in
start)
start
;;
stop)
stop
;;
uninstall)
uninstall
;;
retart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|uninstall}"
esac
스크립트가 실행 가능한지 확인하십시오
sudo chmod 755 raspi-init-network
update-rc.d 명령을 실행하여 부팅 프로세스 중에 코드가 실행되도록 코드를 활성화하십시오.
sudo update-rc.d raspi-init-network defaults 90
그 후, 나는 단일 문제가 없었고 동일한 꾸준한 결과로 모든 Pi 장치에 코드를 복사 할 수있었습니다.
참고 : 드라이브를 마운트하지 않는 경우 "mount -a"라인을 생략 할 수 있습니다.
조정 : Wi-Fi를 사용하는 경우 "interface ="로 시작하는 라인을 변경하고 첫 번째 "grep"세그먼트를 편집 할 수 있습니다. 이 첫 번째 grep은 사용하려는 인터페이스의 전체 라인을 가져옵니다. 두 번째 grep은 해당 줄을 가져 와서 인터페이스 이름 만 반환합니다.