Web lists-archives.com

Naming of network devices (was: Re: Debian 9 in a VM with Proxmox 5 system)




* Vincent Bernat <bernat@xxxxxxxxxx> [170710 14:56]:
>  ❦ 10 juillet 2017 14:36 -0400, Marvin Renich <mrvn@xxxxxxxxxx> :
> 
> > The only benefit I have seen between the new scheme and the previous
> > one is that there is no state file.  While getting rid of the state
> > file is a nice goal, it is extremely minor compared to having short,
> > simple names in common use cases like inserting a wifi usb dongle.
> 
> Knowing the device name of a wifi dongle seems a pretty niche case. Most
> users will just use network manager to select the appropriate SSID and
> forget about it.

I am specifically addressing the middle-tier users:  those who have some
knowledge, are manually configuring the machine for some reason, but are
not professional sysadmins.  Neither the naive user nor the professional
sysadmin will be bothered by either choice, but I believe that there is
a significant population of Debian users (and Linux users in general)
that fall into the tech-hobbyist category, for whom this is an important
issue.

> > With the new scheme, if I want to rename the interface to something more
> > meaningful, I have to go find an older machine that already has a
> > persistent-net.rules file or read through a lot of documentation to
> > figure out the correct syntax.  I then have to determine the correct
> > ATTR elements to identify the interface in question, and type all of
> > that information by hand, hoping I type everything correctly.
> 
> Have a look at systemd.link(5) which enables you to do that without
> debugging udev.

Okay, I had a look on a six-weeks-before-release stretch VM, and I don't
see anything there that makes this easier than with the udev .rules
file.  There is still no skeleton .link file that already has the
appropriate attributes already filled in.  It looks like I still have to
create a .link file and manually type the appropriate attributes.  Am I
missing something?

BTW, there seems to be a typo in the man page:  it refers to a
/run/systemd/network directory; should that be /run/systemd/netif/links?
I'll leave you to file a bug if appropriate.

> > There is an easy fix to revert the default behavior while still allowing
> > knowledgeable sysadmins to get the new behavior.  On the other hand,
> > those who need to administer systems but are not sysadmins by trade (and
> > thus will have to do significantly more research to even know that the
> > older behavior is possible) are the ones who need the older behavior as
> > the default.
> 
> Having a default behavior that's unreliable doesn't seem great
> either. The change is surprising (and not expected on non-new systems),
> but there is nothing difficult in identifying the right interface with
> the new naming scheme. Other major distributions are using this new
> scheme (notably Ubuntu which has no reason to have users smarter than
> ours) and I don't see a lot of drama on their side. It seems that for
> some reason, we are the only ones making a fuss about any change.

I don't get this at all.  The previous behavior was neither unreliable
nor unpredictable (unless you are talking about much older systems
before persistent-net.rules).  What change is surprising?  The change
between jessie and stretch?  Absolutely.

You have completely sidestepped the question, which is about the
relative importance of the two goals, simple names _all the time_ vs
avoiding a state file.  The previous behavior sacrifices the second,
much less important goal in favor of the first.  The new behavior
sacrifices the first in favor of the second.  Until you address this
issue, all your explanations look like attempts to ameliorate bad
behavior.

...Marvin