Non, je ne veux pas de règles persistantes

J'ai un memstick Linux bootable que j'utilise sur beaucoup de PC différents (mais tous du même model et de la même configuration). Le problème est que udev est en train de renommer les interfaces eth de sorte que ce qui était eth0 sur le dernier PC est soudain ethX, où X = 1..inf. Cela provoque l'échec de if-up (appelé par ifplugd), puisque /etc/network/interfaces spécifie uniquement comment faire sortir eth0 :

 auto eth0 iface eth0 inet dhcp 

C'est un problème bien connu; J'ai googlé et constaté que cela est dû au changement des adresses MAC et qu'il peut être corrigé en supprimant /etc/udev/rules.d/70-persistent-net.rules . Mais cela ne fonctionne qu'après un redémarrage, ce qui est incommode et devrait être inutile, car je sais quel comportement je veux.

Ce que je veux, ce sont des règles nettes non persistantes ou, à défaut, un script /etc/network/interfaces qui s'adapte au changement des noms eth, ou peut-être peut-être avec ifplugd. Quelle est la meilleure façon d'y parvenir?

Distro: Ubuntu 8.04.

Les règles réseau persistantes sont générées par /lib/udev/rules.d/75-persistent-net-generator.rules (ou quelque chose de similaire, je cherche sur une machine Debian plus récente).

Si Ubuntu 8.04 a toujours ce script générateur dans /etc/udev/rules.d, vous pouvez simplement vous en débarrasser.

Sinon, je crois que mettre un file vide dans /etc/udev/rules.d replacea celui de / lib.

Vous pouvez également écrire votre propre file de règles pour donner un nom à l'interface: le générateur de règles persistantes ignore l'interface si un nom a déjà été défini.

J'ai suivi les conseils de derobert, en supprimant /etc/udev/rules.d/75-persistent-net-generator.rules , et j'ai aussi édité le /etc/udev/rules.d/70-persistent-net.rules déjà généré afin que les lignes ressemblaient à ceci:

 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth*", NAME="%k" 

Notez le %k dans NAME , ce qui signifie d'utiliser le nom du kernel.