Как поднять сетевой интерфейс только в том случае, если он физически присутствует в Ubuntu 14.04?

Как поднять сетевой интерфейс только в том случае, если он физически присутствует в Ubuntu 14.04?

Это продолжениемой старый вопрос:

Какой лучший способ заставить ядро ​​запускать сетевой интерфейс только в том случае, если он физически подключен? Итак, если его нет, просто продолжайте инициализацию других интерфейсов (если таковые имеются) и переходите к экрану входа в систему, без задержки «ожидания конфигурации сети».

Решение, которое тогда пришло, было следующим в etc/network/interfaces, оно работало в 12.04:

auto wlan9
iface wlan9 inet manual
        wpa-ssid MYSSD
        wpa-psk MYKEY
        wpa-proto RSN
        wpa-pairwise CCMP
        wpa-group CCMP
        wireless-power off
        pre-up if [ -f /sys/class/net/wlan9/operstate ]; then ifconfig wlan9 up; fi
        up if [ -f /sys/class/net/wlan9/operstate ]; then dhclient wlan9; fi

К сожалению, он перестал работать после обновления до версии 14.04 Trusty Tahr.Если интерфейс физически отсутствует (т. е. карта USB WiFi отключена), я снова сталкиваюсь с двухминутной задержкой «ожидания конфигурации сети».

Как мне реализовать ту же логику в версии 14.04?

решение1

Для этого можно использовать upstart job. Вырвите разделы pre-up и up, затем создайте файл /etc/init/network-interface_wlan9.conf :

start on net-device-added INTERFACE=wlan9
task
exec ifup wlan9

решение2

Ну, allow-hotplugвместо этого, autoпохоже, помогло.

allow-hotplug wlan9
iface wlan9 inet manual
...

У меня это не сработало в v12.04, задержка загрузки осталась. Видимо, я был не один такой:http://ubuntuforums.org/showthread.php?t=1905244

Связанный контент