Cargando



¿Qué es SystemD?

En esta Oportunidad os muestro 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.


ago 23 2015 13:26
Profesional
ago 24 2015 09:56
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.

¿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.
A diferencia de los runlevel que iban del 0 al 6 del antiguo init, systemd utiliza targets que pueden iniciar todos los procesos asociados al target de manera simultánea pero lo interesante de esto es que puede programar el inicio del target gráfico pero no sin antes iniciar el target multi-user.

Verificar Gestor de Inicio

Para verificar que nuestra distribución está siendo administrada por systemd podemos lanzar desde la terminal.
ps axu | head -n 2
Nos 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-units
Las unidades disponibles se encuentran listadas en los directorios /lib/systemd/system y /etc/systemd/system, pero pueden ser listadas con:
systemctl list-unit-files
Esto me da la lista de las unidades disponibles y el estatus de ellas:

systemd2.jpg


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

systemd3.jpg


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

systemd4.jpg


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

tabla.jpg


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 ayudó este Tutorial?


2 Comentarios


Saul Martin Siera
ago 23 2015 18:43
Te sigo Jonathan. M gustan tus tutoriales de admin

+1

 

muy bueno, se agradece algo de Linux

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Hola! Si no encuentras algún tutorial en el buscador de Solvetic, Solicítalo Aquí

X