Bug 28484 - Разное именование сетевых интерфейсов в установщике и установленной системе
: Разное именование сетевых интерфейсов в установщике и установленной системе
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/udev)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
: 27685 28955
  Show dependency tree
 
Reported: 2013-01-31 10:06 by
Modified: 2013-05-15 22:16 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2013-01-31 10:06:46
Хотя и в установщике и в установленной системе используется один и тот же udev
197, в установщике (видимо, в силу особенностей initrd и/или стартовых скриптов
установщика) сетевые интерфейсы получают "старые" имена eth[0-9], а после
перезагрузки в установленную систему -- новые "enp0s3" и тп..

Что бы это могло быть?
------- Comment #1 From 2013-01-31 10:30:58 -------
В сборке
ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/half-/20130130/regular-icewm-20130130-i586.iso,
установленной с liveCD и запущенной в VB, единственный сетевой интерфейс
остается eth0.
Но там udev-197-alt1 и ядро 3.7.4-std-def-alt1
------- Comment #2 From 2013-01-31 10:46:50 -------
(В ответ на комментарий №1)
> В сборке
> ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/half-/20130130/regular-icewm-20130130-i586.iso,
> установленной с liveCD и запущенной в VB, единственный сетевой интерфейс
> остается eth0.
> Но там udev-197-alt1 и ядро 3.7.4-std-def-alt1

А вот после обновления этой системы в процессе загрузки прежнего ядра:
(initrd): Stage 'killall' failed
------- Comment #3 From 2013-01-31 10:50:39 -------
Yf
/lib/udev/rules.d/80-net-name-slot.rules
------- Comment #4 From 2013-01-31 10:52:05 -------
(В ответ на комментарий №2)
> (В ответ на комментарий №1)
> > В сборке
> > ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/half-/20130130/regular-icewm-20130130-i586.iso,
> > установленной с liveCD и запущенной в VB, единственный сетевой интерфейс
> > остается eth0.
> > Но там udev-197-alt1 и ядро 3.7.4-std-def-alt1
> 
> А вот после обновления этой системы в процессе загрузки прежнего ядра:
> (initrd): Stage 'killall' failed
Со второй попытки загрузилось, сетевой интерфейс остался eth0
------- Comment #5 From 2013-01-31 10:53:14 -------
Насколько я понял, проблема в том, что в initrd не попадает
/lib/udev/rules.d/80-net-name-slot.rules
------- Comment #6 From 2013-01-31 10:54:18 -------
> А вот после обновления этой системы в процессе загрузки прежнего ядра:
> (initrd): Stage 'killall' failed
Это явно не имеет отношения к этой ошибке
------- Comment #7 From 2013-01-31 11:57:36 -------
(В ответ на комментарий №5)
> Насколько я понял, проблема в том, что в initrd не попадает
> /lib/udev/rules.d/80-net-name-slot.rules

Добавление /lib/udev/rules.d/80-net-name-slot.rules в образ initrd не решает.
То ли этого мало, то ли какие-то правила из make-initrd успевают первыми..
------- Comment #8 From 2013-02-06 11:40:19 -------
Насколько я могу судить, проблема возникает в первую очередь изза того, что
файл  75-net-description.rules находится в пакете udev-extras, а
80-net-name-slot.rules -- в пакете udev-rules, но это правило не работает без
75-net-description.rules
Видимо, следует переместить 75-net-description.rules в пакет udev-rules.
------- Comment #9 From 2013-02-06 20:26:59 -------
JFYI, при добавлении udev-extras в regular-icewm.iso получил в установленной
системе с единственным Ethernet-интерфейсом опущенный enp0s3, при этом в livecd
наблюдаю нормально поднятый по DHCP eth0.  Убрал udev-extras -- порядок.
------- Comment #10 From 2013-02-06 20:35:39 -------
(В ответ на комментарий №8)
> Насколько я могу судить, проблема возникает в первую очередь изза того, что
> файл  75-net-description.rules находится в пакете udev-extras, а
> 80-net-name-slot.rules -- в пакете udev-rules, но это правило не работает без
> 75-net-description.rules
> Видимо, следует переместить 75-net-description.rules в пакет udev-rules.

отправил на сборку 197-alt3, перенес 75-net-description.rules в пакет
udev-rules.
------- Comment #11 From 2013-02-06 20:38:45 -------
(В ответ на комментарий №9)
> JFYI, при добавлении udev-extras в regular-icewm.iso получил в установленной
> системе с единственным Ethernet-интерфейсом опущенный enp0s3, при этом в livecd
> наблюдаю нормально поднятый по DHCP eth0.  Убрал udev-extras -- порядок.

