Servicios del Sistema en Linux

Los Servicios del Sistema en Linux residen en el directorio /etc/rc.d/init.d. No son mas que scripts ejecutables de Linux que inician las distintas aplicaciones que conforman cada servicio. Estos scripts permiten iniciar, detener, restaurar o comprobar el estado de los distintos servicios instalados en el SO.

Los scripts que conforman los SS admiten los siguientes parámetros:

  • start: Arranca el SS
  • stop: Detiene el SS
  • restart: Reinicia el SS
  • status: Devuelve el estado del SS

Con lo cuál lo único que hay que hacer es escoger el argumento adecuado y pasarlo al script correspondiente al servicio.

Comprobar el estado de un servicio

Antes de iniciar o detener un servicio es interesante comprobar el estado del mismo. Para ello se usa el argumento status. Por ejemplo, para ver el estado del servicio de red deberá teclear:

[root@Terminator francisco]# /etc/rc.d/init.d/network status
Dispositivos configurados:
lo eth0
Dispositivos activos en este momento:
lo eth0

Reiniciar un servicio

Para reiniciar un servicio se usa el argumento restart. Esta opción es muy útil para ejecutar inmediatamente cambios realizados en la configuración del servicio. Por ejemplo si se cambia la configuración de la red, para ver inmediatamente los efectos de la nueva configuración sin reiniciar todo el SO, lo más sencillo es reiniciar el servicio de red, para lo cuál deberá teclear:

[root@Terminator francisco]# /etc/rc.d/init.d/network restart
Desactivando interfaz eth0:                                                                    [  OK  ]
Desactivando interfaz loopback:                                                                [  OK  ]
ioctl: Invalid argument
Activando interfaz loopback:                                                                   [  OK  ]
Activando interfaz eth0:                                                                       [  OK  ]

Detener un servicio

Para detener un servicio hay que usar el argumento stop. Por ejemplo, para detener el servicio de red deberá teclear:

[root@Terminator francisco]# /etc/rc.d/init.d/network stop
Desactivando interfaz eth0:                                                                    [  OK  ]
Desactivando interfaz loopback:                                                                [  OK  ]

Iniciar un servicio

Para iniciar un servicio hay que usar el argumento start. Por ejemplo, para iniciar de nuevo el servicio de red deberá teclear:

[root@Terminator francisco]# /etc/rc.d/init.d/network start
Activando interfaz loopback:                                                                   [  OK  ]
Activando interfaz eth0:                      

Iniciar un servicio desde el arranque del sistema

En Linux los SS están íntimamente ligados a los niveles de ejecución. Dependiendo del nivel de ejecución en el que se encuentre el SO, iniciará automáticamente unos SS u otros.

Para iniciar automáticamente un SS desde el arranque del SO debe crear un enlace al script que arranca el SS (situado en el directorio /etc/rc.d/init.d) en el directorio correspondiente al nivel de ejecución en el que queremos programar el inicio automático del servicio. Generalmente el modo de ejecución 5, por lo tanto el enlace deberá ubicarse en el directorio: /etc/rc.d/rc5.d

Si quisiera programar el SS para que inicie automáticamente en otro modo de ejecución, deberá cambiar el número correspondiente al modo de ejecución. Por ejemplo para que el SS se inicie en el modo de ejecución 3, deberá crear el enlace en el directorio: /etc/rc.d/rc3.d

Crear o eliminar un servicio

Para crear un SS basta con crear el script que arranque el SS en el directorio /etc/rc.d/init.d y un enlace a este script por cada nivel de ejecución en el que se quiera que el servicio arranque automáticamente al iniciar el SO. Para ello deberá crear enlaces en cada directorio /etc/rc.d/rcN.d .Donde N es el número correspondiente al nivel de ejecución.

Para eliminar un SS deberá borrar el script que arranca el SS ubicado en el directorio /etc/rc.d/init.d y cada uno de los enlaces a este script situados en los directorios correspondientes a los distintos niveles de ejecución del SO en los que el SS arranca automáticamente.

Comandos especiales

service

Este comando permite iniciar, detener, reiniciar y comprobar el estado de los SS. Toma los mismos argumentos que los scripts que ejecutan los SS. Funciona exactamente igual a como si escribiera la ruta completa al script, pero en lugar de poner la ruta completa, únicamente hay que poner service Nombre_servicio Argumento. Por ejemplo para comprobar el estado del servicio de red:

[root@Terminator francisco]# service network status
Dispositivos configurados:
lo eth0
Dispositivos activos en este momento:
lo eth0                 

chkconfig

Este comando sirve para crear o eliminar de forma mas amigable el enlace al script del SS correspondiente a cada nivel de ejecución del SO.

Con el argumento –list da una lista completa de todos los servicios instalados en el SO por cada nivel de ejecución, es decir que servicios se activan y cuales no en cada nivel de ejecución.

[root@Terminator francisco]# chkconfig --list
acpid          	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:activo
alsa           	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
atd            	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
avahi-daemon   	0:desactivado	1:desactivado	2:desactivado	3:activo	4:desactivado	5:activo	6:desactivado	7:desactivado
bootlogd       	0:desactivado	1:desactivado	2:desactivado	3:desactivado	4:desactivado	5:desactivado	6:desactivado	7:desactivado
crond          	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
dm             	0:desactivado	1:desactivado	2:desactivado	3:desactivado	4:desactivado	5:activo	6:desactivado	7:activo
haldaemon      	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:activo
hddtemp        	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
ip6tables      	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
iptables       	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
irqbalance     	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
lm_sensors     	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
mandi          	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
mdadm          	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
messagebus     	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:activo
msec           	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
mysqld         	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:desactivado	6:desactivado	7:desactivado
netconsole     	0:desactivado	1:desactivado	2:desactivado	3:desactivado	4:desactivado	5:desactivado	6:desactivado	7:desactivado
netfs          	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
network        	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
network-auth   	0:desactivado	1:desactivado	2:desactivado	3:desactivado	4:desactivado	5:desactivado	6:desactivado	7:desactivado
network-up     	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
nfs-common     	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
nfs-server     	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
numlock        	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:activo
partmon        	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
pcscd          	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
postfix        	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
preload        	0:desactivado	1:desactivado	2:desactivado	3:desactivado	4:desactivado	5:activo	6:desactivado	7:desactivado
resolvconf     	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
rpcbind        	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
rsyslog        	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:activo
shorewall      	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
smb            	0:desactivado	1:desactivado	2:desactivado	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
sound          	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
stop-bootlogd  	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
udev-post      	0:desactivado	1:activo	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado
virtualbox     	0:desactivado	1:desactivado	2:desactivado	3:activo	4:desactivado	5:activo	6:desactivado	7:desactivado
vnstat         	0:desactivado	1:desactivado	2:desactivado	3:desactivado	4:desactivado	5:desactivado	6:desactivado	7:desactivado
wine           	0:desactivado	1:desactivado	2:activo	3:activo	4:activo	5:activo	6:desactivado	7:desactivado

Para crear un enlace a un servicio en un nivel de ejecución deberá usar el comando de la siguiente forma: chkconfig –level N Nombre_servicio on. Donde N es el número correspondiente al nivel de ejecución y on significa que desea que el SS se inicie en ese nivel de ejecución.

Para eliminar un enlace a un servicio en un nivel de ejecución deberá usar el comando de la siguiente forma: chkconfig –level N Nombre_servicio off. Donde N es el número correspondiente al nivel de ejecución y off significa que desea que el SS no se inicie en ese nivel de ejecución.

Fuentes:

Acerca de franciscoguemes

Ingeniero en Informática
Esta entrada fue publicada en Linux. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s