¿Cómo funciona la actualización de software?

La forma en que funciona la actualización en RedHat Linux es la siguiente: el sistema tiene una base de datos con la versión de cada paquete de software instalado en la computadora, que incluye todos los componentes del sistema operativo (el núcleo, las bibliotecas, las herramientas del sistema). Todas las noches se ejecuta un proceso que contacta un repositorio en línea y verifica si hay una versión más reciente de algún paquete. Si lo hay, lo descarga automáticamente y verifica la firma digital y la suma de verificación. Si son correctos, buscará dependencias, cualquier otro componente que deba actualizarse o instalarse primero. Luego los descargará si es necesario, luego instalará el nuevo paquete en lugar del anterior. Conservará los archivos de configuración modificados por el usuario. Una vez que haya instalado el paquete, puede reiniciar cualquier servicio que se esté ejecutando y que todavía use una copia residente en la memoria del software anterior. Si se actualiza el núcleo del sistema operativo, será necesario reiniciar el sistema. Normalmente, el nuevo kernel se instalará en paralelo con el antiguo kernel, y se espera que el usuario reinicie el sistema cuando sea conveniente, en cuyo caso el nuevo kernel se iniciará por defecto, manteniendo el anterior disponible en caso de problemas. Normalmente, un núcleo completo, incluidos todos los controladores cargables, se actualizarán juntos, por lo que no se cargará un nuevo controlador a menos que se reinicie el sistema. Hay algunos esquemas que permitirán que los componentes del núcleo, como los controladores, se actualicen sin cambiar el núcleo del núcleo y sin reiniciar.

En RedHat Enterprise 6 y 7, el sistema actualizará automáticamente las versiones menores, por ejemplo, de 6.4 a 6.5. En versiones anteriores, la versión secundaria estaba bloqueada y las actualizaciones del programa se limitarían a la misma versión secundaria, aunque el usuario podía optar por realizar una actualización de la versión secundaria sin volver a instalarla. El sistema no se actualizará a una nueva versión principal, por ejemplo, de 6 a 7. Eso creo que requiere una reinstalación, aunque los datos del usuario se pueden preservar con bastante facilidad si están en una partición separada.

Según tengo entendido, la decisión sobre qué actualizaciones de software incluir en el repositorio de distribución la toma el equipo de administración de distribución. La filosofía detrás de RedHat Enterprise es mantener un sistema estable pero seguro: no se incluirán las principales revisiones de software que afecten la funcionalidad o la configuración, pero sí las actualizaciones de seguridad y las correcciones de errores. Los ingenieros de software monitorean las listas de correo de la industria en busca de erratas y alertas de seguridad para cada pieza de software incluida en la distribución, y deciden cómo manejarlos. En muchos casos, los parches de seguridad de los puertos de respaldo de RedHat desde las versiones más nuevas del código fuente a las actualizaciones en el repositorio de RHEL. Otras distribuciones y otros sistemas operativos tienen filosofías diferentes: Fedora y Ubuntu regular, por ejemplo, generalmente mantendrán todo el software en la última versión estable, pero la versión principal completa puede quedar sin mantenimiento en 13 meses. Ver, por ejemplo, Red Hat Enterprise Linux Life Cycle, Fedora Release Life Cycle