La historia detrás de ‘init’ y ‘systemd’: por qué era necesario reemplazar ‘init’ por ‘systemd’ en Linux

La historia detrás de ‘init’ y ‘systemd’: por qué era necesario reemplazar ‘init’ por ‘systemd’ en Linux

Estoy suscrito a varias listas de correo relacionadas con varias distribuciones y aplicaciones de Linux solo para mantenerme actualizado con lo que está pasando y dónde. ¿Cuáles son los nuevos errores? ¿Cuáles son los parches publicados? ¿Qué se espera en la próxima versión? y muchas otras cosas. En estos días, la lista de correo está muy poblada con “Elige tu lado en Linux Divide”, principalmente en la lista de correo de Debian junto con algunos otros.

 Linux Systemd  Linux Systemd systemd reemplaza init What“ Elige tu lado en Linux Divide ”¿De qué se trata?

El demonio init será reemplazado por el demonio systemd en algunas de las distribuciones de Linux, mientras que muchas de ellas ya lo han implementado. Esto crea/creará una gran brecha entre el tradicional Unix/Linux Guard y New Linux Guard: programadores y administradores del sistema.

En este artículo, discutiremos y resolveremos todas las consultas una por una.

  1. ¿Qué es init?
  2. ¿Qué es systemd?
  3. ¿Por qué es necesario reemplazar init?
  4. ¿Qué características tendrá systemd propio.

¿Qué es init?

En Linux, init es una abreviatura de Inicialización. init es un proceso demonio que se inicia tan pronto como se inicia la computadora y continúa funcionando hasta que se apaga. De hecho, init es el primer proceso que se inicia cuando se inicia una computadora, lo que lo convierte en el padre de todos los demás procesos en ejecución directa o indirectamente y, por lo tanto, normalmente se le asigna “ pid = 1 “.

Si de alguna manera el demonio init no puede iniciarse, no se iniciará ningún proceso y el sistema llegará a una etapa llamada “ Kernel Panic “. init se conoce más comúnmente como System V init . System V es el primer sistema operativo UNIX comercial diseñado y los usos de init en la mayor parte de la distribución de Linux actual son idénticos a System V OS con algunas excepciones como Slackware que usa estilo BSD y Gentoo que usa init personalizado. .

freestar.config.enabled_slots.push

La necesidad de reemplazar init con algo más perfecto se sintió desde hace mucho tiempo y se hicieron varias alternativas desarrollado de vez en cuando, algunos de los cuales se convirtieron en el reemplazo de init nativo de la distribución, algunos de los cuales son:

  1. Upstart : un demonio de reemplazo de init implementado en Ubuntu GNU/Linux y diseñado para iniciar el proceso de forma asíncrona.
  2. Epoch : un demonio de reemplazo de init construido en torno a la simplicidad y la gestión de servicios, diseñado para iniciar el proceso de un solo subproceso.
  3. Mudar : un demonio de reemplazo de init escrito en Python, implementado en Pardus GNU/Linux y diseñado para iniciar el proceso de forma asíncrona.
  4. systemd : un demonio de reemplazo de init diseñado para iniciar el proceso en paralelo, implementado en varias distribuciones estándar: Fedora, OpenSuSE, Arch, RHEL, CentOS, etc.

¿Qué es systemd?

Un systemd es un demonio de administración del sistema llamado con la convención de UNIX para agregar “ d ” al final del demonio. Para que se puedan reconocer fácilmente. Inicialmente fue lanzado bajo la Licencia Pública General GNU, pero ahora los lanzamientos se realizan bajo la Licencia Pública General Reducida GNU. Similar a init, systemd es el padre de todos los demás procesos directa o indirectamente y es el primer proceso que se inicia en el arranque, por lo que normalmente se le asigna un “ pid = 1 “.

A systemd , puede referirse a todos los paquetes, utilidades y bibliotecas alrededor de daemon. Fue diseñado para superar las deficiencias de init. En sí mismo es un proceso en segundo plano que está diseñado para iniciar procesos en paralelo, reduciendo así el tiempo de arranque y la sobrecarga computacional. Tiene muchas otras características en comparación con init.

¿Por qué era necesario reemplazar init?

