this post was submitted on 15 Aug 2023
172 points (98.9% liked)
Linux
48102 readers
1097 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It's main purpose is to make some die-hards angry, I think.
After fighting with multiple network devices today, I feel like I have a right to be angry. Checking the info in dmesg what I see is that the system initially sets up all six NICs (two on the motherboard, four on a card) in the correct order with eth* names. Then something else comes along a couple seconds later (which I assume is systemd) and renames everything to enp* NIC names. If I move the card to a different slot or install a different card with the same model then all those enp* names change to something different, but dmesg still shows their initial eth* names in the expected order before being renamed.
"Predictable" names are anything but, and now you can't even use the standard udev naming or even put link files under /etc/network/interfaces.d/ because all that stuff has been changed again so now I have to move all the link files to /etc/systemd/network/. I don't know how anyone considers this a good thing when the convention keeps changing every few years and I actually have to do extra work to put the names back to what linux originally called them at each boot. Where does the madness end?
If you're using
/etc/network/interfaces.d/
and all the NetworkManager related crap you're doing it wrong. https://garajau.com.br/2022/01/configure-networkd-debian https://tadeubento.com/2023/systemd-hidden-gems-for-a-better-linux/Oh god, does anyone still use NetworkManager by choice??? How would you even use it from the command line? I just configure the interfaces file by hand.
There is a grub argument to pass to the kernel that disables that renaming behaviour entirely.
Yep I'm aware of it. Seemed like it worked for a bit, then reverted back to the enp* names. And then all the pages I was finding for manually renaming the devices said to put the files under interfaces.d for deb11 but oddly it only seemed to read those link files for a few reboots, then it would revert back to the enp names. Found something about using OriginalName because the name changes were overlapping, that worked for a few boots and then reverted back to the enp names. So then I found something about a Path statement using the full pci device names, and THAT worked for a few boots and then reverted. So now I found out that the link files have moved to the systemd/network folder so I'm waiting to see how long that lasts...
And I realize it sounds like I'm talking about a system I've been running for years... I actually just put together this machine last Thursday. I had to start with Debian 9 because I couldn't get any newer memory stick images to boot (this machine doesn't have EUFI support), upgraded to deb10 and everything was still working as expected with the grub lines to disable renaming. Upgraded to deb11 and it all went to hell. I'm having some serious thought of trashing the machine and switching to deuvian now even though I really want to support debian.
Servers are cattle. Take it out the back and shoot it then find a less terrible server.
Uh... there's absolutely nothing wrong with the hardware, it all works exactly as it should. It's just systemd's insistence on rearranging things that aren't broken, and then changing how you fix the problems it created.
Have you considered Devuan a fork of Debian specifically intended to remove systemd.
I have actually. I saw the post for their latest release earlier today and had been seriously considering switching over. This new machine is to replace my existing firewall as the old one has gone through several upgrades since Squeeze, so I'm trying to get something set up to rebuild everything from a clean installation and then I can simply swap out the hardware (and swap it back real quick if something doesn't work right away).
Tell that to windows sysadmins. Windows would reaaaaally like to be treated like a pet. I feel for them.
Did a system upgrade overwrite your grub config?
No the changes for "net.ifnames=0 biosdevname=0" were still in there. Those worked fine for debian 8, 9, and 10 (with adjustments made in udev rules to rename eth4 and eth5 to wan0 and wan1), but neither option seemed to have any effect after upgrading to deb11. When I went searching for renaming the devices in deb11, the first several articles all stated to create link files in interfaces.d, but after all the trouble I went looking further and finally found one that referenced putting the link files in the systemd folder. I just linked the files so they are available in both locations, and that change has continued working for several further reboots so I'm crossing my fingers.
Ah, they might have killed that option in newer kernels. Vaguely remember something about it being a temporary fix, I guess its time has come.