systemctl, Servicios en Linux

systemctl, guía de servicios

Gestión de servicios en Linux: iniciar, parar, reiniciar, habilitar, …

Gestiona y controla los servicios de tu sistema Linux de manera eficiente utilizando systemctl. Referencia rápida con los comandos más utilizados para la gestión de servicios.

Los servicios en Linux son programas que se ejecutan en segundo plano y realizan tareas específicas en el sistema. Aprender a gestionarlos es fundamental para cualquier administrador.

Guía básica del comando de gestión de servicios ‘systemctl’

Iniciar un servicio

Para iniciar un servicio que no está en ejecución, utilizamos el comando start:

sudo systemctl start apache2

Este comando iniciará el servidor web Apache si no está en ejecución.

Detener un servicio

Cuando necesitemos detener un servicio que está en ejecución:

sudo systemctl stop apache2

Este comando detendrá el servidor Apache. Si el servicio ya está detenido, el comando no tendrá efecto.

Reiniciar un servicio

Para reiniciar un servicio (útil después de cambios en la configuración):

sudo systemctl restart apache2

Este comando detendrá y volverá a iniciar el servicio en una sola operación.

Recargar un servicio

Para recargar la configuración de un servicio sin detenerlo:

sudo systemctl reload apache2

Este comando es útil cuando solo necesitas aplicar cambios de configuración sin interrumpir el servicio.

Comprobar el estado de un servicio

Para verificar si un servicio está funcionando correctamente:

sudo systemctl status apache2

Este comando mostrará información detallada sobre el estado del servicio, incluyendo si está activo, inactivo o ha fallado.

Habilitar/Deshabilitar el inicio automático

Para controlar si un servicio se inicia automáticamente al arrancar el sistema:

Para habilitar:

sudo systemctl enable apache2

Para deshabilitar:

sudo systemctl disable apache2

Enmascarar/Desenmascarar un servicio

Para evitar que un servicio pueda iniciarse, incluso manualmente:

sudo systemctl mask apache2

Para permitir que un servicio previamente enmascarado pueda iniciarse:

sudo systemctl unmask apache2

El enmascarado es más restrictivo que deshabilitar un servicio, ya que impide cualquier inicio del servicio.

Cambiar el target predeterminado

Para cambiar el nivel de ejecución (target) predeterminado para el próximo arranque:

sudo systemctl set-default multi-user.target

Los targets comunes incluyen graphical.target (entorno gráfico) y multi-user.target (modo texto multiusuario).

Listar archivos de unidad

Para ver todos los archivos de unidad instalados y su estado actual:

sudo systemctl list-unit-files

Este comando muestra qué servicios están habilitados, deshabilitados, enmascarados o estáticos.

Mostrar dependencias de una unidad

Para ver las dependencias requeridas por una unidad específica:

sudo systemctl list-dependencies apache2

Este comando es útil para entender qué otros servicios necesita un servicio para funcionar.

Listar sockets activos

Para ver todos los sockets activos utilizados para comunicación entre procesos:

sudo systemctl list-sockets

Los sockets son puntos de comunicación que permiten que los procesos intercambien datos.

Mostrar trabajos activos

Para ver todas las operaciones de systemd en curso:

sudo systemctl list-jobs

Útil para identificar operaciones pendientes o en ejecución en el sistema.

Listar unidades activas

Para mostrar todas las unidades systemd cargadas y activas:

sudo systemctl list-units

Esto incluye servicios, sockets, dispositivos y otros tipos de unidades systemd.

¿Cuándo usar cada comando?

  • Start: Cuando se necesita iniciar un servicio después de una instalación o si se detuvo manualmente.
  • Stop: Útil para liberar recursos del sistema o prevenir que programas no deseados se ejecuten.
  • Restart: Cuando se realizan cambios en la configuración o si el servicio no está funcionando correctamente.
  • Reload: Para aplicar cambios de configuración sin interrumpir el servicio.
  • Status: Para diagnosticar problemas o verificar si un servicio está funcionando como se espera.
  • Enable/Disable: Para controlar qué servicios se inician automáticamente con el sistema, útil para gestionar recursos y seguridad.
  • Mask/Unmask: Para bloquear completamente un servicio o permitir su uso después de haberlo bloqueado.
  • List-units/List-unit-files: Para auditar y revisar los servicios del sistema.

Se necesitan privilegios de superusuario (sudo) para ejecutar la mayoría de estos comandos, ya que afectan a la configuración del sistema.

Facebook
X
LinkedIn
WhatsApp
Email

Sobre mi

Trabajo en el desarrollo de webs profesionales desde hace más de 25 años.
También me dedico a mis proyectos personales.

Últimas notas publicadas

Categorías

Scroll al inicio