Un proceso de inicio se inicia en serie, es decir, una tarea comienza solo después de que el inicio de la última tarea fue exitoso y se cargó en la memoria. Esto a menudo resultó en un tiempo de arranque prolongado y retrasado. Sin embargo, systemd no fue diseñado para la velocidad, sino para hacer las cosas de manera ordenada, lo que a su vez evita todos los retrasos necesarios para la ONU.

Características de systemd

  1. Diseño limpio, avanzado y eficiente.
  2. Proceso de arranque más simple.
  3. Procesamiento simultáneo y paralelo en el arranque.
  4. Mejor API.
  5. Sintaxis de unidad simple.
  6. Capacidad para eliminar componentes opcionales.
  7. Huellas de memoria bajas.
  8. Técnica mejorada para exprese dependencias.
  9. Instrucción de inicialización escrita en el archivo de configuración y no en el script de shell.
  10. Haga uso de Unix Domain Socket.
  11. Programación de trabajos usando systemd Calendar Timers.
  12. Registro de eventos con journald.
  13. Elección de registro de eventos del sistema con systemd y syslog.
  14. Los registros se almacenan en un archivo binario.
  15. systemd state se puede conservar para ser llamado más adelante en el futuro.
  16. Rastree el proceso usando el cgroup del kernel y no el PID.
  17. Los usuarios inician sesión administrados por systemd-logind.
  18. Mejor integración con Gnome para la interoperabilidad.

Cuello de botella systemd

  1. Todo en un solo lugar.
  2. No estándar de POSIX dard.

Systemd and Distro Integration Distribución Linux Integración Fedora Sí, primera distribución en adoptar systemd Arch Sí RedHat Sí CentOS Sí Debian Sí, Debian 8 El nombre en clave Jessie tendrá systemd por defecto Gentoo Sí, pero necesita ser descargado, instalado y configurado con un inicio personalizado OpenSUSE Sí Slack No (Aunque no se ha adoptado hasta ahora en slackware, Patric Volkerding no ha mostrado ninguna indicación de si será adoptado o no) Ubuntu Sí, debe instalarse y configurarse con Upstream. Controversia

Linus Torvalds, arquitecto jefe del kernel de Linux, siente la actitud del desarrollador clave de systemd hacia los usuarios y los informes de errores no parecen estar bien. También se informó que la filosofía systemd es extraña y una forma extraña de controlar los procesos del sistema. Lo mismo se ha registrado de Patric Volkerding y otros usuarios y desarrolladores notables de Linux, así como en foros en línea, de vez en cuando.

systemd vs init Características init systemd Dependencia de DBus-Obligatorio No Sí Activación basada en dispositivo No Sí Configuración de dependencia de dispositivo con udev No Sí Activación basada en temporizador Cron/en Gestión de cuota de propietario No Sí Manejo automático de dependencia de servicio No Sí Elimina usuarios Proceso al cerrar sesión No Sí Swap Management No Sí Integración de SELinux No Sí Soporte para HDD cifrado No Sí Carga de módulo kernle estático No Sí GUI No Sí Enumere todos los procesos secundarios No Sí Compatible con Sysv Sí Sí Arranque interactivo No Sí Portátil a no x86 Sí No Adoptado en varias distribuciones Varias Distro Inicio del servicio paralelo No Sí Límite de recursos por servicio No Sí Script de inicio extensible fácil Sí No Código y archivo de configuración separados Sí No Cálculo automático de dependencias No Sí Debu detallado g Sí No Versión N/A V44 + Tamaño 560 KB N/A Número de archivos 75 archivos 900 archivos + glib + DBus Líneas de código-LOC 15000 (aprox.) 224000 (aprox.) (incluidos códigos, comentarios y espacios en blanco) 125000 (aprox. ) (código real) Conclusión

Todo lo que se ejecute como pid = 1 no debe romperse, no debe ser un desastre y debe ser controlado por los usuarios de manera efectiva y eficiente. Muchos usuarios creen que reemplazar init por systemd no es más que reinventar la rueda cada vez como un efecto secundario de Linux. Pero esta es la naturaleza diversa de Linux. Esto se debe a que Linux es mucho más poderoso. El cambio es bueno y debemos apreciarlo si es por una buena razón.

Eso es todo por ahora. Estaré aquí de nuevo con otro artículo interesante que a la gente le encantará leer. Hasta entonces, estad atentos y conectados a Tecmint. No olvide enviarnos sus valiosos comentarios en los comentarios a continuación.