El archivo /etc/udev/rules.d/70-persistent-net.rules
se genera automáticamente en un sistema Linux con udev, si no existe, durante el reinicio. Pero me gustaría saber cómo crear este archivo de reglas (con un comando) sin reiniciar el servidor.
Estuve buscando en Google por un tiempo y descubrí que el archivo de reglas es generado por este script:
/lib/udev/write_net_rules
Sin embargo, es imposible ejecutar este script desde la línea de comandos, ya que (supongo) quiere que lo inicie udev, con algunas variables de entorno configuradas correctamente. Al iniciarlo manualmente se imprime el mensaje de error "falta $ INTERFACE". Incluso si configuro la variable env INTERFACE = eth0 antes del inicio del script, todavía imprime el error "falta coincidencia válida". Sin mencionar que tengo dos interfaces ( eth0
y eth1
) y quiero que se genere el archivo de reglas para ambas.
También estaba pensando en desencadenar eventos udev como este, con la esperanza de que inicie el script desde udev, pero nada cambia:
udevadm trigger --type=devices --action=change
Entonces, ¿alguien sabe cómo regenerar las reglas de red persistentes en el archivo /etc/udev/rules.d/70-persistent-net.rules
sin reiniciar?
70-persistent-net.rules
ni el/lib/udev/write_net_rules
guión. Por lo tanto, no puedo verificar, pero presumiblemente la$INTERFACE
variable se establece en el script en sí. Lo más probable es que se pase como argumento. ¿Puedes mostrarnos el contenido del guión?$INTERFACE
variable. Hay muchas más variables simplemente utilizadas, nunca declaradas. Es porque lo llama udev, y udev establece todas las variables env antes de ejecutar el script en el arranque.Respuestas:
Según la página del manual,
--action=change
el valor predeterminado esudevadm
.Por lo tanto, es mejor que lo intentes
--action=add
. Debería ayudar:fuente
En Ubuntu Server 16.04LTS, el 70-persistent-net.rules no existe.
todo lo que hice fue correr:
Luego cree el archivo usando
y agregue lo siguiente
:wq
para guardar el archivoluego reinicie y ajuste su archivo / etc / network / interfaces. Luego reinicie nuevamente.
fuente
Tuve el mismo problema, pero noté que aún podía ver las interfaces en la
ip addr
lista. Usé lo siguiente (como root):Repita para cada interfaz. Esto se usó para "recuperar" mi archivo. (Nota: una invocación enumerará todas las interfaces + agregará un cambio de nombre para que coincida con una, por lo que le recomiendo que mire el archivo de salida después de una invocación)
Definitivamente hay diferencias entre las implementaciones de UDEV y los scripts de soporte de UDEV actuales. Para tener en cuenta, estaba usando CentOS 6.8 cuando hice esto con éxito.
Crédito: me referí principalmente a este sitio. Hay un comentario en algunos subprocesos que habla sobre la modificación del script, pero preferí usar variables de entorno ya que era más limpio: https://access.redhat.com/discussions/1240213
fuente