Introducción
Las distribuciones modernas de Linux vienen con el sistema de inicialización systemd que permite a los usuarios administrar servicios con systemctl
comando.
Sin embargo, algunos sistemas más antiguos todavía usan System V o Upstart. En ese caso, utilice el chkconfig
Comando para enumerar, iniciar y detener servicios, así como habilitar o deshabilitar servicios desde el inicio.
Esta guía le mostrará cómo usar el chkconfig
comando para controlar los servicios del sistema en Linux.
Requisitos previos
- Un sistema que ejecuta System V o Upstart.
- Acceso a la terminal/línea de comando.
- Acceso a una cuenta con privilegios de root o sudo.
La sintaxis del comando chkconfig
El chkconfig
la sintaxis del comando se ve así:
chkconfig [options] [service] [subcommand]
El comando funciona solo, pero también se puede usar con:
- El
--list
,--level
,--add
,--del
y--override
opciones especificadas antes del nombre del servicio. Las opciones imprimen los detalles o gestionan el servicio en cuestión. - El
on
,off
,reset
oresetpriorities
subcomandos agregados después del nombre del servicio. Los subcomandos cambian la información de inicio para el servicio especificado.
Opciones del comando chkconfig
Ejecutando el chkconfig
El comando sin ninguna opción genera la configuración actual de todos los servicios:
Sin embargo, ejecutar el comando con diferentes opciones y subcomandos permite a los usuarios administrar servicios en lugar de solo enumerarlos. La siguiente tabla muestra las opciones y los subcomandos utilizados con el chkconfig
comando:
Opción | Descripción |
---|---|
--list | Muestra todos los servicios y su estado de inicio actual en cada nivel de ejecución. |
--list | sort | Ordena los servicios alfabéticamente y los muestra con su estado de inicio actual en cada nivel de ejecución. |
--list | grep on | Muestra solo los servicios en ejecución y su estado de inicio actual en cada nivel de ejecución. |
--list | grep off | Muestra solo los servicios deshabilitados en uno o más niveles de ejecución y su estado de inicio actual en cada nivel de ejecución. |
--list | grep --level <levels>:on | Específico del nivel:Imprime los servicios que se ejecutan en un nivel de ejecución particular. |
--list | grep --level <levels>:off | Específico de nivel:Imprime servicios que están deshabilitados en un cierto nivel de ejecución. |
--list [service] | Genera el estado de un servicio en particular en cada nivel de ejecución. |
[service] on | Permite que un servicio se inicie en el arranque del sistema. |
[service] off | Inhabilita un servicio para que no se inicie al arrancar el sistema. |
--level <levels> [service] on | Activa un servicio en particular en uno o varios niveles de ejecución. |
--level <levels> [service] off | Desactiva un servicio en particular en uno o varios niveles de ejecución. |
--add [service] | Agrega un servicio al inicio en todos los niveles de ejecución. |
--del [service] | Elimina un servicio del inicio en todos los niveles de ejecución. |
[service] reset | Restablece los estados de encendido/apagado de todos los servicios. |
[service] resetpriorities | Restablece las prioridades de inicio/detención de todos los servicios. |
--override [service] | Reconfigura un servicio a la configuración de anulación en lugar de la configuración predeterminada. |
Ejemplos del comando chkconfig
El chkconfig
command es la última herramienta de administración de servicios para sistemas Linux más antiguos. Las siguientes secciones describen chkconfig
comunes ejemplos.
Mostrar todos los servicios
Para listar todos los servicios, ejecute el comando sin opciones o ejecute:
chkconfig --list
Usando --list
con el chkconfig
El comando muestra el estado de todos los servicios disponibles en todos los niveles de ejecución. En caso de que desee ordenar los servicios en orden alfabético, use el sort
opción:
chkconfig --list |sort
El chkconfig --list
El comando también funciona en RHEL 7. Sin embargo, la salida solo muestra los servicios Sys V y no los servicios del sistema nativo:
Lista de todos los servicios habilitados
Para encontrar todos los servicios habilitados (en uno o varios niveles de ejecución), ejecute combine chkconfig --list
con el comando grep:
chkconfig --list | grep on
Para encontrar todos los servicios deshabilitados (en uno o varios niveles de ejecución), ejecute:
chkconfig --list | grep off
Además, para reducir el alcance de los servicios dentro/fuera de un nivel de ejecución en particular, use:
chkconfig --list | grep --level <levels>:on
chkconfig --list | grep --level <levels>:off
Por ejemplo, enumere todos los servicios que se ejecutan en el nivel de ejecución 5 con:
chkconfig --list | grep 5:on
Por otro lado, para mostrar todos los servicios que no se están ejecutando en el nivel de ejecución 5, ejecute:
chkconfig --list | grep 5 :off
Enumerar un servicio en particular
Para mostrar la configuración de inicio de un servicio en particular en todos los niveles de ejecución, ejecute chkconfig --list
y especifique el servicio.
chkconfig --list [service]
Por ejemplo, verifique el estado de ntpd servicio en todos los niveles de ejecución con:
chkconfig --list ntpd
El resultado muestra que ntpd el servicio está deshabilitado en el arranque en cualquier nivel de ejecución.
Habilitar un servicio
Habilite un servicio para que se inicie en el arranque con chkconfig [service] on
dominio. Luego, confirme que el servicio está activado usando <strong>--list</strong>.
chkconfig [service] on
chkconfig --list [service]
El on
La opción afecta los niveles de ejecución 2, 3, 4 y 5 e inicia el ntpd servicio en el arranque en estos niveles de ejecución. Para habilitar un servicio solo en uno o varios niveles de ejecución, ejecute:
chkconfig --level <levels> [service] on
Por ejemplo, inicie el ntpd servicio en el tercer nivel de ejecución y verifique la configuración del servicio con:
chkconfig --level 3 ntpd on
chkconfig --list ntpd
Del mismo modo, para activar ntpd servicio en múltiples niveles de ejecución de una sola vez use:
chkconfig --level 235 ntpd on
chkconfig --list ntpd
Deshabilitar un servicio
Inhabilite un servicio para que no se inicie en el arranque del sistema con el chkconfig [service] off
comando:
chkconfig [service] off
chkconfig --list [service]
Aunque el off
La variable también afecta los niveles de ejecución 2 a 5, los usuarios pueden especificar en qué niveles de ejecución deshabilitar un servicio.
Por ejemplo, deshabilite ntpd servicio solo en el nivel de ejecución 3 y verifique los resultados con:
chkconfig --level 3 ntpd off
chkconfig --list ntpd
Agregar un servicio
Agregue un servicio al inicio en todos los niveles de ejecución con el siguiente comando:
chkconfig --add [service]
Por ejemplo, use el --add
opción para agregar ntpd para iniciar en todos los niveles de ejecución. A continuación, utilice --list
para verificar que el servicio ha sido agregado:
chkconfig --add ntpd
chkconfig --list ntpd
El chkconfig
El comando agrega y configura el servicio según lo especificado por los valores predeterminados en el script de inicio. Por ejemplo, el ntpd El servicio está deshabilitado en todos los niveles de ejecución de forma predeterminada.
Eliminar un servicio
Elimina un servicio del inicio en todos los niveles de ejecución con --del
opción:
chkconfig --del [service]
El --del
La opción elimina el servicio del inicio, pero el servicio permanece en el sistema. Por lo tanto, para volver a agregar el servicio al inicio, use el --add
opción de nuevo.
Restablecer configuración del servicio
Para restablecer el estado activado/desactivado de un servicio en todos los niveles de ejecución como se especifica en el script de inicio, ejecute:
chkconfig [service] reset
El resultado muestra que ntpd vuelve al estado desactivado predeterminado en todos los niveles de ejecución.
Conclusión
Después de leer este tutorial, sabrás cómo usar el chkconfig
comando para administrar servicios en versiones anteriores de Linux.
A continuación, aprenda a usar el systemctl
Comando para iniciar, detener y reiniciar los servicios de Linux en las distribuciones de Linux más nuevas.