Ошибка при переименовании устройства Ethernet: ‘Ошибка, либо устройство является дубликатом, либо “enp96s0f0” — мусор’

Вопрос или проблема

Я получил эти новые компьютеры, которые используют соглашение о наименовании сетей “eno”. Но приложение, с которым я работаю, ожидает соглашение о наименовании “enp96s0f0”. Я пытаюсь переименовать порты, но получаю эту ошибку:

Ошибка: либо устройство является дубликатом, либо "enp96s0f0" — это мусор

Я делаю это, добавляя “net.ifnames=0 biosdevname=0” в GRUB_CMDLINE_LINUX в /etc/default/grub. После обновления grub и перезагрузки сетевые порты появляются с соглашением о наименовании “eth”. Затем я пытаюсь сделать это:

ip link set eth0 down
ip link set eth0 enp96s0f0

И получаю ошибку. Как мне обойти это?

Я понял, в чем была проблема. Всё, что я хотел сделать, это изменить имя. Мне нужно было использовать этот синтаксис:

ip link set eth0 name enp96s0f0

.

Ответ или решение

Когда вы получаете ошибку «Error either dev is a duplicate or "enp96s0f0" is a garbage» при попытке переименовать сетевое устройство в Linux, это может вызывать разочарование, особенно когда вы работаете с новыми компьютерами, которые используют именование сетевых интерфейсов на основе "eno". Давайте подробно разберем возникшую проблему и возможные пути ее решения.

Анализ проблемы

Вы сталкиваетесь с проблемой, когда ваша программа ожидает интерфейсы с именем "enp96s0f0", но при этом система использует имена, назначенные на основе новейших стандартов присвоения имен, таких как "eno" или "eth". Это связано с тем, что в последних версиях Linux была внедрена система предсказуемого именования сетевых интерфейсов, которая основывается на особенностях аппаратного обеспечения.

Вы добавили параметры net.ifnames=0 biosdevname=0 в файл конфигурации GRUB (/etc/default/grub), что является правильным шагом для отключения предсказуемого именования и возврата к старому формату Ethernet, но вам нужно быть внимательным к дальнейшей конфигурации.

Ошибка при переименовании сетевого устройства

Ошибка, которую вы получаете, происходит из-за неверной команды, используемой для переименования интерфейса. Ваша команда:

ip link set eth0 enp96s0f0

вызывает конфликт, так как команда ip link set не поддерживает прямое изменение имени устройства в таком формате. Правильная команда, которую необходимо использовать, выглядит следующим образом:

ip link set eth0 name enp96s0f0

Решение проблемы

Чтобы успешно переименовать сетевой интерфейс и избежать конфликта, выполните следующие шаги:

  1. Обеспечьте правильный синтаксис команды:
    Убедитесь, что вы используете правильную команду для изменения имени интерфейса. Вместо предыдущей команды используйте:

    ip link set eth0 name enp96s0f0
  2. Проверьте существующие интерфейсы:
    Перед переименованием убедитесь, что новый интерфейс не существует. Запустите:

    ip link show

    Это позволит вам увидеть все доступные сетевые интерфейсы и убедиться, что "enp96s0f0" не существует.

  3. Перезагрузите систему:
    Если были изменения в конфигурации GRUB, обязательно выполните команду:

    sudo update-grub

    После этого перезагрузите компьютер для применения изменений.

  4. Проверьте изменения:
    После перезагрузки снова выполните ip link show, чтобы убедиться, что имя интерфейса изменилось на "enp96s0f0".

Заключение

Использование правильного синтаксиса команды ip link set является ключевым моментом в успешном переименовании сетевого интерфейса. Изучение и понимание системы именования сетевых интерфейсов в Linux поможет избежать подобных ошибок в будущем. Если вы продолжаете испытывать трудности или замечаете другие проблемы, рассмотрите возможность обращения за дополнительной помощью к сообществу или документации вашей операционной системы.

Не забывайте: использование предсказуемого именования сетевых интерфейсов предназначено для упрощения управления сетевыми устройствами и может оказать значительное влияние на работу системы.

Оцените материал
Добавить комментарий

Капча загружается...