En esta Oportunidad traemos el muy poderoso Systemd el cual ha levantado mucha polémica en la comunidad, pero después de tanta batalla será el nuevo gestor de servicios por defecto en casi el 90% de las distribuciones de Linux dejando atrás a SysV.
Para definir a SystemD que mejor que citar lo que ofrecen los responsables del proyecto.
«systemd es un gestor del sistema y de los servicios para Linux, compatible con los initscript SysV y LSB. systemd proporciona una notable capacidad de paralelización, utiliza la activación de socket y D-Bus para iniciar los servicios, permite el inicio de los demonios bajo demanda, realiza un seguimiento de los procesos con el uso de los grupos de control de Linux, apoya snapshotting y la restauración del estado del sistema, mantiene los puntos montaje y servicios de montaje automático e implementa un elaborado sistema de gestión de dependencias basado en un control lógico de los servicios.»
Entre las características más importantes podemos destacar;
Para verificar que nuestra distribución está siendo administrada por systemd podemos lanzar desde la terminal.
De lo contrario aun estarías usando upstart o init
La principal orden para controlar systemd es systemctl. Algunos de los posibles usos son el examen del estado del sistema, y la gestión del sistema y de los servicios.
Podemos listar las unidades en ejecución:
Esto puede aplicarse para demonios, servicios, puntos de montaje, sockets y administración general del sistema, un ejemplo real sería para el servidor web apache bajo centos 7.0
Verificar la lista de todos los targets en el sistema:
¿Que es SystemD?
Para definir a SystemD que mejor que citar lo que ofrecen los responsables del proyecto.
«systemd es un gestor del sistema y de los servicios para Linux, compatible con los initscript SysV y LSB. systemd proporciona una notable capacidad de paralelización, utiliza la activación de socket y D-Bus para iniciar los servicios, permite el inicio de los demonios bajo demanda, realiza un seguimiento de los procesos con el uso de los grupos de control de Linux, apoya snapshotting y la restauración del estado del sistema, mantiene los puntos montaje y servicios de montaje automático e implementa un elaborado sistema de gestión de dependencias basado en un control lógico de los servicios.»
Entre las características más importantes podemos destacar;
- Paralelización de Procesos (poder ejecutar 2 o más procesos en simultáneo) lo cual se traduce en un inicio más rápido del sistema.
- Optimiza el uso de recursos utilizando cgroups.
- Soporta snapshots y restauración del sistema a un punto definido.
- Administra puntos de montaje y montaje de unidades de almacenamiento.
Verificar Gestor de Inicio
Para verificar que nuestra distribución está siendo administrada por systemd podemos lanzar desde la terminal.
ps axu | head -n 2Nos debería arrojar algo similar a esto:
De lo contrario aun estarías usando upstart o init
Funcionamiento
La principal orden para controlar systemd es systemctl. Algunos de los posibles usos son el examen del estado del sistema, y la gestión del sistema y de los servicios.
Podemos listar las unidades en ejecución:
systemctl list-unitsLas unidades disponibles se encuentran listadas en los directorios /lib/systemd/system y /etc/systemd/system, pero pueden ser listadas con:
systemctl list-unit-filesEsto me da la lista de las unidades disponibles y el estatus de ellas:
Gestión de Unidades
Activar unidad
systemctl start unidad
Desactivar unidad
systemctl stop unidad
Reiniciar Unidad
systemctl restart unidad
Recargar configuración de una unidad (Útil con apache)
systemctl reload unidad
Mostrar el estatus de una unidad
systemctl status unidad
Verificar si una unidad iniciara de manera automática con el Target
systemctl is-enabled unidad
Habilitar unidad
systemctl enable unidad
Recargar el daemon de systemd en busca de nuevas unidades
systemctl daemon-reload
Deshabilitar Unidad
systemctl disable unidad
Esto puede aplicarse para demonios, servicios, puntos de montaje, sockets y administración general del sistema, un ejemplo real sería para el servidor web apache bajo centos 7.0
#Instalar servidor web apache $ yum -y install httpd #Habilitar el servicio $ systemctl start httpd #Habilitar el servicio para inicio automático con el sistema $systemctl enable httpd #Verificar el estatus del servicio $ systemctl status httpd
Gestion de Energia
Apagado y Reinicio del Sistema
systemctl reboot
Apagado del Sistema
systemctl power off
Suspensión del Sistema
systemctl suspend
Poner el sistema en hibernación
systemctl hibernate
Gestión de Targets (Similar a los Runlevels)
Verificar la lista de todos los targets en el sistema:
$ systemctl list-units --type=target
Mostrar el target por defecto al iniciar el sistema
$ systemctl [color=#0000ff]get[/color][color=#0000ff]-default[/color]
Cambiar a un target en este caso el target gráfico que inicia la interfaz
$ systemctl isolate graphical[color=#666600].[/color]target
Tabla de targets
Conclusiones
Hemos visto una gran cantidad de comandos más que suficientes para administrar una distribución basada en systemd, Puede parecer mucho más complicado que SysV pero después de un tiempo te parecerá muy sencillo y sobretodo muy bien estructurado.
¿Te ha gustado y ayudado este Tutorial?
Puedes premiar al autor pulsando este botón para darle un punto positivo