Administración de Servicios en Linux


Un Servicio en un Sistema Operativo (en nuestro caso en Linux) no son más que pequeños programas o demonios que son iniciados junto con el equipo ya sea para brindarnos una funcionalidad, o para iniciar argumentos de algún programa específico.

La administración de éstos Servicios en Linux es bastante sencilla, solo debemos comprender su ubicación, cómo iniciarlos, detenerlos, habilitarlos o bien deshabilitarlos.

¿Dónde se encuentran físicamente los servicios en nuestro Linux?
Los servicios en nuestro Linux se ubican físicamente en el directorio /etc/init.d. Dentro de éste, está el listado completo de los servicios que disponemos para administrar. Para verlos, simplemente basta con tipear en consola:

[bachi@localhost ~]$ ls /etc/init.d/

De esta forma, nos devolverá el listado completo de servicios instalados en nuestro equipo. Recordemos que la cantidad y el tipo está directamente relacionado o bien a servicios propios del Sistema Operativo o bien a servicios que se instalan junto con programas que hemos agregado (por ejemplo, servicios como Nvidia, Wine o mysql).

¿Cómo se inicia un servicio en Linux?
Una forma manual de iniciar un servicio (en éste ejemplo CUPS, para impresión) mediante la consola como Root es:

[bachi@localhost ~]$ sudo /etc/init.d/cups start

Una vez ingresado el comando nos devolverá un pequeño detalle del inicio correcto o incorrecto del sistema solicitado, y así iniciaremos manualmente un servicio detenido.

¿Cómo detener un servicio en Linux?
Para detener un servicio en Linux, podemos tipear la misma sintaxis que al iniciarlo, pero seguido de un stop:

[bachi@localhost ~]$ sudo /etc/init.d/cups stop

También nos devolverá un pequeño detalle de la correcta o incorrecta detención del mismo.

El comando SERVICE
Existe otra forma de inicar o detener servicios, y es mediante el comando service, seguido del servicio y el típico start o stop. Basta con tipear en consola como Root:

[bachi@localhost ~]$ sudo service cups start

Ésta es otra forma de iniciar el servicio manualmente con el comando service.

Cómo Habilitar o deshabilitar servicios en Linux
Como bien les había contado en mi entrada anterior de los Runlevels, cada uno de ellos iniciará o no los servicios. En cualquier momento podemos decidir nosotros cual sí y cual no iniciar junto con el init de inicio.

En el caso de que nuestro equipo inicie con el runlevel 5 (init 5) por defecto, deberíamos editar los servicios que él inicie. Para ello, debemos entender que el listado de servicios que inicie tal o cual Runlevel se encuentran distribuidos en una serie de carpetas ubicadas dentro de /etc, las culaes son rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d y rc6.d. Cada una de ellas hace referencia a un runlevel, así, la carpeta /etc/rc5.d/ contendrá todos los servicios que iniciarán o no en el runlevel 5.

Cuando listemos el contenido de una de éstas carpetas, veremos los nombres de los servicios de una manera muy particular, como por ejemplo S25cups, o K92ip6tables. Éstos no son archivos cualquiera, si no enlaces simbólicos (entiendase accesos directos) a los servicios ubicados en /etc/init.d, donde realmente se encuentran los sevicios.

De acuerdo a su nombre, éstos enlaces iniciarán o detendran los servicios. Es lógico decir entonces que el enlace S25cups iniciará el servicio de impresion, debido a que le antecede la letra S (start). No lo hará de la misma forma K92ip6tables, debido a que tiene una K (kill = matar) que no le permitirá iniciar.

Podremos, una vez identificado en qué init inicia nuestro sistema (/etc/inittab), habilitar o deshabilitar los servicios cambiando sus nombres. Si queremos por ejemplo que CUPS no inicie, cambiaremos su nombre de S25cups a K75cups. Recalcamos aquí que el número "75" es la diferencia entre 25 y siempre 100. Siguiendo la misma tendencia, si queremos iniciar el servicio de IP tables para IPV6 (K92ip6tables), modificaremos su nombre a S08ip6tables.

Para modificar un nombre de uno de éstos enlaces, basta con moverlo a su nuevo archivo por consola como Root, por ejemplo modificaré el servicio CUPS del ejemplo anterior asi lo deshabilito:

[bachi@localhost ~]$ sudo mv /etc/rc5.d/S25cups /etc/rc5.d/K75cups

Así, habremos deshabilitado el servicio de Impresión UNIX en el runlevel 5 de nuestro sistema, y en cualquier momento podremos volverlo a renombrar por S25cups nuevamente.

Espero que este instructivo de administración de servicios en Linux les haya sido de importancia.
6 comentarios

Entradas populares de este blog

Botones capacitivos no vibran o encienden en Samsung S6

PARTE I: Instalar OCS Inventory NG (Server) en Ubuntu Linux 14.04 LTS

Enviar mensaje masivo a PCs con Windows en un Dominio