Resumen de systemctl
systemd es el sistema init que gestiona el proceso de arranque del sistema y controla todos los servicios (demonios) que se ejecutan en segundo plano después de que el sistema arranca. `systemctl` proporciona una interfaz para manipular estas funciones de systemd desde la línea de comandos. Varios comandos antiguos como `service`, `chkconfig`, `reboot`, `shutdown`, etc., se han unificado en `systemctl`.
Entendiendo las unidades (Unit) de systemd
systemd abstrae todo lo que gestiona bajo el concepto de 'unidad (Unit)'. Cada unidad representa un servicio específico, un punto de montaje, un dispositivo, etc. Los tipos de unidad más comunes son `unidad de servicio (.service)`, `unidad de socket (.socket)`, `unidad de montaje (.mount)`, `unidad de dispositivo (.device)`, `unidad de objetivo (.target)`, etc. Normalmente, se omite la extensión `.service` al usarlo.
Principales funciones de systemctl
- Verificar estado del servicio: Identifica servicios en ejecución, servicios habilitados, servicios fallidos, etc.
- Control de servicios: Inicia, detiene, reinicia y recarga (vuelve a leer la configuración) servicios.
- Configurar inicio automático del servicio: Configura o desactiva el inicio automático de servicios al arrancar el sistema.
- Gestión de energía del sistema: Reinicia, apaga o suspende el sistema.
- Gestión de archivos de unidad: Verifica y modifica la ubicación y dependencias de los archivos de unidad.
Opciones principales del comando systemctl
`systemctl` ofrece una amplia gama de opciones para la gestión de servicios, control de energía del sistema y gestión de archivos de unidad. La mayoría de los comandos relacionados con servicios requieren privilegios de `sudo`.
1. Estado y control de servicios
2. Configurar inicio automático del servicio
3. Gestión de energía del sistema
4. Archivos y listas de unidades
Comando generado:
Combina los comandos.
Descripción:
`systemctl` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
A través de diversos ejemplos de uso del comando `systemctl`, aprenda cómo gestionar servicios de manera efectiva en sistemas basados en systemd.
Verificar estado del servicio del servidor web (Nginx)
systemctl status nginx.service
Verifique información detallada sobre si el servidor web Nginx está actualmente en ejecución, inactivo o si ha ocurrido un error.
Iniciar servicio MySQL
sudo systemctl start mysql.service
Inicia el servicio de base de datos MySQL.
Reiniciar servicio SSH
sudo systemctl restart sshd.service
Reinicia el servicio SSH (Secure Shell). Es útil cuando se aplican cambios en el archivo de configuración.
Configurar inicio automático del servidor web Apache
sudo systemctl enable apache2.service
Configura el servidor web Apache para que se inicie automáticamente al arrancar el sistema.
Verificar lista de todos los servicios activos
systemctl list-units --type=service --state=active
Enumera todas las unidades de servicio que están en estado 'active' (en ejecución o listas) en el sistema actual.
Reinicio del sistema a través de systemd
sudo systemctl reboot
Reinicia el sistema de manera segura, que es la forma recomendada.
Ver contenido de un archivo de unidad de servicio específico
systemctl cat redis-server.service
Verifique el contenido del archivo de unidad systemd del servicio Redis (por ejemplo, `/etc/systemd/system/redis.service`) para entender cómo funciona el servicio.