С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно
------- Comment #12 From 2013-02-06 20:45:57 -------
(В ответ на комментарий №11)
> (В ответ на комментарий №9)
> > JFYI, при добавлении udev-extras в regular-icewm.iso получил в установленной
> > системе с единственным Ethernet-интерфейсом опущенный enp0s3, при этом в livecd
> > наблюдаю нормально поднятый по DHCP eth0.  Убрал udev-extras -- порядок.
> 
> С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно

Будем надеяться, что не опущенный.
------- Comment #13 From 2013-02-06 23:08:16 -------
(В ответ на комментарий №11)
> С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно
С правильностью согласиться не могу (доводы апстрима читал и нашёл, мягко
говоря, недостаточно убедительными); придётся учесть в своих сборках для людей.

Также напоминаю, что стоит проверить обновление при уже существующей сетевой
конфигурации -- если у людей с настроенным eth0 обновление принесёт отпад сети,
радости их вряд ли будет предел и производная.

Понимаю, что вы с Лёшей в том не виноваты, но перед пользователями отвечаем
вместе...
------- Comment #14 From 2013-02-06 23:47:29 -------
(В ответ на комментарий №13)
> (В ответ на комментарий №11)
> > С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно
> С правильностью согласиться не могу (доводы апстрима читал и нашёл, мягко
> говоря, недостаточно убедительными); придётся учесть в своих сборках для людей.

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

> Также напоминаю, что стоит проверить обновление при уже существующей сетевой
> конфигурации -- если у людей с настроенным eth0 обновление принесёт отпад сети,
> радости их вряд ли будет предел и производная.

Обновление не удаляет ранее сгенерированный рулез. Что бы перейти на новое
именование интерфейсов надо самому специально удалить рулез.

> 
> Понимаю, что вы с Лёшей в том не виноваты, но перед пользователями отвечаем
> вместе...
------- Comment #15 From 2013-02-07 00:17:14 -------
(В ответ на комментарий №14)
> Если хочешь, могу тебе запаковать старый генератор рулеза в отдельный пакет.
Если несложно.

[понял, спасибо]
------- Comment #16 From 2013-02-07 11:53:29 -------
> Будем надеяться, что не опущенный.
А с чего бы ему быть опущенным? Проблема возникала изза того, что в системах,
загруженной с установочного носителя и установленной были разные имена
интерфейсов (у меня и у Миши оно взрывалось в разные стороны), а теперь будут
одинаковые.
------- Comment #17 From 2013-02-07 11:55:16 -------
udev 197-alt3 и make-initrd-propagator-0.14
------- Comment #18 From 2013-02-07 20:07:39 -------
(В ответ на комментарий №15)
> (В ответ на комментарий №14)
> > Если хочешь, могу тебе запаковать старый генератор рулеза в отдельный пакет.
> Если несложно.

пакет udev-rule-generator-net
------- Comment #19 From 2013-02-08 04:19:25 -------
(В ответ на комментарий №16)
> > Будем надеяться, что не опущенный.
> А с чего бы ему быть опущенным?
Например, никто не озаботился конфигурированием.  Как подсказал sem@,
default/options-eth на dhcp никак нельзя тащить, т.к. бриджам поплохеет (да и
не переконфигурировать такое потом альтератором).

> а теперь будут одинаковые.
В общем, изобразил на коленке livecd-net-eth -- хорошо бы его коллегиально
посмотреть и довести до приличного вида, раз уж перетаскиваем с предположения
об имени интерфейса на определение имён интерфейсов в рантайме.  Больше всего
промучился с service-файлом, комментарии опущу, пожалуй.

