Habilitar y deshabilitar servicios con chkconfig

Como explicamos en Niveles de corrida o runlevels en Linux y en el post anterior, la administración de servicios bajo el esquema SystemV se realiza mediante la ejecución de enlaces simbólicos que apuntan a scripts presentes en /etc/init.d. Si bien podríamos alterar dichos enlaces simbólicos utilizando técnicas tradicionales (por ejemplo, cambiar la S por la K en el nombre de para deshabilitar el servicio asociado), se dispone de una herramienta especial llamada chkconfig que reduce la posibilidad de errores humanos y facilita la tarea. En este post veremos cómo habilitar y deshabilitar, en un runlevel determinado, servicios con chkconfig.

Listar servicios con chkconfig

Como podemos observar en la Fig. 1, si utilizamos chkconfig con la opción --list sin otro argumento, podremos ver el estado de cada servicio en cada runlevel. Si le agregamos el nombre del servicio veremos la información del mismo únicamente.

[pastacode lang=»bash» manual=»chkconfig%20–list%20%23%20Ver%20el%20estado%20de%20todos%20los%20servicios%20en%20cada%20runlevel%0Achkconfig%20–list%20postfix%20%23%20Ver%20el%20estado%20de%20postfix%20%C3%BAnicamente» message=»» highlight=»» provider=»manual»/]

Listar estado de servicios con chkconfig
Figura 1 – Listar estado de servicios con chkconfig

Habilitar y deshabilitar servicios con chkconfig

Para habilitar o deshabilitar un servicio en un nivel de corrida determinado con chkconfig, utilizamos las opciones on u off, respectivamente junto con el nombre del mismo. Por ejemplo, para deshabilitar postfix en los niveles 4 y 5 debemos ejecutar el siguiente comando:

[pastacode lang=»bash» manual=»chkconfig%20–level%2045%20postfix%20off» message=»» highlight=»» provider=»manual»/]

Si comparamos la parte inferior de la Fig. 1 con la Fig. 2, veremos que en los niveles dados el servidor de correo estará deshabilitado:

Deshabilitar servicios en niveles de corrida determinados con chkconfig
Figura 2 – Deshabilitar servicios en niveles de corrida determinados con chkconfig

Para volver atrás con el cambio recién realizado, utilizaremos:

[pastacode lang=»bash» manual=»chkconfig%20–level%2045%20postfix%20on» message=»» highlight=»» provider=»manual»/]

Puede suceder que luego de instalar un servicio no se hayan creado las entradas correspondientes en /etc/rcN.d para iniciarlo y detenerlo (entre otras opciones). Por ejemplo, si al instalar un servicio llamado miservicio (con su script correspondiente /etc/init.d/miservicio) vemos que no se ha creado un enlace simbólico en /etc/rc3.d, utilizaremos chkconfig con la opción --add para crear los enlaces simbólicos necesarios:

[pastacode lang=»bash» manual=»chkconfig%20–add%20miservicio» message=»» highlight=»» provider=»manual»/]

Veamos el detalle en la Fig. 3:

Agregando servicios a chkconfig
Figura 3 – Agregando servicios a chkconfig

Si posteriormente decidimos eliminar miservicio, podemos utilizar la opción --del para borrar los enlaces simbólicos creados como podemos observar en la Fig. 4:

[pastacode lang=»bash» manual=»chkconfig%20–del%20miservicio» message=»» highlight=»» provider=»manual»/]

Remover servicios de chkconfig
Figura 4 – Remover servicios de chkconfig

Espero que este post les haya sido de utilidad. ¡Los espero en el próximo!

2 comentarios en «Habilitar y deshabilitar servicios con chkconfig»

Deja una respuesta