LinuxParty
Systemd: Units y Targets; uso de systemctl y compatibilidad con SysV
Units
Existen siete tipos diferentes de unidades:
- service: Demonios que pueden ser iniciados, detenidos, reiniciados o recargados.
- socket: Esta unidad encapsula un socket en el sistema de archivos o en Internet. Cada unidad socket tiene una unidad de servicio correspondiente.
- device: Esta unidad encapsula un dispositivo en el árbol de dispositivos de Linux.
- mount: Esta unidad encapsula un punto de montaje en la jerarquía del sistema de archivos.
- automount: Encapsula un punto de montaje automático. Cada unidad automount tiene una unidad mount correspondiente, que se inicia al acceder al directorio de automontaje.
- target: Utilizada para la agrupación lógica de unidades. Referencia a otras unidades, que pueden ser controladas conjuntamente, un ejemplo sería multi-user.target, que básicamente desempeña el papel de nivel de ejecución 3 en el sistema clásico SysV.
- snapshot: Similar a las unidades target.
Target
systemd utiliza las target en vez de runlevels (0123456) que reciben un nombre (en vez de un número) para identificar un propósito específico, con la posibilidad de realizar más de una acción al mismo tiempo.
Uso de systemctl y compatibilidad con init
La utilidad de administración de las unit de systemd es systemctl, la cual combina las herramientas service y chkconfig de SysV, por lo tanto podremos arrancar, parar, recargar servicios, activar o desactivar servicios en el arranque, listar los estados de los servicios,etc…
Además:
- Listar todas las unidades de servicios instaladas (algo parecido a chkconfig --list):
# systemctl list-unit-files --all
- O solo aquellas que se encuentran en activadas:
# systemctl list-unit
- Comprobar en que modos de ejecución se inicia un determinado servicio (algo parecido a chkconfig --list |grep httpd):
# ls /etc/systemd/system/*.wants/httpd.service
- La operación inversa sería ver para que niveles de ejecución se inicia una determinada aplicación:
# systemctl show -p “Wants” multi-user.target
- Si queremos ver todos los servicios disponibles en el sistema para poder arrancarlos o pararlos:
# systemctl -t service list-units --all
- Ver todas las targets (niveles de ejecución) disponibles en el sistema:
# systemctl list-units –type=target
- Pasar de un target (nivel de ejecución o runlevel) a otro:
# systemctl isolate graphical.target
- Compatibilidad entre los runlevels de init y las targets de systemd:
Importante: Si quieres aprender mas sobre systemd existe un post extendido en el blog de nebul4ck, o bien ir al capítulo del contenido de la certificación LPIC-1 donde se estudian los sistemas de inicialización Linux: "Capítulo 5 - Inicializar sistemas Linux: SysV, Upstart y systemd"
Notas del autor:
- Agradeceré infinitamente vuestro apoyo en www.facebook.com/4adminsys
- Para ampliar los conocimientos podéis pasaros por www.nebul4ck.wordpress.com

-
Linux
- Como instalar, implementar y configurar SPF en Linux para Postfix, CentOS, RHEL
- Instalar Servidor de Nombres de Dominio DNS en Linux
- Héctor Martin promete llevar Linux al chip M1
- autossh (1) - página de manual de Linux
- Listar la última columna con awk print
- Usando 'find' para buscar varias extensiones de archivos a la vez
- LinuxFx, para saltar sin tropezar de Windows a Linux y tener una transición amigable
- Bryan Lunduke explica porqué Linux apesta en 2020 (conferencias constructivas)
- Configuración de cárceles ssh chroot en Linux (chrooted ssh jails)
- Usuarios y dominios virtuales con Postfix, Courier, MySQL & SquirrelMail (CentOS
- Renombrar múltiples ficheros (quitar espacios, cambiar mayúsculas) a la vez en Linux
- "Es realmente difícil encontrar mantenedores": Linus Torvalds reflexiona sobre el futuro de Linux
- Cómo instalar PIP para administrar paquetes de Python en Linux
- Cómo instalar y configurar Memcached en CentOS 8
- Expresiones Regulares en Linux, Consejos avazandos para buscar y remplazar