¿Por qué Ubuntu requiere reiniciar para completar las actualizaciones?

15

He oído que las máquinas Linux pueden funcionar durante meses sin reiniciarse. ¿Por qué entonces Ubuntu dice "Se requiere reiniciar para completar las actualizaciones ..." después de instalar las actualizaciones?

Los usuarios de Linux y UNIX se jactan de que no han reiniciado sus sistemas desde que George Bush padre fue presidente.

http://www.tested.com/news/feature/1141-how-often-do-you-really-need-to-reboot-your-pc/

Roland
fuente
3
La mayoría de las personas que dicen que están ejecutando sistemas horriblemente vulnerables, pero no están conectados a Internet o están detrás de muchos firewalls.
Zoredache

Respuestas:

12

Lo que leíste era verdad. La mayoría de los administradores alardearán sobre el tiempo de actividad de su máquina. Podrían ser días, meses o incluso años.
Sin embargo, lo que necesita saber es que esas máquinas no son sus sistemas de escritorio cotidianos. Son máquinas de servidor especializadas.

Lo primero sobre ellos, rara vez ejecutan X11. La mayoría de los sistemas de servidor generalmente siempre estarán solo en los terminales. Por lo tanto, una actualización en XServer no importa.
En segundo lugar, como señaló Karthik, una actualización de X Server solo requiere que reinicie X, no toda la máquina. Entonces su tiempo de actividad aún permanece.

Otro punto muy importante es que los sistemas de servidor no se actualizan a la última versión del kernel a medida que sale. En Ubuntu, probablemente esté utilizando la versión 3.2 en este momento. En mi Arch System estoy usando la versión 3.6, pero muchos de estos sistemas que cuentan con largos tiempos de funcionamiento, todavía están probablemente en algún lugar de la línea 2.xx, aunque completamente seguros con parches retroportados.

Todas las actualizaciones en dichos sistemas se realizan solo en el lugar. Las actualizaciones se prueban primero en una máquina de prueba, y después de una prueba exhaustiva para asegurarse de que nada se rompa y que no se requiere un reinicio para implementarlo, los administradores las actualizan.

También podría hacer lo mismo en su sistema Ubuntu. Pero luego olvídate de las actualizaciones automáticas. Haga un poco de prueba e intente realizar sus actualizaciones en el lugar. Incluso los núcleos pueden intercambiarse en caliente. Sin embargo, se necesita mucha habilidad y experiencia para lograrlo con éxito en todo momento.

Darnir
fuente
1
No es tan dificil. Solo usa ksplice. ksplice.com/pricing
Zoredache
Lo mencioné desde el punto de realizar todo el proceso manualmente, no con ninguna herramienta de automatización.
darnir el
8

Este es el caso SOLO si el núcleo de Linux en sí mismo se actualiza. Todos los demás tipos de actualizaciones se aplican directamente. Kernel no se puede reemplazar mientras se está ejecutando y, por lo tanto, necesita reiniciarse.

Una actualización del kernel debe ocurrir raramente durante las actualizaciones regulares y comúnmente solo durante los ciclos de actualización (12.04-12.10, etc.)

Puede optar por no reiniciar, continuará usando el kernel anterior.

Editar : Kernel Hotswapping se puede hacer para evitar el reinicio en teoría, pero no parece ser remotamente trivial.

Karthik T
fuente
2
Acabo de hacer una actualización y actualizó algunos archivos xserver. Sin embargo, el sistema operativo dice que requiere un reinicio para completar las actualizaciones. Además, estoy seguro de que he leído en alguna parte que los sistemas operativos Linux pueden continuar ejecutándose sin reiniciar, incluso después de una actualización del kernel.
Roland
77
xserver TECNICAMENTE no necesita reiniciar, solo puede reiniciar xserver :). Es solo una instrucción más simple para decir reiniciar la máquina. En muchos casos, cerrar sesión también puede ser suficiente.
Karthik T
$ cat /var/run/reboot-required.pkgssalidas libssl1.0.0- ¿es libssl parte del núcleo?
Dan Dascalescu
3
@DanDascalescu No debería ser, y si me preguntas, no es obligatorio reiniciar al actualizar openssl / libssl, siempre y cuando te asegures de reiniciar todos los programas / servicios que usan openssl / libssl. Creo que los mantenedores del paquete simplemente tomaron la salida fácil y se volvieron seguros al requerir un reinicio en lugar de pasar por todos los procesos en ejecución, verificar cuáles usan libssl y luego hacer conjeturas para mapear los procesos para iniciar y / o nombres de servicio sysvinit .
blubberdiblub