[make-initrd] udev network interface renaming policy

Alexey Gladkov gladkov.alexey at gmail.com
Thu Sep 23 22:05:55 MSK 2021


On Thu, Sep 23, 2021 at 06:39:38PM +0300, Arseny Maslennikov wrote:
> On Thu, Sep 23, 2021 at 05:22:22PM +0200, Alexey Gladkov wrote:
> > On Thu, Sep 23, 2021 at 05:43:07PM +0300, Arseny Maslennikov wrote:
> > > On Thu, Sep 23, 2021 at 04:05:46PM +0200, Alexey Gladkov wrote:
> > > > On Thu, Sep 23, 2021 at 08:37:08PM +0700, Антон Мидюков wrote:
> > > > > Обнаружил, что сетевой интерфейс включенный в initrd остаётся с именем eth0 при сетевой
> > > > > установке. Что приводит к тому, что в инсталяторе настраиваем eth0, а в установленной системе
> > > > > имеем его с именем enp0s8 подобным без конфигурации. Так что к установленной системе по сети после установки уже
> > > > > можно и не подключиться (сетевой интерфейс подключен один).
> > > > 
> > > > Переименовывает systemd или что-то около его.
> > > 
> > > Переименовывает сам udevd, т. е. его встроенный компонент:
> > > https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_setup_link.c
> > > https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-net_id.c
> > 
> > Пытается переименовать именно оно, вы правы. Но делает она по каким-то
> > полиси:
> > 
> > https://github.com/systemd/systemd/blob/42ffc40ce382dfda5f2a100698673bc252a72194/src/udev/net/link-config.c#L455
> 
> ...Описанным в systemd.link(5). [1]
> 
> > > >>  % cat /lib/udev/rules.d/80-net-setup-link.rules
> > > >>  # do not edit this file, it will be overwritten on update
> > > >>
> > > >>  SUBSYSTEM!="net", GOTO="net_setup_link_end"
> > > >>
> > > >>  IMPORT{builtin}="path_id"
> > > >>
> > > >>  ACTION=="remove", GOTO="net_setup_link_end"
> > > >>
> > > >>  IMPORT{builtin}="net_setup_link"
> > >                      ^^^^^^^^^^^^^^
> > > Вот здесь этот компонент и вступает в игру.
> > > >>
> > > >>  NAME=="", ENV{ID_NET_NAME}!="", NAME="$env{ID_NET_NAME}"
> > > >>
> > > >>  LABEL="net_setup_link_end"
> > 
> > Но это правило есть и у меня на системе, но переименования не случается.
> > Почему этого не происходит у меня я пока не понял.
> 
> Может, лежит в нужном месте .link-файл, в котором указано не
> переименовывать (см. ман-страницу). Или не лежит, а замазан (т. е.
> действительны результаты работы команды `ln -s /dev/null
> /etc/systemd/network/99-default.link')
> 
> [1] https://man7.org/linux/man-pages/man5/systemd.link.5.html

У меня нет systemd вообще. Также нет каталога /etc/systemd/network.
Ну да ладно. Видимо, это частности конкретной системы.

-- 
Rgrds, legion



More information about the Make-initrd mailing list