Andrei POPESCU wrote: >> In issues.dbk: >> >> <section id="migrate-interface-names"> >> <title>Migrating from legacy network interface names</title> >> <para> >> If your system was upgraded from an earlier release, and still uses >> the old-style network interface names that were deprecated with >> stretch (such as <literal>eth0</literal> or <literal>wlan</literal>), > > s/eth0/eth/ ? (since you used the non-numbered names also in upgrading.dbk)
Here I'm just giving a familiar example to identify the scheme from. (Oh, you're right, I'm inconsistent.) >> you should be aware that <systemitem role="package">udev</systemitem> >> in buster no longer supports the mechanism of defining their names via >> <filename>/etc/udev/rules.d/70-persistent-net.rules</filename>. To >> avoid the danger of your machine losing networking after the upgrade >> to buster, it is recommended that you migrate in advance to the new >> naming scheme (usually meaning names like <literal>enp0s1</literal> or >> <literal>wlp2s5</literal>, which incorporate PCI bus- and >> slot-numbers). Take care to update any interface names hard-coded in >> configuration for firewalls, <systemitem >> role="package">ifupdown</systemitem>. >> and so on. >> </para> >> <para> >> The alternative is to switch to a supported mechanism for enforcing >> the old naming scheme, such as the <literal>net.ifname=0</literal> >> kernel commandline option or a systemd <filename>.link</filename> >> file. > > Point to systemd.link(5)? Oh yes, I forgot to come back to this. It's not completely clear what the approved method of doing manpage links is, but one option is to point at <ulink url="https://manpages.debian.org/stretch/udev/systemd.link.5.html">systemd.link(5)</ulink>. or maybe just <ulink url="https://manpages.debian.org/systemd.link">systemd.link(5)</ulink>. >> </para> >> <para> >> To find the new-style names that will be used, first find the >> current names of the relevant interfaces: >> </para> >> <screen >> $ echo /sys/class/net/[ew]* >> </screen> >> <para> >> For each one, check whether it is used in configuration files: >> </para> >> <screen> >> $ sudo rgrep -w eth0 /etc >> </screen> >> <para> >> And what name <systemitem role="package">udev</systemitem> would prefer >> to >> use for it: >> </para> >> <screen> >> $ udevadm test-builtin net_id /sys/class/net/eth0 2>/dev/null >> </screen> >> <para> >> (One of these may be a fallback MAC-based name, sometimes needed >> for USB network hardware.) >> </para> >> >> [Possibly add extra details there for other special cases] (In particular there are onboard cards and PCI hotplug cards, but the upstream docs explain these better than I could.) >> >> <para> >> To switch over, disable <filename>70-persistent-net.rules</filename> >> either by renaming it or by commenting out individual lines. >> On virtual machines you will need to remove the files >> <filename>/etc/systemd/network/99-default.link</filename> and >> (if using virtio network devices) >> <filename>/etc/systemd/network/50-virtio-kernel-names.link</filename>. >> Then rebuild the <filename>initrd</filename>: >> </para> >> <screen> >> $ sudo update-initramfs -u >> </screen> >> <para> >> and reboot. Your system should now have new-style network interface >> names. Adjust any remaining configuration files, and test your system. >> </para> > > https://wiki.debian.org/NetworkConfiguration#Predictable_Network_Interface_Names > suggests this might not be sufficient to activate the predictable naming > on stretch, is this tested? It was enough for me, but there are also at least two other ways of complicating matters: * a net.ifnames=0 option in your grub config * masking /dev/null symlinks in /etc/systemd/network/ Setting up one of those then forgetting about it might cause problems. >> [possibly a paragraph about safe upgrades over SSH] > > I believe your text above provides sufficient information to enable a > remote sysadmin to deal with this without further help. Given unlimited space and copious reliable sources we could also produce a decision tree for which configuration files to modify before or after the reboot, and whether to do test-runs with one-off kernel options and dead-man's-handle cronjobs, and so on, but a small and inaccurate version would probably do more harm than good. > >> <para> >> See the >> <ulink >> url="https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/">upstream >> documentation</link> and the <literal>udev</literal> >> <filename>README.Debian</file> for further information. >> </para> >> </section> >> >> And/or maybe a pointer to some useful page in the Debian Wiki, but I >> suspect we'd need to write one first. >> >> Then in upgrading.dbk >> >> <section id="review-interface-names"> >> <title>Verify network interface name support</title> >> <para> >> Systems upgraded from older releases that still use network interfaces >> with names like <literal>eth</literal> or <literal>wlan</literal> are >> at risk of losing networking once they switch to buster; see >> <xref linkend="migrate-interface-names"/> for migration instructions. >> </para> >> </section> Oh, you're right; there's no reason for that to say "eth" that wouldn't also apply in the previous one. This should either say "like eth0 or wlan0" or "with names starting with eth- or wlan-". -- JBR with qualifications in linguistics, experience as a Debian sysadmin, and probably no clue about this particular package