La mayoría de las distribuciones de Linux se entregan con una determinada versión del kernel y solo se actualizan en versiones puntuales ( x.y.z
a x.y.(z+1)
) y para actualizaciones de seguridad.
Por otro lado, sé que Linux tiene una política muy estricta sobre no cambiar la ABI del núcleo y nunca romper el espacio del usuario. De hecho, Linus ha tenido muchos berrinches públicos dirigidos a desarrolladores que querían (intencionalmente o accidentalmente) cambiar el núcleo de formas no compatibles con versiones anteriores.
No entiendo por qué las distribuciones usan núcleos "estables" en lugar de actualizar siempre al último núcleo. Esto no es una crítica, solo tengo curiosidad sobre la razón.
linux
linux-kernel
imgx64
fuente
fuente
Respuestas:
Las interfaces de llamada del sistema del kernel de Linux son muy estables. Pero el núcleo tiene otras interfaces que no siempre son compatibles.
/proc
es en su mayoría estable, pero ha habido algunos cambios en el pasado (por ejemplo, algunas interfaces se movieron/sys
algún tiempo después de que/sys
se creó)./sys
contiene algunas interfaces estables (enumeradas enDocumentation/ABI/stable
) y algunas que no lo son. Se supone que no debe usar los que no lo son, pero a veces las personas lo hacen, y una simple actualización de seguridad y estabilidad no debería romper las cosas para ellos.En general, la razón principal para no cambiar a una versión de kernel más reciente son los módulos de terceros.
Sin embargo, algunas distribuciones ofrecen núcleos recientes como una opción. Por ejemplo, Debian hace que los núcleos de las pruebas estén disponibles para los usuarios de la versión estable a través de backports. Del mismo modo, en Ubuntu LTS, los núcleos de versiones más recientes de Ubuntu están disponibles, pero no se usan de forma predeterminada. Esto es principalmente útil para nuevas instalaciones en hardware que aún no eran compatibles cuando se finalizó la distribución.
fuente
No estoy trabajando para una distribución, pero puedo pensar en al menos dos razones:
fuente
Distribuciones más conservadoras siguen (y participan activamente) en las versiones de kernel estable , por el bien de la estabilidad. Los más aventureros usan una versión de kernel one más o menos detrás de la última y mejor vainilla, más una salpicadura de parches respaldados desde el consejo de desarrollo (y algunos de cosecha propia).
La política actual de desarrollo del núcleo es que la versión de Linus sigue adelante con juguetes nuevos y brillantes, y no teme los cambios al por mayor. Algunas versiones se consideran lo suficientemente estables (en cuanto al desarrollo) para formar la base de pruebas rigurosas y estabilización, dando series estables.
Todo esto es posible debido a las herramientas en uso, todos pueden preparar su propio árbol de git , mantener sincronizadas localmente interesantes ramas y árboles aguas arriba, robar compromisos de otros y compartir libremente los cambios locales.
fuente