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
- Predicciones de Linux para 2025
- Elementary OS 8: una distribución de Linux para usuarios de Windows y macOS
- Renombrar multiples archivos masivamente en Linux (quitar espacios, cambiar mayúsculas) a la vez en Linux
- He utilizado Linux durante 30 años. Aquí hay 5 razones por las que nunca cambiaré a Windows o MacOS
- Montar un directorio remoto, vía NFS, en Linux
- Mis predicciones sobre Linux para 2025: será un buen año
- ¿Por qué Torvalds eliminó a los encargados rusos del mantenimiento del núcleo de Linux?
- 10 cosas que siempre hago después de instalar Linux (y por qué tú también deberías hacerlo)
- 7 cosas que nunca hago después de instalar Linux (y por qué tú tampoco deberías)
- Detección de Intrusos: Snort, Base, MySQL, y Apache2 en Ubuntu Linux 7.10
- ¿Por qué no más personas usan Linux en el escritorio? Tengo una teoría que quizás no te guste.
- Los países occidentales ricos lideran la expansión mundial del petróleo y el gas
- Systemd 256.1 aborda la queja de que 'systemd-tmpfiles' podría eliminar inesperadamente su directorio /home
- Por qué un kernel Linux de distribución 'congelada' no es la mejor opción para la seguridad
- RebornOS es una versión hermosa y fácil de usar de Arch Linux con abundantes opciones de escritorio