systemd

Systemd cómo inicia su sistema

Systemd cómo inicia su sistema
Systemd se desarrolló cuando los desarrolladores descubrieron que no era posible iniciar el sistema en paralelo. Los sistemas más antiguos revisan los archivos de inicio del sistema uno por uno. Esto puede hacer que el arranque se detenga cuando se esperan recursos que son lentos. Un ejemplo de esto es cuando un proceso necesita tener la red funcionando. El uso de la red es muy lento, otros recursos no deberían tener que esperar. Este problema se puede mitigar de otras formas, pero con systemd, todo el inicio se realiza en paralelo siempre que sea posible. El resultado debería ser un inicio mucho más rápido para sistemas complejos, que incluye su sistema de escritorio.

Systemd: padre de todos los demás procesos

Un sistema Linux, y cualquier otro * nix, siempre inicia un proceso que es el padre de todos los demás procesos. Cuando usa Systemd, ese proceso es systemd, el proceso siempre se llama 'init' independientemente del sistema de inicio. Una vez que systemd se esté ejecutando, iniciará los demonios que ejecutan los subsistemas. Los demonios controlan qué recursos tienes y qué sistemas están abiertos. Su mensaje de inicio de sesión es un servicio administrado por systemd. Systemd inicia muchos otros servicios y también monta todos sus discos, incluidos los montajes a presión.

¿Cómo controlas lo que comienza??

En primer lugar, el sistema de inicio más antiguo tenía niveles de ejecución que muchos lectores reconocerán. El nivel de ejecución 1 era el modo de usuario único, el modo multiusuario 2 sin conexión en red y el modo gráfico y multiusuario de 3-5. Establecer el nivel de ejecución en 0 significaba detener y 6 significaba reiniciar. Los desarrolladores de systemd encontraron que estos niveles no estaban claros, por lo que los cambiaron para que se llamaran objetivos. Los objetivos no son exactamente iguales pero tienen una función similar. Cuando se está ejecutando un objetivo específico, se está ejecutando una colección específica de unidades. Más sobre las unidades más adelante.

Establecer el "nivel de ejecución", llamado objetivo.

Puede cambiar el objetivo mientras se ejecuta, por ejemplo, puede usar un terminal para configurar su objetivo en multiusuario. Esto detendría su GUI, X o Wayland, pero le permitiría a usted y a otros iniciar sesión con una consola de texto. Usa el siguiente comando.

$ systemctl aislar multiusuario.objetivo

O, si desea iniciar su escritorio, use el siguiente comando en su lugar.

$ systemctl aislar gráfico.objetivo

Lo que realmente te interesa es cómo comenzar el nivel correcto, puedes averiguar lo que tienes ahora mismo de esta manera.

$ systemctl get-default

Para cambiar la configuración predeterminada.

$ systemctl set-default gráfico.objetivo

Este comando en realidad hace que muchas unidades y servicios se inicien cuando arranca su computadora. Sin embargo, es posible que desee iniciar o detener un solo servicio.

INICIAR, detener, habilitar y deshabilitar un servicio.

Aquí es donde tiene la oportunidad de cambiar lo que sucede en el arranque y durante el funcionamiento normal. A diferencia de los objetivos, las unidades son especiales para un servicio en particular. Para detener un servicio, use 'systemctl stop', igualmente puede usar 'iniciar' y 'reiniciar'. Para hacer que un servicio se inicie en el arranque, use 'habilitar', para detenerlo 'deshabilitar'. Elija un servicio e inícielo y deténgalo mientras se está ejecutando.

Copas de estado de $ systemctl.Servicio

Este comando muestra el estado del servicio, también muestra una lista de acciones tomadas por el sistema con respecto al servicio. Para detener el servicio, use el siguiente comando.

tazas de parada $ systemctl.Servicio

El servicio ahora está detenido para su sesión actual. Para cambiarlo para que no comience en el próximo arranque, use deshabilitar.

$ systemctl deshabilitar vasos.Servicio

Tenga en cuenta que solo puede deshabilitar el servicio, esto no tendría ningún efecto en su situación actual. El servicio sigue funcionando. Sin embargo, en el próximo arranque, no iniciará el servicio.

Systemd también controla soportes, dispositivos, enchufes y más. Las unidades son más bajas y más fáciles de entender, si ha trabajado con Linux antes. También puede configurarlos usted mismo, pero el mayor efecto en el arranque es controlar los servicios.

¿Cómo agregas tus propios scripts??

Puede agregar sus propios scripts con bastante facilidad, los detalles que son interesantes de saber es cómo hace que su script o servicio dependa de otros. Esto se demuestra claramente en este archivo de servicio de reanudación wifi.

[Unidad]
Descripción = Reiniciar el administrador de red al reanudar
Después = suspender.objetivo
Después = hibernar.objetivo
Después = sueño-híbrido.objetivo
 
[Servicio]
Tipo = oneshot
ExecStart = / bin / systemctl reiniciar el administrador de red.Servicio
 
[Instalar en pc]
WantedBy = suspender.objetivo
WantedBy = hibernar.objetivo
WantedBy = sueño-híbrido.objetivo

Este código crea un servicio que ocurre una vez (one-shot) después de los tres objetivos mencionados en el código. El código que se ejecuta es en este caso un solo comando. También puede señalar ExecStart a un script de su elección.

Conclusión

Puede cambiar su sistema, especialmente cómo arranca, puede hacerlo usted mismo, pero tenga en cuenta que esto tiene muchas consecuencias para cada servicio, así que asegúrese de que su código sea estable y rápido de ejecutar.

Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...
Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...