(В ответ на комментарий №18)
> пакет udev-rule-generator-net
Поймал, вот только и при его установленности в livecd огрёб enp0s3.
------- Comment #20 From 2013-02-08 15:14:49 -------
Как-то оно всё равно не всегда работает :(
Поставил систему из утреннего сизифа. В процессе установки интерфейсы были en*
после установки: eth*
systemd
правила все на месте нужные.
----------------------
udevadm info /sys/class/net/eth1
P: /devices/pci0000:00/0000:00:04.0/net/eth1
E: DEVPATH=/devices/pci0000:00/0000:00:04.0/net/eth1
E: ID_BUS=pci
E: ID_MM_CANDIDATE=1
E: ID_MODEL_ID=0x8139
E: ID_NET_NAME_MAC=enx805400a16ac8
E: ID_NET_NAME_PATH=enp0s4
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_PRODUCT_FROM_DATABASE=RTL-8139/8139C/8139C+
E: ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd.
E: ID_VENDOR_ID=0x10ec
E: IFINDEX=3
E: INTERFACE=eth1
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp0s4
E: TAGS=:systemd:
E: USEC_INITIALIZED=91173
-----------------------
E: ID_NET_NAME_PATH=enp0s4, а имя всё равно eth0, такое впечатление, что то ли
кто-то имя успел ему дать, то ли не знаю что..
------- Comment #21 From 2013-02-08 15:26:32 -------
showstopper, однако.
normal->critical
------- Comment #22 From 2013-02-09 13:47:30 -------
(В ответ на комментарий №19)
> (В ответ на комментарий №18)
> > пакет udev-rule-generator-net
> Поймал, вот только и при его установленности в livecd огрёб enp0s3.
забыл, надо ещё упаковать симлинк /etc/udev/rules.d/75-net-description.rules ->
/dev/null, что бы работал только старый метод.
В следующей сборке.
------- Comment #23 From 2013-02-09 13:49:12 -------
(В ответ на комментарий №20)
> Как-то оно всё равно не всегда работает :(
> Поставил систему из утреннего сизифа. В процессе установки интерфейсы были en*
> после установки: eth*
> systemd
> -----------------------
> E: ID_NET_NAME_PATH=enp0s4, а имя всё равно eth0, такое впечатление, что то ли
> кто-то имя успел ему дать, то ли не знаю что..
etcnet переименовал?
------- Comment #24 From 2013-02-10 19:47:47 -------
(В ответ на комментарий №20)
> такое впечатление, что то ли кто-то имя успел ему дать, то ли не знаю что..
В dmesg | grep renamed не отметилось?

(В ответ на комментарий №23)
> etcnet переименовал?
Маловероятно, если разве кто iftab создавал.

(В ответ на комментарий №22)
> забыл, надо ещё упаковать симлинк [...] В следующей сборке.
А, тогда работает:
http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/tmp/regular-icewm-20130210-i586.iso

Только ещё поправил make-initrd-propagator (0.15-alt1):
http://git.altlinux.org/people/mike/packages/?p=make-initrd-propagator.git;a=commitdiff;h=7f78167fb68e08972af39e7fc1c12f7ca8984323
(чтобы поддерживал оба варианта в зависимости от наличия
/lib/udev/write_net_rules).
------- Comment #25 From 2013-02-11 12:48:54 -------
----------------------
> > E: ID_NET_NAME_PATH=enp0s4, а имя всё равно eth0, такое впечатление, что то ли
> > кто-то имя успел ему дать, то ли не знаю что..
> etcnet переименовал?
Да с чего бы ему? Тем более, что у  etcnet как раз сконфигурирован enp*
------- Comment #26 From 2013-02-11 12:58:17 -------
(В ответ на комментарий №24)
> (В ответ на комментарий №20)
> > такое впечатление, что то ли кто-то имя успел ему дать, то ли не знаю что..
> В dmesg | grep renamed не отметилось?
[root@host-101 ~]# dmesg | grep renam
[root@host-101 ~]# dmesg | grep eth0
[    0.763611] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 82:54:00:50:91:c1
[    0.763617] e1000 0000:00:03.0 eth0: Intel(R) PRO/1000 Network Connection
[    6.414689] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    6.414692] 8021q: adding VLAN 0 to HW filter on device eth0
[    6.416488] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control:
RX
[    6.416908] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[root@host-101 ~]#
------- Comment #27 From 2013-02-11 13:59:03 -------
(В ответ на комментарий №24)
> (В ответ на комментарий №20)
> > такое впечатление, что то ли кто-то имя успел ему дать, то ли не знаю что..
> В dmesg | grep renamed не отметилось?
> 
> (В ответ на комментарий №23)
> > etcnet переименовал?
> Маловероятно, если разве кто iftab создавал.
> 
> (В ответ на комментарий №22)
> > забыл, надо ещё упаковать симлинк [...] В следующей сборке.
Извиняюсь, ошибся. Надо только 80-net-name-slot.rules скрыть,
75-net-description.rules трогать не надо.
Топравляю в сизиф.

> А, тогда работает:
> http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/tmp/regular-icewm-20130210-i586.iso
> 
> Только ещё поправил make-initrd-propagator (0.15-alt1):
> http://git.altlinux.org/people/mike/packages/?p=make-initrd-propagator.git;a=commitdiff;h=7f78167fb68e08972af39e7fc1c12f7ca8984323
> (чтобы поддерживал оба варианта в зависимости от наличия
> /lib/udev/write_net_rules).
------- Comment #28 From 2013-02-11 17:58:15 -------
На сегодняшний день наблюдаю такое, немного пародоксальное поведение:
на sysvinit имена интерфейсов en*
на systemd имена интерфейсов eth*
------- Comment #29 From 2013-02-11 19:52:26 -------
У меня еще веселее.
livecd в kvm:
[altlinux@localhost ~]$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode
DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
mode DEFAULT qlen 1000
    link/ether 52:54:00:a1:0b:eb brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
mode DEFAULT qlen 1000
    link/ether 52:54:00:10:5b:ce brd ff:ff:ff:ff:ff:ff

В установленной системе:
[test@c251 ~]$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode
DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
mode DEFAULT qlen 1000
    link/ether 52:54:00:a1:0b:eb brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
mode DEFAULT qlen 1000
    link/ether 52:54:00:10:5b:ce brd ff:ff:ff:ff:ff:ff

[test@c251 ~]$ rpm -q udev
udev-197-alt5
------- Comment #30 From 2013-02-11 20:44:47 -------
> У меня еще веселее.
В инстлятторе все так же: en* и eth1, после установки eth0 и eth1.
------- Comment #31 From 2013-02-11 23:10:47 -------
(В ответ на комментарий №27)
> Извиняюсь, ошибся. Надо только 80-net-name-slot.rules скрыть,
> 75-net-description.rules трогать не надо. Отправляю в сизиф.
Во, так совсем хорошо :)

