Administración de Servicios en Linux

Los Servicios no son más que una aplicación o una serie de aplicaciones, ejecutándose en modo background de nuestro servidor esperando ser ejecutadas para la ayuda a la realización de algunas tareas específicas. Linux, aun en su instalación más básica, posee una serie de estas aplicaciones y otras que, con fines prácticos, deben instalarse para tener completo nuestro servidor: Email, HTTP, Servidores de impresión, servidores Proxy, Servidores de Archivos (Samba), Servidores de DB, etc. son ejemplo de ésto.

Los servicios poseen una serie de características que los diferencían de otras aplicaciones, prácticamente deberían estar siempre ejecutándose en nuestro equipo que, para eso fueron instalados intencionalmente ¿no?. Intentaremos dar una guía rápida sobre su comportamiento, aplicación y características particulares.

Intentaremos dar un salto a la complejidad de administración Linux sin intentar hacerlo tedioso. Todo facilito. Ya que de ahora en adelante se estarán tratando temas relacionados a Apache y que vendría bien tener éstos conceptos básicos.

Los servicios pueden ser tanto iniciados durante el arranque del sistema como manualmente posterior a éste inicio. Un servicio que no es utilizado de manera recurrente, es necesario que solo se encuentre disponible por acción del administrador.

Directorio init.d

En el directorio /etc/init.d (puede ser /etc/rc.d/init.d) se encuentran los scripts que permiten controlar los servicios y su ejecución. Cada uno de éstos shells aqui existentes aceptan, casi de manera general, los parámetros:

  • start
  • stop
  • restart
  • status

Algunos aceptan más, y pocos aceptan menos. Los parámetros suelen ser muy descriptivos (iniciar, detener, reiniciar y estatus del servicio). Así pues, para reiniciar nuestro servidor Apache en Ubuntu bastaría con escribir:

/etc/init.d/apache2 restart
* Restarting web server apache 2                            [OK]

Comando ‘service’

Este comando, presente en la mayoría de distros, nos permite de igual manera interactuar con los servicios instalados en nuestro equipo, su sintaxis:

service servicio param

Por ejemplo, para detener el servicio de Apache:

#service apache2 stop
* Stopping web server apache 2                              [OK]

El funcionamiento es exactamente igual, pero con un uso más limpio.

Inicio de servicios durante arranque (rc*.d)

Resulta conveniente que la mayoría de nuestros servicios se inicien en conjunto con el SO, tras un reinicio nos aseguramos que se encuentren disponibles sin intervención del administrador. Para ello, existen las carpetas /etc/init.d/rc*.d (Red Hat) o /etc/rc*.d (Debian).

Existen 7 carpetas de este tipo, en la que el comodin se sustituye por un numero del 0 al 6, una por cada Niveles de ejecución. Así, cada una de las carpetas contiene enlaces simbólicos a los scripts que queremos ejecutar cuando se ingresa al runlevel especificado, ya sea de manera manual o por default con el arranque del sistema. De manera parcial los scripts al entrar en runlevel 5 de Debian que tengo actualmente son:

Contenido de mi rc5 - Debian

Contenido de mi rc5 – Debian

La agrupación de los scripts es muy sencilla: un enlace simbólico (primer caracter l de cada uno de los archivos) hacia los scripts verdaderos contenidos en la carpeta ../init.d. Lo mayormente importante acá es el nombre del enlace simbólico, comenzando con una S (Start) o una K (Kill), seguido de un numero secuencial en que deben ser ejecutados y el nombre real del script a ejecutar. Demasiado sencillo ¿No?. Así, siguiendo la pantalla, nuestro Apache iniciará en orden 18 al ingresar al runlevel 5.

Como es de imaginarse, las carpetas 0 y 6 tienen en su mayoría scripts de detención de servicios, ya que tienen como objetivo apagar o reiniciar el sistema.

Es posible la modificación manual de estos scripts y enlaces simbólicos a nuestro antojo, copiando en las carpetas de los niveles de ejecución correspondientes a nuestras necesidades sin embargo, es tedioso. Existen alternativas con comandos definidos para esta administración que se estarán tratando más adelante.

 

Facebook Twitter Email

Entradas relacionadas

También te podría gustar...

2 Respuestas

  1. andresgarcia313@hotmail.com dice:

    habra alguna interfaz grafica de servicios?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *