Los servicios SysV suelen estar representados por scripts ejecutables bajo /etc/init.d/. Un script acepta acciones como start, stop, restart o status según su implementación y las convenciones de la distribución. El comando service proporciona un mecanismo que ejecuta un script determinado en un entorno más controlado.
Init · Lección 2
Servicio de System V
Aprende a inspeccionar y operar scripts de servicios SysV antiguos mediante el mecanismo compatible del sistema activo.
Descubrir servicios y acciones
Primero, lista los nombres de los scripts:
$ ls -1 /etc/init.d/
Algunas implementaciones ofrecen:
$ service --status-all
Sus indicadores entre corchetes y sus estados de salida dependen de la implementación, y un script puede informar que el estado es desconocido. Para un servicio concreto, consulta la salida de uso del script o su documentación en lugar de suponer que todas las acciones están disponibles.
¿Qué suele ejecutar el comando service?
Iniciar y detener
En una máquina gestionada realmente por SysV, estas formas son habituales:
$ sudo service SERVICE_NAME start
$ sudo service SERVICE_NAME stop
Sustituye el marcador solo después de identificar el servicio, sus dependientes, su estado actual y el impacto operativo. Detener la red, el acceso remoto, el almacenamiento o la autenticación desde una sesión remota puede dejarte sin acceso o dañar el trabajo activo.
La forma directa /etc/init.d/SERVICE_NAME ACTION puede existir, pero, si el gestor activo de la máquina proporciona compatibilidad, usa el comando orientado a ese gestor para que pueda registrar el estado y las dependencias.
¿Qué comando solicita que se detenga el servicio SysV peanut?
Recargar, reiniciar y consultar el estado
Normalmente, restart detiene un servicio y después lo inicia, lo que provoca una interrupción. reload puede pedirle que vuelva a leer su configuración sin reiniciarlo por completo, pero solo cuando tanto el script como el demonio lo admiten. Algunos scripts ofrecen force-reload, cuyo comportamiento alternativo lo define la distribución.
Valida la configuración antes de recargar o reiniciar, conserva una segunda conexión administrativa cuando modifiques el acceso remoto y comprueba después el servicio mediante su punto de acceso real y sus registros, no solo mediante un estado que indique «en ejecución».
$ sudo service SERVICE_NAME status
$ sudo service SERVICE_NAME reload
¿Por qué no se debe suponer que reload equivale a restart?
Control durante la ejecución frente a habilitación al arrancar
Iniciar un servicio ahora no necesariamente lo habilita para futuros niveles de ejecución. La habilitación al arrancar se representa mediante enlaces de niveles de ejecución y se gestiona con herramientas específicas de la distribución como update-rc.d, chkconfig o generadores de compatibilidad del gestor de servicios.
No crees manualmente enlaces S y K hasta comprender los metadatos de dependencias y la herramienta de gestión de la distribución; los enlaces manuales pueden sobrescribirse o quedar en un orden incorrecto.
¿Ejecutar service SERVICE start habilita necesariamente el servicio para futuros arranques?
Lección completada
Has completado Servicio de System V
Ahora puedes operar un servicio antiguo sin confundir el control durante la ejecución con la política de arranque.
Descubre el script real y las acciones que admite.
En la sintaxis del mecanismo, coloca el nombre del servicio antes de la acción.
Valida y comprueba el comportamiento de recarga o reinicio.
Gestiona la habilitación futura en niveles de ejecución mediante las herramientas de la distribución.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita