El comando chkconfig proporciona una sencilla herramienta de línea de comandos para mantener la jerarquía de directorios /etc/rc[0-6].d liberando a los administradores del sistema de la tarea de manipular directamente los numerosos enlaces simbólicos en esos directorios.
Sinopsis
Chkconfig actualiza y consulta la información de nivel de ejecución de los servicios del sistema.
- chkconfig –list [ name]
- chkconfig –add name
- chkconfig –del nombre
- chkconfig[–level levels] name
- chkconfig[–level levels] name
Esta implementación de chkconfig se inspiró en el comando chkconfig presente en el sistema operativo IRIX. En lugar de mantener la información de configuración fuera de la jerarquía de /etc/rc[0-6].d, esta versión gestiona directamente los enlaces simbólicos en /etc/rc[0-6].d. Esto deja toda la información de configuración sobre qué servicios init se inician en una única ubicación.
Chkconfig tiene cinco funciones distintas: añadir nuevos servicios para la gestión, eliminar servicios de la gestión, listar la información de inicio actual de los servicios, cambiar la información de inicio de los servicios y comprobar el estado de inicio de un servicio en particular.
Cuando chkconfig se ejecuta sin opciones, muestra información de uso. Si sólo se da un nombre de servicio, comprueba si el servicio está configurado para iniciarse en el nivel de ejecución actual. Si lo es, chkconfig devuelve true; de lo contrario, devuelve false. La opción –level puede usarse para que chkconfig consulte un nivel de ejecución alternativo en lugar del actual.
Si se especifica una de las opciones de encendido, apagado o restablecimiento después del nombre del servicio, chkconfig cambia la información de inicio para el servicio especificado. Los indicadores de encendido y apagado hacen que el servicio se inicie o se detenga, respectivamente, en los niveles de ejecución que se están cambiando. El indicador de reinicio restablece la información de inicio del servicio a lo especificado en el script init en cuestión.
Por defecto, las opciones de encendido y apagado afectan sólo a los niveles de ejecución 2, 3, 4 y 5, mientras que el restablecimiento afecta a todos los niveles de ejecución. La opción –level se puede usar para especificar qué niveles de ejecución están afectados.
Tenga en cuenta que para cada servicio, cada nivel de ejecución tiene un script de inicio o un script de parada. Al cambiar de nivel de ejecución, init no reiniciará un servicio ya iniciado, y no volverá a detener un servicio que no esté en ejecución.
Opciones
–level levels
Especifica los niveles de ejecución a los que debe pertenecer una operación. Se da como una cadena de números del 0 al 7. Por ejemplo, –level 35 especifica los niveles de ejecución 3 y 5.
–addd name
Esta opción añade un nuevo servicio para la gestión por parte de chkconfig. Cuando se añade un nuevo servicio, chkconfig se asegura de que el servicio tenga una entrada de inicio o de muerte en cada nivel de ejecución. Si a algún nivel de ejecución le falta una entrada de este tipo, chkconfig crea la entrada apropiada tal y como se especifica en los valores por defecto en el script init. Tenga en cuenta que las entradas por defecto en las secciones’INIT INFO’ delimitadas por LSB tienen prioridad sobre los niveles de ejecución por defecto en el initscript.
–del nombre
El servicio se elimina de la gestión de chkconfig, y cualquier enlace simbólico en /etc/rc[0-6].d que pertenezca a él se elimina.
–list name
Esta opción lista todos los servicios que chkconfig conoce, y si están detenidos o iniciados en cada nivel de ejecución. Si se especifica name, la información sólo se mostrará sobre el nombre del servicio name.
Archivos de nivel de ejecución
Cada servicio que debe ser gestionado por chkconfig necesita dos o más líneas comentadas añadidas a su script init.d. La primera línea le dice a chkconfig en qué niveles de ejecución debe iniciarse el servicio por defecto, así como los niveles de prioridad de inicio y parada. Si el servicio no debe, por defecto, iniciarse en ningún nivel de ejecución, se debe utilizar a – en lugar de la lista de niveles de ejecución. La segunda línea contiene una descripción del servicio y puede extenderse a través de varias líneas con una barra diagonal inversa.
Por ejemplo, random.init tiene estas tres líneas:
# chkconfig: 2345 20 80
# descripción: Guarda y restaura la piscina de entropía del sistema para
# generación de números aleatorios de mayor calidad.Esto dice que el script aleatorio debe iniciarse en los niveles 2, 3, 4 y 5, que su prioridad de inicio debe ser 20, y que su prioridad de parada debe ser 80. Usted debe ser capaz de entender lo que la descripción dice; la causa de que la línea sea continuada. El espacio extra delante de la línea es ignorado.