On Mon 08 Jul 2019 at 19:21:37 (+0300), Andrei POPESCU wrote: > On Lu, 08 iul 19, 10:19:35, Curt wrote: > > > > I thought you were saying that > > '/etc/udev/rules.d/70-persistent-net.rules' remains a valid mechanism > > for defining interface names in Buster (fixed). But the release-notes > > (hmm, I think they've been modified since I last looked and now state > > that that file is no longer "officially" supported by udev---but may > > work in some cases). So I wouldn't be filing a bug report against that > > stanza any longer, as current situation seems unverifiable. > > For the record, the current wording (no official support) is based on > input from the Debian systemd maintainers. They should know what is > supported or not ;) > > As far as I know the /etc/udev/rules.d/70-persistent-net.rules method > can fail to properly rename the interfaces in certain situations which > can leave your system without networking. > > Not nice on remote machines. > > It is also my understanding that systems with only one interface (of a > given type[1]) are pretty safe with it or net.ifnames=0, so the impact > on regular[2] desktop/laptop users should be minimal. > > [1] assuming ethernet cards are always named ethX and wireless cards are > always named wlanX by the kernel. I might have had a wireless card that > came up as ethX, but that was a long time ago. Still, something to be > aware of.
I'm still running one that comes up in jessie as eth0 and eth1; stretch gets it right with enp2s2 and wlp2s4 respectively. > [2] one ethernet interface, usually integrated in the motherboard and > one (additional) wireless interface for the laptops. Anything more > complicated than that might break without warning. > > > Well, at the very least people should be informed who is likely to be > > affected by the bug > > In my understanding a lot of daemons are affected. Would it make sense > to (try to) list them all? I guess I don't use my interfaces very adventurously so I don't see many instances of their names, but one or two look odd. On jessie (old-style names), and ignoring comments, I see # grep -r -e '\<eth\>' -e 'eth[01]' /etc/ /etc/wicd/manager-settings.conf:wireless_interface = eth1 /etc/wicd/manager-settings.conf:wired_interface = eth0 /etc/samba/smb.conf:; interfaces = 127.0.0.0/8 eth0 /etc/samba/dhcp.conf: wins server =eth1:192.168.6.1 /etc/resolvconf/interface-order:eth*([^.]).inet6 /etc/resolvconf/interface-order:eth*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc) /etc/resolvconf/interface-order:eth*([^.]).inet /etc/resolvconf/interface-order:eth*([^.]).@(dhclient|dhcpcd|pump|udhcpc) /etc/resolvconf/interface-order:eth* /etc/udev/rules.d/70-persistent-net.rules: … … … [obviously] # The wicd settings were entered by myself. Actually, smb.conf is a comment line (with ;) but I think it was written from information derived from the system. But dhcp.conf looks odd because eth1: (my wireless interface) has never seen a network numbered 192.168.6.0. Turning to a new stretch installation, I see # grep -r -e '\<eth\>' -e 'eth[01]' -e 'enp1s0' -e '\<wl' /etc/ /etc/wicd/manager-settings.conf:wireless_interface = wlp2s0 /etc/wicd/manager-settings.conf:wired_interface = enp1s0 /etc/resolvconf/interface-order:@(br|eth)*([^.]).inet6 /etc/resolvconf/interface-order:@(br|eth)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc) /etc/resolvconf/interface-order:@(br|eth)*([^.]).inet /etc/resolvconf/interface-order:@(br|eth)*([^.]).@(dhclient|dhcpcd|pump|udhcpc) /etc/resolvconf/interface-order:@(br|eth)* /etc/resolvconf/interface-order:@(ath|wifi|wlan)*([^.]).inet6 /etc/resolvconf/interface-order:@(ath|wifi|wlan)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc) /etc/resolvconf/interface-order:@(ath|wifi|wlan)*([^.]).inet /etc/resolvconf/interface-order:@(ath|wifi|wlan)*([^.]).@(dhclient|dhcpcd|pump|udhcpc) /etc/resolvconf/interface-order:@(ath|wifi|wlan)* /etc/init.d/ifplugd: eth*|wlan*) # Again, the wicd settings were entered by myself. So the oddity here is interface-order which has patterns that don't match the interface names. man interface-order doesn't say which directory it should be run in, but I'm assuming it's going to be something like /run/resolvconf/interface where I see files called wlp2s0.dhclient and wlp2s0.wicd. Perhaps I'm off the mark here. I haven't studied the contents of /etc/init.d/ifplugd, but cut and pasting the all_interfaces() function into the commandline prints nothing, whereas editing it eth*|wlan* → en*|wl* makes it report enp1s0 and wlp2s0, which suggests that that script is just plain wrong. BTW, I don't actually use ifplugd; I installed it in June during the "New nomeclature of ethernet devices" thread. Cheers, David.