Package: udev
Version: 151-1
Severity: wishlist

Hi,

I've encountered problems with the persistent net rules on various
sytems, both stable and unstable.

On any system not dynamically handling all available network devices,
such as one using /etc/network/interfaces rather than something like
NetworkManager, renaming interfaces can both help and hurt.  On the one
hand, providing stable names helps when writing different stanzas for
multiple network interfaces and expecting them to work.  On the other
hand, renaming network interfaces when the MAC address changes can break
systems that simply have "allow-hotplug eth0" and expect that to bring
up the network.

I've built bootable USB keys for various purposes, and for those I tend
to expect to just bring up whatever interfaces exist, at which point
renaming can cause problems.  For instance, by default
/etc/network/interfaces just has "allow-hotplug eth0", so if I plug the
USB key into a new system, identical except for MAC address, the network
won't come up.

On stable, I can just rm
70-persistent-net.rules and 75-persistent-net-generator.rules, and on
unstable I can touch /etc/udev/rules.d/75-persistent-net-generator.rules
to achieve the same effect.  However, it seems worth documenting this in
the "Network Interfaces" section of README.Debian as the suggested
approach to avoid the renaming.  Suggested text:

"""
Some systems may not want persistent network interface names; for
instance, some systems just want eth0 to always refer to the first
ethernet device.  To disable udev's persistent device naming, remove
/etc/udev/rules.d/70-persistent-net.rules, and create an empty
/etc/udev/rules.d/75-persistent-net-generator.rules to disable the
corresponding file in /lib/udev/rules.d/ .
"""

I think that would help; however, I also wonder if some approach might
exist to figure out when renaming will do more harm than good, to handle
this more automatically.

Does any means exist to give an interface multiple names and have them
all work?  For instance, could an interface go by both "eth0" and
"eth1p"?  If so, it might make sense to provide each interface under
both a "stable" name and a "kernel" name.  For the benefit of the
initial /etc/network/interfaces setup, I suspect it makes sense to make
"eth0" and similar the kernel name, and provide a separate stable name;
the admin could then choose whether to refer to an interface via the
stable name or the kernel name, and get the behavior they want.

If not (and I can see how that could get confusing), perhaps some other
approach might allow detection of when renaming should not occur.  For
instance, perhaps udev could rename ethN to ethMp if and only if
configuration doesn't exist for ethN.  Deciding what constitutes
"configuration for ethN" seems like the interesting part, though.
Checking /etc/network/interfaces might or might not prove sufficient;
certainly the admin could choose to use an alternate network
configuration system.  Perhaps some udev configuration file could
specify interfaces to leave alone.

The problem here seems clear; the solution rather less so.

In any case, if you feel that udev can't or shouldn't do any more than
it does apart from the documentation suggested above, feel free to close
or to clone/reassign to a more appropriate package.  (Or feel free to
tell me to do so if you prefer.)

Thanks for your maintenance of udev.

- Josh Triplett

-- Package-specific info:
-- /etc/udev/rules.d/:
/etc/udev/rules.d/:
total 20
lrwxrwxrwx 1 root root   19 Nov 20  2008 025_libgphoto2.rules -> 
../libgphoto2.rules
lrwxrwxrwx 1 root root   31 Feb 11  2009 025_usb-autosuspend.rules -> 
/etc/udev/usb-autosuspend.rules
-rw-r--r-- 1 root root  495 May 20  2009 56-hpmud_support.rules
-rw-r--r-- 1 root root 1466 Dec 25 17:43 70-persistent-cd.rules
-rw-r--r-- 1 root root 1199 Sep 27 11:55 70-persistent-net.rules
lrwxrwxrwx 1 root root   15 Nov 20  2008 85-pcmcia.rules -> ../pcmcia.rules
-rw-r--r-- 1 root root 5354 Mar 16  2009 z60_hplip.rules

-- /sys/:
/sys/dev
/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input4/event4/dev
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input12/event12/dev
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input2/event2/dev
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input3/event3/dev
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/dev
/sys/devices/pci0000:00/0000:00:02.0/drm/controlD64/dev
/sys/devices/pci0000:00/0000:00:02.0/graphics/fb1/dev
/sys/devices/pci0000:00/0000:00:1a.0/usb3/dev
/sys/devices/pci0000:00/0000:00:1a.1/usb4/dev
/sys/devices/pci0000:00/0000:00:1a.2/usb5/dev
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.0/input/input6/event6/dev
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.0/video4linux/video0/dev
/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-6/dev
/sys/devices/pci0000:00/0000:00:1a.7/usb1/dev
/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0/dev
/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0/dev
/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input10/event10/dev
/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input7/event7/dev
/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input8/event8/dev
/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/input9/event9/dev
/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c/dev
/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p/dev
/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p/dev
/sys/devices/pci0000:00/0000:00:1d.0/usb6/dev
/sys/devices/pci0000:00/0000:00:1d.1/usb7/dev
/sys/devices/pci0000:00/0000:00:1d.2/usb8/dev
/sys/devices/pci0000:00/0000:00:1d.7/usb2/dev
/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/dev
/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/dev
/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda2/dev
/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0/dev
/sys/devices/platform/efifb.0/graphics/fb0/dev
/sys/devices/platform/i8042/serio0/input/input1/event1/dev
/sys/devices/platform/i8042/serio1/input/input11/event11/dev
/sys/devices/platform/i8042/serio1/input/input11/mouse1/dev
/sys/devices/platform/serial8250/tty/ttyS0/dev
/sys/devices/platform/serial8250/tty/ttyS1/dev
/sys/devices/platform/serial8250/tty/ttyS2/dev
/sys/devices/platform/serial8250/tty/ttyS3/dev
/sys/devices/pnp0/00:07/rtc/rtc0/dev
/sys/devices/virtual/block/loop0/dev
/sys/devices/virtual/block/loop1/dev
/sys/devices/virtual/block/loop2/dev
/sys/devices/virtual/block/loop3/dev
/sys/devices/virtual/block/loop4/dev
/sys/devices/virtual/block/loop5/dev
/sys/devices/virtual/block/loop6/dev
/sys/devices/virtual/block/loop7/dev
/sys/devices/virtual/input/input0/event0/dev
/sys/devices/virtual/input/input0/mouse0/dev
/sys/devices/virtual/input/input5/event5/dev
/sys/devices/virtual/input/mice/dev
/sys/devices/virtual/mem/full/dev
/sys/devices/virtual/mem/kmsg/dev
/sys/devices/virtual/mem/mem/dev
/sys/devices/virtual/mem/null/dev
/sys/devices/virtual/mem/port/dev
/sys/devices/virtual/mem/random/dev
/sys/devices/virtual/mem/urandom/dev
/sys/devices/virtual/mem/zero/dev
/sys/devices/virtual/misc/agpgart/dev
/sys/devices/virtual/misc/cpu_dma_latency/dev
/sys/devices/virtual/misc/fuse/dev
/sys/devices/virtual/misc/hpet/dev
/sys/devices/virtual/misc/kvm/dev
/sys/devices/virtual/misc/mcelog/dev
/sys/devices/virtual/misc/network_latency/dev
/sys/devices/virtual/misc/network_throughput/dev
/sys/devices/virtual/misc/nvram/dev
/sys/devices/virtual/misc/psaux/dev
/sys/devices/virtual/misc/rfkill/dev
/sys/devices/virtual/misc/snapshot/dev
/sys/devices/virtual/misc/vga_arbiter/dev
/sys/devices/virtual/sound/seq/dev
/sys/devices/virtual/sound/timer/dev
/sys/devices/virtual/tty/console/dev
/sys/devices/virtual/tty/ptmx/dev
/sys/devices/virtual/tty/tty/dev
/sys/devices/virtual/tty/tty0/dev
/sys/devices/virtual/tty/tty1/dev
/sys/devices/virtual/tty/tty10/dev
/sys/devices/virtual/tty/tty11/dev
/sys/devices/virtual/tty/tty12/dev
/sys/devices/virtual/tty/tty13/dev
/sys/devices/virtual/tty/tty14/dev
/sys/devices/virtual/tty/tty15/dev
/sys/devices/virtual/tty/tty16/dev
/sys/devices/virtual/tty/tty17/dev
/sys/devices/virtual/tty/tty18/dev
/sys/devices/virtual/tty/tty19/dev
/sys/devices/virtual/tty/tty2/dev
/sys/devices/virtual/tty/tty20/dev
/sys/devices/virtual/tty/tty21/dev
/sys/devices/virtual/tty/tty22/dev
/sys/devices/virtual/tty/tty23/dev
/sys/devices/virtual/tty/tty24/dev
/sys/devices/virtual/tty/tty25/dev
/sys/devices/virtual/tty/tty26/dev
/sys/devices/virtual/tty/tty27/dev
/sys/devices/virtual/tty/tty28/dev
/sys/devices/virtual/tty/tty29/dev
/sys/devices/virtual/tty/tty3/dev
/sys/devices/virtual/tty/tty30/dev
/sys/devices/virtual/tty/tty31/dev
/sys/devices/virtual/tty/tty32/dev
/sys/devices/virtual/tty/tty33/dev
/sys/devices/virtual/tty/tty34/dev
/sys/devices/virtual/tty/tty35/dev
/sys/devices/virtual/tty/tty36/dev
/sys/devices/virtual/tty/tty37/dev
/sys/devices/virtual/tty/tty38/dev
/sys/devices/virtual/tty/tty39/dev
/sys/devices/virtual/tty/tty4/dev
/sys/devices/virtual/tty/tty40/dev
/sys/devices/virtual/tty/tty41/dev
/sys/devices/virtual/tty/tty42/dev
/sys/devices/virtual/tty/tty43/dev
/sys/devices/virtual/tty/tty44/dev
/sys/devices/virtual/tty/tty45/dev
/sys/devices/virtual/tty/tty46/dev
/sys/devices/virtual/tty/tty47/dev
/sys/devices/virtual/tty/tty48/dev
/sys/devices/virtual/tty/tty49/dev
/sys/devices/virtual/tty/tty5/dev
/sys/devices/virtual/tty/tty50/dev
/sys/devices/virtual/tty/tty51/dev
/sys/devices/virtual/tty/tty52/dev
/sys/devices/virtual/tty/tty53/dev
/sys/devices/virtual/tty/tty54/dev
/sys/devices/virtual/tty/tty55/dev
/sys/devices/virtual/tty/tty56/dev
/sys/devices/virtual/tty/tty57/dev
/sys/devices/virtual/tty/tty58/dev
/sys/devices/virtual/tty/tty59/dev
/sys/devices/virtual/tty/tty6/dev
/sys/devices/virtual/tty/tty60/dev
/sys/devices/virtual/tty/tty61/dev
/sys/devices/virtual/tty/tty62/dev
/sys/devices/virtual/tty/tty63/dev
/sys/devices/virtual/tty/tty7/dev
/sys/devices/virtual/tty/tty8/dev
/sys/devices/virtual/tty/tty9/dev
/sys/devices/virtual/vc/vcs/dev
/sys/devices/virtual/vc/vcs1/dev
/sys/devices/virtual/vc/vcs2/dev
/sys/devices/virtual/vc/vcs3/dev
/sys/devices/virtual/vc/vcs4/dev
/sys/devices/virtual/vc/vcs5/dev
/sys/devices/virtual/vc/vcs6/dev
/sys/devices/virtual/vc/vcs7/dev
/sys/devices/virtual/vc/vcs8/dev
/sys/devices/virtual/vc/vcs9/dev
/sys/devices/virtual/vc/vcsa/dev
/sys/devices/virtual/vc/vcsa1/dev
/sys/devices/virtual/vc/vcsa2/dev
/sys/devices/virtual/vc/vcsa3/dev
/sys/devices/virtual/vc/vcsa4/dev
/sys/devices/virtual/vc/vcsa5/dev
/sys/devices/virtual/vc/vcsa6/dev
/sys/devices/virtual/vc/vcsa7/dev
/sys/devices/virtual/vc/vcsa8/dev
/sys/devices/virtual/vc/vcsa9/dev

-- Kernel configuration:
 init_tmpfs not present.
 isapnp_init not present.


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages udev depends on:
ii  debconf [debconf-2.0]        1.5.28      Debian configuration management sy
ii  libc6                        2.10.2-6    Embedded GNU C Library: Shared lib
ii  libselinux1                  2.0.89-4    SELinux runtime shared libraries
ii  libudev0                     151-1       libudev shared library
ii  libusb-0.1-4                 2:0.1.12-14 userspace USB programming library
ii  lsb-base                     3.2-23      Linux Standard Base 3.2 init scrip
ii  util-linux                   2.16.2-0    Miscellaneous system utilities

Versions of packages udev recommends:
ii  pciutils                      1:3.1.7-1  Linux PCI Utilities
ii  usbutils                      0.86-4     Linux USB utilities

udev suggests no packages.

-- debconf information excluded



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20100215224752.8339.66042.report...@feather

Reply via email to