TWIMC: сделал и отправил в сизиф livecd-net-eth, который позволяет настраивать
определившиеся (но не вновь добавляемые) в рантайме ethernet-интерфейсы.
------- Comment #32 From 2013-02-12 20:48:50 -------
Разное именование интерфейсов - это, похоже, нормально в данном случае, как
подсказал boyarsh@.
Главное, что с udev-197-alt6 они теперь называются одинаково и в исталяторе, и
в установленной системе.
Мне кажется FIXED.
------- Comment #33 From 2013-02-13 13:26:56 -------
(В ответ на комментарий №32)
> Разное именование интерфейсов - это, похоже, нормально в данном случае, как
> подсказал boyarsh@.
> Главное, что с udev-197-alt6 они теперь называются одинаково и в исталяторе, и
> в установленной системе.
> Мне кажется FIXED.

2boyarsh: FIXED?
------- Comment #34 From 2013-02-13 13:48:14 -------
да
------- Comment #35 From 2013-04-26 10:07:04 -------
Вылезло сегодня после dist-upgrade до Sisyphus.

udev переименовал интерфейс на сервере в enp0s3 и сеть на нём не поднялась. Кто
виноват ?
------- Comment #36 From 2013-04-26 10:12:25 -------
вылечил добавление net.ifnames=0 в параметры ядру. Но такое поведение при
обновлении чревато.
------- Comment #37 From 2013-04-26 10:14:47 -------
(В ответ на комментарий №36)
> вылечил добавление net.ifnames=0 в параметры ядру. Но такое поведение при
> обновлении чревато.

http://www.altlinux.org/Update/p7
------- Comment #38 From 2013-05-15 22:11:11 -------
(In reply to comment #24)
> Только ещё поправил make-initrd-propagator (0.15-alt1):
> http://git.altlinux.org/people/mike/packages/?p=make-initrd-propagator.git;a=commitdiff;h=7f78167fb68e08972af39e7fc1c12f7ca8984323
> (чтобы поддерживал оба варианта в зависимости от наличия
> /lib/udev/write_net_rules).
Возможно, это была ошибка, см. тж. bug #28955 comment 8.
------- Comment #39 From 2013-05-15 22:16:10 -------
<vsu> gvy: но работать оно действительно не должно
<vsu>
http://git.altlinux.org/gears/s/systemd.git?p=systemd.git;a=commitdiff;h=97595710b77aa162ca5e20da57d0a1ed7355eaad
<vsu> gvy: так что udev-rule-generator-net в таком виде можно только выбросить
<vsu> https://bugs.freedesktop.org/show_bug.cgi?id=53837
<vsu> как обычно, RESOLVED WONTFIX