linux-kernel – ¿Cómo se actualiza el kernel de Linux?

Pregunta:

¿Cómo se actualiza el kernel mientras se ejecuta sin romper nada en el proceso?

Respuesta:

Cuando actualiza el kernel, en realidad actualiza el paquete del kernel. En la mayoría de las distribuciones de Linux, lo que esto realmente hace es registrar el paquete en su administrador de paquetes, agregar los nuevos módulos en /lib/modules , agregar initramfs y el kernel en /boot , y tal vez actualizar las entradas del gestor de arranque y alguna otra actividad miscelánea. Por lo general, no reemplaza el kernel cargado en la memoria.

En el arranque, el propio kernel se carga en la memoria. Es decir, incluso si el archivo desde el que se cargó (por ejemplo, /boot/vmlinuz ) desaparece, no es necesario después de la carga inicial del kernel.

Incluso si se necesitaba para algo (por ejemplo, la información de depuración) y ha sido reemplazado, ya cualquier persona con un identificador de archivo abierto a que todavía será capaz de utilizar el archivo, ya que los datos de respaldo no se eliminarán hasta que el i-nodo en cuestión tiene un recuento de referencias de 0 (el kernel en sí no necesita tal referencia, ya que ya está cargado en la memoria, a diferencia de los procesos en ejecución desde los ejecutables del espacio de usuario). Esos bloques normalmente se pueden liberar completamente del disco a menos que esté ejecutando algún programa de espacio de usuario en ese archivo. El kernel de Linux no pagina su propia memoria, e incluso se descomprime sobre la marcha al inicio. No existe una forma /proc/.../exe o /proc/.../fd de acceder al / boot / vmlinuz arrancado; es posible que el kernel ni siquiera monte el dispositivo desde el que se arrancó en una situación de arranque de red o USB.

Entonces, generalmente, el kernel no se actualiza solo. Por lo general, eso se hace en el momento del reinicio o kexec . El tipo de cosas que usted describe existe para los casos de uso limitado como kpatch , kgraft y ksplice , pero generalmente éstos sólo se puede utilizar para los parches pequeños y específicos, no nuevas versiones del núcleo aguas arriba.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım