[systemd-devel] Network Interface Names: solution for a desktop OS

Xen list at xenhideout.nl
Sat Apr 16 14:15:27 UTC 2016


Reindl Harald schreef op 16-04-16 14:27:

>> So at that point, I am immediately stuck. This was in large part about
>> people who are NOT expert administrators, remember?
> 
> they don't care about how their interfaces are named

And this is the lie to begin with. You people say this so you can keep
on doing what you do.

You don't ASK those users. You just assume. And when they tell you, you
don't listen.

Linux is not a system where you can remain in a Nice GUI until the end
of the day, to begin with.

Practically everyone will have to use command line commands. Many many
guides require a form of "sudo XXXX". Many guides require the user to
edit configuration files, and whatever you say, this is usually more
convenient using the command line because browsing the FHS in a GUI is
just not very very pleasant due to the way that it is constructed.

The backlash against this renaming may have been enormous but people
just say "oh, that's political". Systemd in general has been the single
thing with the most opposition in the history of Linux that I'm aware of.

Lennart Poettering calls it "the right technical solution in the context
of politically minded objections" or something of the kind (my words,
paraphrasing).

Linux people in general espouse this myth that the Linux user is at once
a complete novice who doesn't care, and at the same time someone who
should be able to learn Vi in three days.

Installing Linux typically means you care to begin with. Unless someone
else does it for you and you have no say in it.

The idea that someone who cares enough to install Linux then won't care
AT ALL about the internals of the system is something entirely
inaccurate and flies in the face of the reality of the kind of people
who actually like Linux.

Not just do you say "doesn't care a LOT" -- you say "doesn't care AT ALL".

You try to treat this average or novice user as some kind of ideal
person who cares /nothing at all/ about system internals. Not just 5%,
but 0%.

This is a myth because Linux is not that kind of system. Mac users? Maybe.

But if you told them, they'd say "ooh yeah, that's not very nice".

That's instant caring. That's an instant level of caring.

The approach to making Linux easy to use with the GUI has generally been
of the kind "cross our fingers and hope he doesn't press ctrl-alt-f2".

Just last night I had to go to a TTY to kill a game that had hung in the
loader. There is a Windows game that runs in Wine but not exactly
flawlessly and I require a TTY to kill it if it happens. Not the game
itself, but the loader, which takes 100% CPU and renders the redrawing
of the screen defunct. That in itself is advanced usage and I am not
doing anything advanced.

I try to start a game. Boom, gone is the ease of use of Linux.

I kill the program. For no reason whatsoever I am logged out of my
session the moment I press ALT-F7 to return to the GUI.

Like, what? If I had been writing anything I would have lost my work now.

You really think you can use Linux to any reasonable degree without
being confronted with system internals?

My kinda person is MORE average than that ideal user that doesn't really
exist. The user that does, at some point, regularly use a shell (command
line) is basically what can be considered the "ordinary" Linux user.

The user that at one point learns about "ifconfig" is more average. If
"nmcli" wasn't so hard to use, people would also be using that program
to configure network or do stuff about it. If it had a nice (ncurses) GUI.

You cannot hold in all reasonability that the use case exists for linux
where you never have to open a shell if it is your own system.

You cannot maintain that a user will never encounter Bash or whatever
shell there is.

If this was my girlfriend (if I had one) (which I may soon do, I guess)
and she'd be stuck in something (and I guess it'd happen regularly) it
would be a lot of support needed for her and I would *try* to teach her
some of the internals. But It'd be very hard I guess (for the type of
girl she is).

Nevertheless people like pretty. Just recently in #nm an expert user
went to great lengths to change the udev database so his NetworkManager
applet would show a nicer name instead of a very long device
identification label.

If and when people are confronted with enp3s0, it will be completely
incomprehensible. What if a guide requires using ifconfig? What if a
guide requires manually configuring something?

You are crossing your fingers and hope it never happens.

You people seem to separate humanhood into two different segments:
either you are too novice and too stupid to understand anything, or you
require having immense skill to do the most basic things.


So either you are the person that has 5000 NICs in his machine and
requires ultimately stable addressing, or you are a turd with no brain
who can't care less about what goes on inside his system.

Or her system. Don't forget the girls. I happen to know girls. I happen
to know they do care about stuff I tell them about, usually. And in this
case I'd tell them "It works, but it only works as far as you don't have
to change anything about it and at that point you are deep in the
water.... and deeper now that they have done this so badly". And they'd
understand.

The average user is not either of those. The average user is not the
person with more than 1 ethernet NIC, and it is also not the person who
has never opened a Bash shell or who never does open a bash shell.

There is more in heaven and earth, than is dreamt of in your philosophy,
Horatio.

For those Linux designers that talk about the experience for the common
user with no skill, it is an idealized picture that people are talking
about. It goes like

"The average user just configures his network using DHCP and doesn't
even know or care how it works. The average user uses
distribution-supplied components and does not worry about changing his
or her browser; may not even consciously know what a "browser" is. The
average user is not even aware that they are using Linux; it is just a
"weird version of Windows". Etc. etc. etc."

Very much how Gnome now treats its users. You are aware of that.

It's an idealized picture and it is not reality okay. Maybe it could be
reality if everything always worked flawlessly, but it doesn't and it won't.

Even in MacOS we suffer because of this idealized picture that Apple
presents. The moment you want something different, people will say "why
do you even want that?". You have so little control over system
internals that you do not even know anything usually about the file
structure that iTunes uses, nor can you make any reasonable choice in that.

People want Linux to have this glossy shine but the reality stands in
stark contrast with that.

The reason I have DHCP on my system and don't bother with static
configuration is because I have it configured on my NAS using dnsmasq.
An ordinary user may not have that. Girls like nice systems too. A girl
I was speaking to a few days ago told me how her boyfriend had created a
bot for their chatroom/group/thing and she really liked that because she
could use it to find stuff in Google etc.

If you could have dynamically resolved hostname addresses in the local
network that could also be used for filesharing browsing, people would
like that. It's not reality. The thing you get with just DHCP and
especially that enp3s0 is just rather poor. You have internet and that's
about it. Apple probably enhances that with iTunes streaming to their
AirPort devices and all of that and their (Mac-based) filesystem sharing
is probably also outstanding from a user experience point of view.

Currently if I want to consistently mount a Windows share on my linux
system I have to put this in fstab:

//diskstation/media /store/media cifs
ip=192.168.1.3,uid=xen,gid=staff,username=xen,password=xxxx,noauto   0
     0

In Windows it is just a matter of browsing, selecting the thing, right
click mount folder, assign drive letter, and it will keep mounting it or
at least attempt to (the thing is bugged if you use the same username
for your computer as for your account on the remote device).

Very common use case. Just don't really work in Linux without editing
fstab with rather difficult parameters from the viewpoint of an
"ordinary" user.

> the ordinary user is not affected at all by the whole topic just because
> the only thing he cares is that he has a network connection, what piece
> of software made it, how interfaces are named and even what a interface
> is don't bother the ordinary user

Yes that is your dream.

The kind of ordinary user people talk about when they are designing
these systems. Or systems in general.

And then you try to shield this ordinary user from these details. And
then it works for a while but it always breaks down.

"The ordinary car owner doesn't care about the engine his car has." Erm,
you speak for everyone right?

Not really.

Not by a far stretch. You are not starting with what people are, but
what you WANT them to be.

Reality is always more rough than your nice models. In Dutch we says
"weerbarstig". Weerbarstig seems to come from "erosion or cracks caused
by weather". What we mean is that reality is not as slick and convenient
and it will throw up bumps in the road.

You are trying to create this fantasy where a person can happily cruise
along never having to worry about those bumbs. And then reality is
having a flat tire.

And this fantasy allows you to completely disregard any concern a person
might have with your (or someone else's) ugly system.

It also gives rise to further reasons not to ever let that ordinary user
come near the internals.

It gives rise to advice against ever turning DHCP off.

Now comes Martin Pitt and he says "This is not true, and a dangerous
piece of advice to give to anybody." to my claim that they have created
the situation where ordinary people (or the majority of users) will want
to turn the whole renaming thing off.

Same thing? You bet. You are creating the situation where ANY kind of
meddling with the system becomes a dangerous thing to the ordinary user.

"Let him not touch the system or it will go to ruin".

"Keep him away from those controls".

The system you create is something that only works as long as the
default is not changed.

It is now "dangerous" to turn off device renaming.
It is now "dangerous" to turn off DHCP.
It might even be "dangerous" to suggest a user to install a different
browser.

Because you live in a fantasy world where everything is perfect and
everything /needs/ to be perfect for the thing to keep working.

Creating a disconnect between the supposed "ideal ordinary user" and the
"system administrator that needs to know and be able to do everything
and anything".

When on another list someone mentioned that from real world experience
he knew that many system administrators that took his courses had a real
problem with Vi, someone scorned "you call that system administrators?".

Somehow this reflects the dichotomy between "root" versus "normal user".
There is nothing in between.

Somehow this reflects the Linux kernel using 2 rings when the Intel
architecture has 4. Nothing in between.

As root you are all powerful, as user you can do nothing.

In ring 0 you can do everything, in ring 3 not much of anything.

Isn't that strange. This split seems to have made it into the minds of
people and now they are trying to separate the user from the
administrator almost completely.


If anything Linux should teach you that you need to know about details.



> how you configure network on your distribution is really up to you
> 
> Google "debian configure network ifcfg files"
> 
> http://www.cyberciti.biz/faq/linux-configure-a-static-ip-address-tutorial/
> http://www.cyberciti.biz/faq/setting-up-an-network-interfaces-file/

Configuring the network and configuring the name of interfaces is a very
different thing.

> Google "debian rename network interfaces by MAC"
> http://unix.stackexchange.com/questions/28878/changing-the-names-of-network-interfaces-debian-wheezy

I think that what Andrei alluded to is that
/lib/udev/rules.d/75-persistent-net-generator.rules has been removed.

The script /lib/udev/write_net_rules still exists, but is intended to be
run by something else. It apparently writes to
/etc/udev/rules.d/70-persistent-net.rules but it is defunct, cannot be used.

There appears still to be a package "ifrename" but it conflicts with
udev and also with "wireless-tools".

So you'd probably have to turn off the systemd renaming and then you
might be able to use that ifrename package.

Andrei mentioned that the infrastructure to do it has been removed. And
I think this is what it means.

Running a script to generate something and then editing the resulting
config file to make it what you want is not all that bad, if you know
how to find the scripts.


More information about the systemd-devel mailing list