• Con el fin de ofrecerle una experiencia de navegación adaptada a sus necesidades le informamos de que esta web utiliza cookies. Puede deshabilitarlas en las opciones de su navegador web. Mas info Politica de Cookies Free data recovery software
 

Tutorial sobre systemd

razor

Administrador Global del Foro
Miembro del Staff
Administrador
Introducción

Systemd es un sistema de init y servicio para sistemas operativos Linux. Es el sistema de init predeterminado en la mayoría de las distribuciones de Linux modernas, incluyendo Ubuntu, Fedora y Debian.

Systemd ofrece una serie de ventajas sobre los sistemas de init tradicionales, como SysVinit. Estas ventajas incluyen:

  • Eficiencia: systemd es más eficiente que los sistemas de init tradicionales, lo que puede mejorar el rendimiento del sistema.
  • Facilidad de uso: systemd es más fácil de usar que los sistemas de init tradicionales, lo que puede facilitar la gestión de servicios.
  • Flexibilidad: systemd es más flexible que los sistemas de init tradicionales, lo que puede facilitar la adaptación a las necesidades específicas de un sistema.
En este tutorial, aprenderemos los conceptos básicos de systemd, incluyendo:

  • Cómo iniciar y detener servicios
  • Cómo crear servicios personalizados
  • Cómo administrar servicios
Iniciar y detener servicios

Para iniciar un servicio, podemos utilizar el comando systemctl start. Por ejemplo, para iniciar el servicio sshd, que proporciona el servicio SSH, podemos ejecutar el siguiente comando:

systemctl start sshd

Para detener un servicio, podemos utilizar el comando systemctl stop. Por ejemplo, para detener el servicio sshd, podemos ejecutar el siguiente comando:

systemctl stop sshd

Podemos verificar el estado de un servicio utilizando el comando systemctl status. Por ejemplo, para verificar el estado del servicio sshd, podemos ejecutar el siguiente comando:

systemctl status sshd

Crear servicios personalizados

Para crear un servicio personalizado, podemos utilizar el editor de texto de nuestra elección para crear un archivo de unidad systemd. Los archivos de unidad systemd tienen la extensión .service.

Un archivo de unidad systemd típico tiene el siguiente formato:


Explain
[Unit]
Description=Descripción del servicio
After=servicios-que-deben-iniciar-antes
Before=servicios-que-deben-iniciar-después

[Service]
Type=tipo-de-servicio
ExecStart=comando-de-inicio
ExecStop=comando-de-parada

[Install]
WantedBy=multi-user.target

La sección [Unit] proporciona información general sobre el servicio, como su descripción y los servicios que deben iniciarse antes o después de él.

La sección [Service] especifica cómo se inicia y detiene el servicio. El campo Type especifica el tipo de servicio. Los valores posibles son:

  • simple: El servicio se inicia como un proceso normal.
  • fork: El servicio se inicia como un proceso hijo del proceso init.
  • dbus: El servicio se inicia como un servicio D-Bus.
  • notify: El servicio se inicia como un servicio que notifica a otros servicios cuando se inicia o detiene.
El campo ExecStart especifica el comando que se ejecuta para iniciar el servicio.

El campo ExecStop especifica el comando que se ejecuta para detener el servicio.

La sección [Install] especifica los targets en los que se debe iniciar el servicio. El valor predeterminado es multi-user.target, que es el target que se activa cuando el sistema inicia el multiusuario.

Por ejemplo, el siguiente archivo de unidad systemd crearía un servicio que inicia el comando /bin/bash como un proceso simple:


Explain
[Unit]
Description=Servicio de ejemplo

[Service]
Type=simple
ExecStart=/bin/bash

[Install]
WantedBy=multi-user.target

Administrar servicios

Podemos administrar servicios systemd utilizando los siguientes comandos:

  • systemctl start
  • systemctl stop
  • systemctl restart
  • systemctl enable
  • systemctl disable
El comando systemctl start inicia un servicio.

El comando systemctl stop detiene un servicio.

El comando systemctl restart reinicia un servicio.

El comando systemctl enable habilita un servicio para que se inicie automáticamente cuando el sistema se inicia.

El comando systemctl disable deshabilita un servicio para que no se inicie automáticamente cuando el sistema se inicia.

Conclusión

Systemd es un sistema de init y servicio potente y flexible que ofrece una serie de ventajas sobre los sistemas de init tradicionales. En este tutorial, hemos aprendido los conceptos básicos de systemd, incluyendo cómo iniciar y detener servicios, crear servicios personalizados y administrar servicios.
 
Back
Arriba