A menudo habréis
podido comprobar que al intentar incluir un script en el arranque de un sistema
operativo Linux, éste os muestra una serie de warnings, alertándoos de que
vuestro script no posee algunas características recomendables. Esto de momento
no es demasiado importante, pues no entorpece el funcionamiento del sistema,
pero en recomendable solucionarlo, porque en un futuro no muy lejano será
obligatorio incluir aquello.
Todo esto proviene de la política LSB (Linux
Estándar Base), que ya está siendo implantada en todas las distribuciones y
cuyo objetivo es que todos los sistemas sigan unas directrices comunes para
estandarizar algunos procesos, entre ellos el arranque. En vista de la
constante ampliación del mundo de Linux, es normal encontrarnos con cosas cómo
esta, pero por suerte tienen una fácil solución que, aunque suele ser difícil
de memorizar, al ser siempre lo mismo puede ser pegado en un fichero al que
podamos recurrir cuando queramos realizar un script de arranque. La solución es
bien sencilla:
- #!/bin/bash
- ### BEGIN INIT INFO
- # Provides: Nombre del script
- # Required-Start: $remote_fs $network
- # Required-Stop: $remote_fs $network
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: LSB
- # Description: Codigo indispensable para respetar LSB
- ### END INIT INFO
Este sería el código
indispensable en el inicio de todos los scripts de arranque. En Provides habría
que poner el nombre de vuestro script. En Required-Start y stop, veréis varios nombres
que comienzan con el símbolo del $. Éstos hacen referencia a los servicios que
ya tienen que estar arrancados antes de ejecutarse el script y los que he
escrito no son obligatorios, pueden ser los que a nosotros nos convengan porque
hay varios para elegir, siendo obligatorio poner al menos uno .Cada uno tiene el siguiente significado:
- $local_fs: Todo el sistema local ya está
montado antes de iniciarse el script.
- $network: Las interfaces de red ya han
sido activadas.
- $named: El dns y la red en sí ya están
100% operativas.
- $remote_fs: Todo el sistema de ficheros
local y remoto están montados.
- $syslog: El log del sistema está
operativo.
- $time: La fecha y hora del sistema ya
han sido establecidas correctamente.
- $portmap: El portmapper está disponible.
Yo personalmente veo
indispensable poner siempre por lo menos $remote_fs y según que casos, también
$network. El resto son más circunstanciales. Luego están Default_start y stop.
Aquellos que tengan familiaridad con update-rc.d verán que lo que he es lo
mismo que se suele poner con dicho comando. Esto no es necesario modificarlo
con dejarlo cómo está vale, mientras que Short_description y Description, no
tienen relevancia en el sistema, no importa lo que se ponga pero lo adecuado es
poner siempre algo que ayude al usuario cuando vea el script.
No hay comentarios :
Publicar un comentario