Учитывая "монолитный" nautre ядра Linux, ошибка в коде, который работает на самом высоком уровне полномочий ЦП, обычно наделяемого правом "привилегированный режим", может разрушить целую систему.
Существует три причины этого:
Таким образом, я не знаю, до какой степени OpenGL работает в ядре или с графическим драйвером, но я надеюсь, что это помогает.
Версия 220-7 в Debian удалила патч, который сделал эту опцию:
* Switch to net.ifnames persistent network interfaces (on new
installations/for new hardware), and deprecate the old
75-persistent-net-generator.rules.
Это произошло из-за предложения в списке debian-devel. Системы, которые использовали старое имя, не будут переименовываться до тех пор, пока пользователь не мигрирует. Прочтите README.Debian для руководства по миграции.
Новое имя можно предсказать, используя:
sudo udevadm test /sys/class/net/eth0 2>/dev/null |grep ID_NET_NAME_
, где eth0
- текущее имя устройства.
, я полагаю, вы говорите о sid или jessie. Для хрипящих вы можете попробовать обратный порт v204.
Здесь могут быть некоторые заблуждения: как видно из правил udev здесь (для v208, находящейся в данный момент в sid), разработчики udev явно выбрали cmdline ядра в качестве способа включения этой функциональности по умолчанию.
Я не вижу ничего по своей природе "переборщившего" с использованием выбранного для этого интерфейса и просто ставлю GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1"
в /etc/default/grub
. Есть ли какой-нибудь конкретный побочный эффект, о котором вы беспокоитесь?
Тот факт, что ответ, о котором вы упомянули, предполагает удаление файла, чтобы отключить его, является хаком (по крайней мере, в случае с Debian), который не будет работать в долгосрочной перспективе, потому что в Debian эти правила хранятся в /lib/udev/rules. d
, т.е.: они будут перезаписаны при обновлении (кроме того, отключение функциональности путём эффективного удаления файла, описывающего это, имеет некоторый смысл, но включение принципиально другое, так что я думаю, что это несправедливое сравнение).
OTOH, если у вас есть конкретная причина не использовать cmdline ядра, вы можете сообщить об ошибке в пакете debian и попросить сопровождающего перенести эти правила в /etc/udev/
. Тогда вы теоретически можете переключиться между текущими "постоянными" и новыми "предсказуемыми" правилами.
Но просто к вашему сведению: глядя на исходники для версии 209, кажется, что вы полностью избавились от проверки net.if_names
, так что ваш вопрос может потребовать некоторой переадресации в ближайшем будущем.
Ubuntu 15.10 использует biosdevname
, которое не обеспечивает предсказуемых имен сетевых интерфейсов. Даже если вы удалите его (apt-get remove biosdevname) и
отредактируете grub ( GRUB_CMDLINE_LINUX_DEFAULT = "net.ifnames = 1"
) и постоянные правила, вы все равно не получите предсказуемую сеть взаимодействует.
Основная причина, по-видимому, в обратной совместимости. Я тестировал его только сейчас с двумя мобильными широкополосными USB-устройствами, и имя сетевого интерфейса непоследовательно называется при каждой загрузке (например, первый интерфейс usb0, второй usb1 и наоборот). Основная причина, по-видимому, заключается в обратной совместимости.
На панели запуска обнаружены некоторые ошибки (например, this ), но краткий ответ заключается в том, что если вы ищете предсказуемые имена сетевых интерфейсов, вам следует искать другой дистрибутив.
В Debian / Ubuntu, начиная с udev 220, вы можете включите новые имена, переименовав этот файл:
sudo mv -T /etc/udev/rules.d/70-persistent-net.rules{,.old}
Как предложено в /usr/share/doc/udev/README.Debian.gz
, а затем
sudo update-initramfs -u
Затем перезагрузите (или rmmod + insmod из модуль, управляющий вашей сетевой картой).