Archivo de la etiqueta: if-up.d

openSUSE 13.2 y los scripts if-up.d

En una entrada anterior os contaba cómo lanzar scripts al inicio del sistema. En aquel momento usaba la versión 13.1 de openSUSE.

Hace unas semanas salió la 13.2 con nuevos cambios y versiones más actualizadas y estables de KDE o de Yast, por ejemplo. Aquí podéis ver un resumen de los mismos.

Como es lógico, de inmediato me puse manos a la obra a instalarme la nueva vesión. La verdad que me gustó bastante aunque en el portátil he tenido algún que otro problemilla gráfico -que he podido solucionar-.

Sin embargo, cuando la tenía ya instalada y configurada me dí cuenta que no se estaban ejecutando los scripts que tengo en /etc/sysconfig/network/if-up.d. Me pongo a investigar y al final, tras consultar incluso la lista de usuarios de openSUSE, llego a la conclusión de que NO funcionan en opensuse 13.2, es decir, que los scripts que se colocan en dicho directorio no se lanzan al inicio.

Parece que el problema está relacionado con la adopción hace ya tiempo de systemd, pero no lo tengo 100% claro. Por alguna web leí que habían adoptado un nuevo framework para homogeneizar la configuración de la red y que esto afectaba también.

Al final resulta que no puedo ejecutar dichos scripts en la 13.2, o al menos yo no lo conseguí. Entre esto y los problemillas que comentaba que tuve en el portátil han conseguido que en 2 de mis tres ordenadores habituales vuelva a la 13.1. En el tercero en discordia seguramente no tardaré en poner también la 13.1.

Así que si alguien está pensando en instalársela y usa estos scripts que se lo piense. Si alguien sabe una manera sencilla de hacer esto funcionar que me lo diga, porfi.

Ejecutar scripts al inicio de Linux

A veces es interesante que al arrancar nuestro equipo se ejecuten ciertos scripts.

Si tenemos una distro Ubuntu o basada en ella, podemos usar /etc/rc.local, es decir, meter la llamada a dicho script dentro de este fichero (antes del «exit 0», lógicamente).

Sin embargo, desde que Ubuntu usa Upstart como sistema de arranque no tengo claro que sea una buena forma de iniciar los scripts ya que es posible que no se ejecute correctamente si depende de otros servicios, como podría ser el de red. En otras palabras, que puede que metas un script que haga algo como enviar un mail (en otro artículo veremos este caso) pero que no esté iniciado el servicio de red y no se ejecute. A mí me ha pasado.

Por eso, para estos casos recomiendo que metáis el script dentro de /etc/network/if-up.d. Los scripts que se encuentren en dicho directorio se ejecutarán sí o sí cuando el servicio de red esté operativo.

En openSUSE el directorio es /etc/sysconfig/network/if-up.d.

OJO: los scripts deben ser ejecutables (algo lógico) y no pueden tener extensión, es decir, si tenéis algo como enviar_mail.sh cambiadlo a enviar_mail (me costó un rato de «googleo» para descubrirlo).

En otro artículo veremos cómo enviar precisamente un mail desde un script (usando nuestra cuenta de gmail) para notificarnos cualquier cosa.

Yo, en particular, tengo un script que me envía un mail cada vez que enciendo el PC de casa para saber que está encendido. ¿Para qué me puede servir? Por ejemplo: para saber que el PC está ya operativo tras haberlo encendido remotamente (más info aquí) 😉