Debian y Devuan unen fuerzas para sysvinit

Hace unos días , la próxima versión del clásico sistema de inicialización Unix / Linux sysvinit 2.92 se lanzó antes de lo previsto. El número anterior 2.91 salió hace poco más de un mes.


devu


¿Qué es notable sobre el lanzamiento de la versión menor del antiguo sistema de inicialización (SI), que casi todas las distribuciones modernas de Linux han rechazado, y qué tipo de alegría es esto para la comunidad de código abierto y los usuarios de Debian Linux?


Este episodio es interesante porque el lanzamiento fue un esfuerzo conjunto de dos equipos de desarrollo antagónicos de Debian y Devuan, que se separaron hace 4 años debido a la situación en torno a systemd . Pero pongámoslo en orden.


Triple voto en systemd


Unos meses antes del lanzamiento de Debian Jessie, los líderes del proyecto enfrentaron la necesidad de decidir sobre el sistema de inicialización. En ese momento, systemd ya estaba ganando popularidad y era uno de los principales contendientes. En total, cuatro SI participaron en la carrera.


  • systemd
  • advenedizo
  • openrc;
  • sysvinit

La votación también tuvo la opción de "se requiere más discusión".


Los resultados de la primera ronda mostraron un equilibrio entre el advenedizo y systemd , cada uno de ellos recibió 4 votos. Para tomar una decisión, se necesitaba una proporción de votos 2: 1.


2 semanas después de esto, una segunda ronda tuvo lugar a principios de febrero de 2014, en la que esencialmente no sucedió nada nuevo. Las voces se dividieron en la misma proporción y se tomó una decisión sobre el debate posterior.


A favor de systemd votó:


  • Bdale Garbee - Presidente del Comité Técnico;
  • Don Armstrong
  • Keith Packard, un gurú X que actualmente trabaja en Valve;
  • Russ Albery.

Para el advenedizo votó:


  • Colin Watson;
  • Steve Langasek;
  • Ian Jackson;
  • Andreas Barth.

Y por tercera vez, el TC votó, simplificando significativamente las reglas y planteando el problema. Eliminando todos los problemas secundarios de la agenda y reduciendo el umbral de decisión a una mayoría simple, el comité votó a favor de systemd desde la tercera convocatoria


No, ninguno de los partidarios advenedizos se mudó al campo opuesto, el resultado de la votación fue decidido por un voto adicional del Presidente del Comité Técnico, Bidel Garby, y el problema de SI para Debian Linux se resolvió con solo un voto con el balance de opiniones 4: 4 anterior.


Linus afeita a Bideil Garby en LinuxConf 2009


afeitarse


El resultado de la votación causó un agudo sentimiento de amargura, decepción e injusticia entre los opositores de systemd . En las listas de correo de Debian, las pasiones eran altas.


Ian Jackson pidió a Bideil Garby que renunciara como presidente del TC. Luego, liberando vapor, decidí alejarme temporalmente de la participación en los asuntos del TC.


Después de un par de días el 11 de febrero, quedó claro que la decisión para Debian Linux finalmente se tomó y que en el futuro previsible, el sistema principal de inicialización de distribución será systemd .


Devuan


Los desarrolladores de la distribución Debian Linux, que no estaban de acuerdo con este estado de cosas, no se lamentaron por mucho tiempo y seis meses antes del lanzamiento de la misma octava versión, crearon su tenedor sobre la base de systvinit y lo llamaron Devuan , comenzando con la frase Dev one .


Lo más destacado del kit de distribución y su principal diferencia con el sistema operativo principal fue lo que comenzó todo el alboroto. Devuan Linux eligió sysvinit como SI. En general, el nacimiento del desarrollo de la distribución fue recibido con gran entusiasmo entre los usuarios de Linux, sin excluir la parte del idioma ruso .


En junio , se lanzó la segunda versión del kit de distribución sobre la base de la última versión de su antecesor: Debian Stretch. Además de sysvinit , también puede elegir openrc como SI.


Intentemos comprender qué causó tal división en el entorno de los desarrolladores de Debian, y de hecho entre una gran cantidad de usuarios de diversas variaciones del sistema operativo Linux. De hecho, antes, hubo decisiones difíciles y giros peligrosos en la historia de GNU / Linux: GPLv3 o no , UEFI SecureBoot , etc. ¿Por qué, entonces, todos se volvieron locos?


Controversia en torno al sistema d


Si reducimos la esencia de todas las disputas a una tesis, entonces podemos decir que systemd implica el intercambio del control más completo sobre la inicialización del sistema y sus servicios para un rechazo total de la filosofía de Unix.


Y el primero es disputado ferozmente por los oponentes de systemd , pero nadie disputa el segundo. No todos están de acuerdo en que systemd facilita la vida del administrador, pero pocos pueden argumentar que systemd y Unix Way son dos extremos.


systemd proporciona capacidades de paralelización agresivas, utiliza sockets D-Bus y activación para ejecutar servicios, ofrece demonios para ser lanzados según sea necesario, monitorea procesos usando grupos de control de Linux, admite instantáneas y restauración del estado del sistema, montajes y puntos de montaje, y también implementa basados ​​en la dependencia lógica para controlar procesos complejos de transacciones .

¿Dónde surgió la necesidad de un sistema tan completo para controlar la inicialización del sistema operativo y sus procesos? No creo en la teoría de la conspiración y, por lo tanto, creo que las razones estaban en los defectos de sysvinit y otros SI.


