Я розумію, що це питання давнє, але я потрапив у цю проблему, і жодне із запропонованих до цього часу рішень не вирішило мого питання. Для мене, напевно, хитрість папок Rules.d, здається, нічого не робить.
Моє рішення полягало в тому, щоб просто написати сценарій, який знаходиться у папці init.d, щоб призначити DHCP порту провідного Ethernet незалежно від назви. Це важливо, тому що у мене є кілька підрозділів 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". Цей перший греп захоплює весь рядок інтерфейсу, який ви хочете використовувати. Другий греп приймає цей рядок і повертає лише ім'я інтерфейсу.