Предсказуемые имена сетевых интерфейсов не должны изменяться при добавлении или удалении оборудования. Разве это не весь смысл схемы именования ???
Короче говоря, в этом нет ничего нового; это ожидается / предназначено. Поэтому вам не нужно сообщать об ошибке, если только вы не хотите попросить вашего производителя ПК лучше поддерживать Linux (BIOS) или производителя оборудования (драйверы). Некоторые варианты, если вы хотите улучшить ситуацию для устройств с «горячей» заменой и / или вернуться к старой схеме именования:
- Отключить новую схему именования для сетевых устройств с
net.ifnames=0
ядром cmdline
- Добавьте
biosdevname=1
командную строку ядра для включения в имена индексов, предоставленных BIOS
- Создание или редактирование
udev
правил для пользовательских имен или измененных схем именования
- Вы отключаете назначение фиксированных имен, так что непредсказуемые имена ядра используются снова. Для этого просто замаскируйте файл .link для udev для политики по умолчанию:
ln -s /dev/null /etc/systemd/network/99-default.link
Если вы используете systemd
и / или udev
, аргумент «предсказуемой схемы именования» может отличаться от предыдущего. На основе схемы именования интерфейса Wi - Fi, хотя, я предполагаю , что вы которые с помощью системы с systemd
.
Вы можете попробовать добавить следующий параметр загрузки к командной строке ядра, чтобы использовать «старое» соглашение об именах сетевых устройств. Тем не менее, я не совсем уверен, какие дополнительные эффекты, если таковые имеются, это может иметь помимо сохранения схемы именования для сетевых устройств.
net.ifnames=0
Добавление его /etc/default/grub
может облегчить сохранение и повторное использование этого параметра; опять же, если вы используете grub2
:
GRUB_CMDLINE_LINUX="net.ifnames=0"
Если udev
при определении имен устройств используются микропрограмма устройства, местоположение и другие параметры, то, возможно, местоположение или что-то еще могло измениться внутри, в зависимости от того, как соответствующие устройства взаимодействуют друг с другом. Это, кажется, не так актуально, поскольку устройства представляют собой адаптер WiFi и звуковую карту. Тем не менее, это может быть связано с базовой структурой шины; что представляется актуальным, поскольку оба устройства подключены к слотам PCI.
Дополнительная информация от FedoraDocs
8.1. Иерархия схем именования
По умолчанию systemd присваивает имена интерфейсам, используя следующую политику для применения поддерживаемых схем именования:
Схема 1: Имена, включающие индексные номера встроенного ПО или BIOS для встроенных устройств (пример: eno1), применяются, если эта информация из микропрограммы или BIOS применима и доступна, в противном случае используется схема 2.
Схема 2: Имена, содержащие встроенное ПО или BIOS, при условии, что индексы слотов горячего подключения PCI Express (пример: ens1) применяются, если эта информация из встроенного программного обеспечения или BIOS применима и доступна, в противном случае используется схема 3.
Схема 3: Имена, включающие физическое местоположение соединителя аппаратного обеспечения (пример: enp2s0), применяются, если применимо, в противном случае напрямую возвращаются к схеме 5 во всех других случаях.
Схема 4: Имена, содержащие MAC-адрес интерфейса (пример: enx78e7d1ea46da), по умолчанию не используется, но доступна, если пользователь выбирает.
Схема 5: Традиционная непредсказуемая схема именования ядра используется в случае сбоя всех других методов (пример: eth0).
Эта политика, описанная выше процедура, используется по умолчанию. Если в системе включено biosdevname, оно будет использовано. Обратите внимание, что включение biosdevname требует передачи biosdevname=1
в качестве параметра командной строки, за исключением случая системы Dell, где biosdevname будет использоваться по умолчанию, пока оно установлено. Если пользователь добавил udev
правила, которые изменяют имя устройств ядра, эти правила будут иметь приоритет.
Дополнительные ресурсы