Creado en 1983, sysvinit no pudo resolver una serie de tareas importantes, como:


  • inicio paralelo de procesos;
  • Detección de medios extraíbles.
  • activación de servicios basados ​​en sockets;
  • Controle de manera confiable las dependencias entre diferentes procesos y servicios
  • registro temprano de eventos a través de /dev/log .

Todos estos y muchos otros inconvenientes finalmente se resolvieron en systemd . La estandarización de los archivos de configuración, la unificación de sintaxis y la gestión de dependencias de servicios basados ​​en cgroups supuestamente permitieron a los proveedores de distribuciones comerciales de Linux simplificar la vida de los administradores y reducir el costo de administrar el parque de servidores.


¿Pero cuál fue el precio? Según un diseño extraño, la creación de Lennart Pottering ha pasado de ser un SI normal a un "conjunto de bloques de construcción para el sistema Linux". Cita de la página principal del proyecto. Un tipo de estado en el estado que controla la conexión de dispositivos, puntos de entrada de sistemas de archivos, conexiones de red, servicio de hora del sistema, sesiones de usuario, registros del sistema, etc.


Al mismo tiempo, muchos desarrolladores de DE, especialmente Gnome, comenzaron a vincular elementos del entorno gráfico a systemd :


  • gestión de energía;
  • gestión de sesiones de usuario;
  • viendo la revista;
  • si cierra la pantalla del portátil, los eventos no se procesarán;
  • Wayland

Todo esto no despegará en Gnome sin parches especiales, si elige un SI diferente, excepto systemd .


La razón de este estado de cosas es que es demasiado difícil admitir dos opciones para muchos conjuntos de programas: uno con systemd y el otro sin él. Como resultado, se crea una situación en la que no hay forma de seleccionar otro SI en la distribución de Linux.


Nube de etiquetas de palabras clave alrededor de systemd en Twitter .


systemd


Bueno, no hay forma de elegir SI, ¿es realmente tan importante? No creo que me moleste mucho si no hay posibilidad de elegir un cargador de sistema operativo o un cliente DHCP.


Como resulta para muchos usuarios, systemd molesta muchas cosas. El registro temprano y completo de los eventos del sistema desde el momento mismo del lanzamiento es ciertamente bueno, pero ¿cómo puede imaginar un sistema Linux con archivos de registro binarios?


Lennart Pottering puede ser un buen programador, pero el estilo de su comunicación y la reacción a los defectos detectados, a la crítica están por debajo de toda crítica. Aquí está su reacción al defecto 5644 .


El defecto en sí mismo.


 # mkdir -p /foo/dir{1,2} # touch /foo/.bar{1,2} # cat /etc/tmpfiles.d/test.conf R! /foo/.* - - - - - Reboot. 

Comentario de Lennart Pottering.


No estoy seguro de considerar este gran problema. Sí, es una trampa de UNIX, pero "rm -rf /foo/.*" funcionará exactamente de la misma manera, ¿no? .

Este no es un caso aislado, tal estilo de comunicación le ha ganado una mala reputación con los geeks. Y esto es solo una parte de los reclamos contra systemd y su autor. Debido a su alcance, escala y complejidad, un sistema puede ser frágil como un SI, su función principal.


Aun así, systemd es superior a todos los principales SI en sus capacidades, pero la pregunta sigue siendo. ¿Por qué los administradores localeshost ordinarios no tienen la oportunidad de elegir Debian Linux y otras distribuciones, un SI más simple de usar y depurar? De hecho, no todos necesitan un lanzamiento paralelo de procesos y gestión de cuotas.


Mi comprensión de la situación con systemd es que se impuso un SI más sofisticado, pero al mismo tiempo, para muchos, irrazonablemente complejo y opaco a quienes lo necesitaban y a quienes no . A muchos usuarios de Linux no les gustó esto y comenzaron a quejarse de que ahora Linux se ha vuelto como Windows, pero solo con código fuente abierto.


DnD trabajando juntos en sysvinit


¡Y ahora finalmente las buenas noticias! Recientemente, ha habido cambios entre los equipos de desarrollo de Debian y Devuan SI. Se decidió combinar esfuerzos en varias áreas.


  • Mantenga sysvinit a flote para aquellos que estén listos para usar Debian Linux con todas las restricciones, incluso sin un entorno gráfico. Se necesita la ayuda de Devuan para preparar la décima versión de Debian, llamada Buster .
  • Como resultado de esta polinización cruzada, los académicos de Debian ayudaron a sus colegas de Devuan a prepararse para el lanzamiento de sysvinit 2.92. Gracias a esto, los términos se redujeron y el problema tuvo lugar antes de NG, como se dijo al comienzo de la publicación.

Si prevalece el sentido común, ambos grupos de desarrollo podrán establecer e implementar objetivos más relevantes para todos los usuarios de Debian / Devuan, para lograr el soporte completo de varios SI para Devuan Linux: openrc , s6 , runit , nosh , etc. Debian Linux también tiene soporte completo al menos un SI diferente de systemd sin duda se beneficiaría.


PD: La primera conferencia de Devuan Linux se llevará a cabo en Amsderdam del 5 al 7 de abril de 2019.


Lectura adicional


Source: https://habr.com/ru/post/es431202/


All Articles