меняя имена сетевых интерфейсов, debian хрипящий

Здесь уже существует довольно много ответов, но я думал, что подброшу простой

rename 'file.' 'file.000' file.?.png
rename 'file.' 'file.00' file.??.png
rename 'file.' 'file.0' file.???.png

rename утилита прибывает стандарт в каждый дистрибутив, о котором я знаю. Не столь необычный, как некоторые из других решений здесь, но простой легко помнить.

Первая строка берет file.1.png и преобразовывает его в file.0001.png.
Вторые преобразования file.10.png кому: file.0010.png, и третье делает file.100.png в файл 0100.png.
4 цифры уже сделаны.

14
19.07.2014, 03:21
2 ответа

Статьи, которые Вы нашли, несколько устарели. Существует теперь легкий метод для присвоения имен к сетевым интерфейсам через Udev.

На Debian и производных (включая Ubuntu), высматривайте названный файл /etc/udev/rules.d/70-persistent-net.rules. Этот файл создается /lib/udev/rules.d/75-persistent-net-generator.rules с помощью сценария /lib/udev/write_net_rules. Каждый раз udev видит новое сетевое устройство, оно присвоит ему новый номер и добавит то число к /etc/udev/rules.d/70-persistent-net.rules. Тем путем интерфейсные числа являются персистентными через перезагрузки и сохранятся после переустановки, если Вы восстанавливаете /etc.

(Если Ваше распределение не поставляет эти файлы, ищите их в пакете Debian.)

Если Вы хотите дать понятное имя интерфейсу, и Вы имеете /etc/udev/rules.d/70-persistent-net.rules, все, что необходимо сделать, должно отредактировать тот файл и изменение "eth0" кому: "ethLan". Выполненный udevadm trigger --sysname eth0 переименовать существующее устройство после редактирования файла (я думаю, что это требует закрытия интерфейса). Если у Вас нет того файла, можно записать короткое соответствие себе (сложные сценарии, которые добавляет Debian, только, чтобы сделать это автоматически):

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", NAME="ethLan"
17
27.01.2020, 19:50
  • 1
    Если Вы хотите удобный список атрибутов, применимых в правилах udev, можно попробовать что-то как udevadm info -a /sys/class/net/eth0. (см. udevadm(8) для деталей) –  Austin Adams 21.08.2015, 04:18
  • 2
    доли самбы вопрос ясно указывает, чтобы быть для Хрипящего, все же могло бы стоить отметить, что этот ответ больше не действителен для более нового Debian и Ubuntu. При запуске с systemd 220-7 именований интерфейса должны быть сделаны через другие средства. –  sampi 27.05.2016, 18:36
  • 3
    @sampi Мой ответ все еще относится к Debian jessie (текущая стабильная версия). Это перестало работать на фрагменте, или это просто рекомендует устаревший метод? Вы знаете, какой релиз Ubuntu является сокращением? –  Gilles 'SO- stop being evil' 27.05.2016, 18:51
  • 4
    @Gilles, который я не вырыл достаточно глубоко в детали, чтобы знать, перестал ли он на самом деле работать или просто является рекомендуемой депрекацией. Это кажется Ubuntu Коварное и более новое использование systemd выше, чем 220-7. –  sampi 30.05.2016, 16:28

Существует немного более простой способ сделать это с названным пакетом ifrename. Это имеет отдельное (от udev) конфигурационный файл и Вы можете использовать MAC-адреса для идентификации интерфейсов.

Это конфликтует с wireless-tools как бы то ни было.

1
27.01.2020, 19:50
  • 1
    Это должно быть отмечено это ifrename будет конфликтовать с udev если оба используются, чтобы дать интерфейсам персистентные имена. –  Mischa Arefiev 12.01.2012, 11:33

Теги

Похожие вопросы