Feeds:
Entradas
Comentarios

Posts Tagged ‘servicios’

Por muy poco que lleves funcionando con Debian (o alguna distro basada en ésta) hay una cosa que deberás manejar con soltura: los servicios del sistema. Son una serie de ficheros (scripts) que se cargan cada vez que arranca el sistema.

Vamos a empezar por los directorios que tienen que ver con todo esto.

/etc/init.d Aquí se guardan todos los scripts que se ejecutarán cada vez que se inicie el sistema
/etc/rcX.d La X es un número que va del 0 al 5. Se trata de los niveles de arranque de Debian. Dependiendo de como se inicie el sistema, se ejecutaran los scripts de un rcX.d diferente. Un arranque normal tira de todo lo que haya en rc2.d, ya que el nivel 2 es el inicio normal del sistema.

En /etc/rcX.d no hay ficheros como tales, sino enlaces al script correspondiente que se encuentra en /etc/init.d. Por lo tanto, no vamos a dedicar mas tiempo de momento al directorio /etc/init.d. Sí es importante la nomenclatura de los ficheros que hay en /etc/rcX.d:

SXXnetworking o KXXnetworking (es un ejemplo)

La S significa que el script se está ejecutando al inicio del sistema, y la K (Kill) quiere decir que ese script está muerto, no se está ejecutando. Si hay un servicio que queremos quitar del inicio, podemos renombrar el enlace en /etc/rc2.d, cambiando la S por una K, y la próxima vez que arranquemos el ordenador, no se ejecutará. El número que sigue a la S o a la K es la posición numérica en la que se ejecutará el script. Si se llama S50script, se ejecutará antes que si se llamase S99script.

Hay una forma mas elegante, que es usando el comando

update-rc.d script defaults Esto añadirá el script a los niveles de arranque 2, 3, 4 y 5
update-rc.d -f script remove Con esta orden eliminamos el script del arranque

Ahora vamos a ver como modificar el estado de los servicios ya instalados, ya que hay diversas formas de arrancar, parar y reiniciar un servicio.

Mediante la ejecución del script correspondiente que se encuentra en /etc/init.d/, por ejemplo, si queremos parar, reiniciar o iniciar la red, debemos saber que si el script se llama networking, podríamos hacer lo siguiente:

/etc/init.d/networking start para iniciar el servicio en caso de que no esté activo
/etc/init.d/networking stop para parar el servicio totalmente
/etc/init.d/networking restart para reiniciar el servicio (si hemos cambiado algo en la configuración, por ejemplo, y para hacer que los cambios surtan efecto)

En windows, muchos de los servicios requieren que se reinicie el sistema cuando se modifican. En linux no es necesario reiniciar para estas labores 😀

Si se trata de algún servicio creado por nosotros, para añadirlo al arranque, también podemos hacerlo de la siguiente forma. Creamos un fichero en /etc/init.d con el nombre que queramos (por ejemplo, miscript) y con el siguiente contenido:

#!/bin/bash
/usr/bin/programa &

Donde programa es, obviamente, el que queremos lanzar al inicio. Le damos permisos de ejecución:

chmod +x /etc/init.d/miscript

y enlazamos en /etc/rc2.d de la siguiente forma:

ln -s /etc/init.d/miscript SXXmiscript

Como colofón, añadir que hay varios programas para la consola (seguro que también los habrá para el entorno gráfico) que permiten modificar de forma visual qué servicios deben arrancar y cuales no. En mi caso me quedo con el programa sysv-rc-conf. Para instalarlo:

aptitude install sysv-rc-conf

Lo lanzamos como root y lo que veremos es algo tal que así:

sysv-rc-conf

Tan sencillo como colocarnos encima del servicio y del runlevel, y con la tecla ESPACIO, o lo activamos o lo desactivamos.

Anuncios

Read Full Post »