21 Instalación de varias versiones del núcleo #
SUSE Linux Enterprise Server admite la instalación en paralelo de varias versiones del núcleo. Al instalar un segundo núcleo, se crean automáticamente una entrada de arranque y un initrd, por lo que no es necesaria realizar más configuración manual. Al rearrancar el equipo, el núcleo recién añadido estará disponible como parámetro de arranque adicional.
Mediante esta función, es posible probar con seguridad las actualizaciones del núcleo y volver en cualquier momento al núcleo anterior. Para ello, no utilice las herramientas de actualización (como YaST Online Update o el applet de actualización), sino que debe seguir el proceso descrito en este capítulo.
Tenga en cuenta que perderá todo el derecho de asistencia técnica para el equipo al instalar un núcleo autocompilado o de otros fabricantes. Solo se admiten los núcleos incluidos con SUSE Linux Enterprise Server y los núcleos proporcionados a través de los canales de actualización oficiales para SUSE Linux Enterprise Server.
Se recomienda comprobar la configuración del cargador de arranque después de instalar otro núcleo a fin de establecer la entrada de arranque por defecto deseada. Consulte Section 14.3, “Configuring the Boot Loader with YaST” para obtener más información.
21.1 Habilitación y configuración de la compatibilidad multiversión #
La instalación de varias versiones de un paquete de software (compatibilidad multiversión) está habilitada por defecto desde SUSE Linux Enterprise Server 12. Para verificar este valor, realice este procedimiento:
Abra
/etc/zypp/zypp.conf
con el editor que desee como usuarioroot
.Busque la cadena
multiversion
. Si la multiversión está habilitada para todos los paquetes de núcleo compatibles con esta función, se muestra la siguiente línea sin marcas de comentario:multiversion = provides:multiversion(kernel)
Para restringir la compatibilidad multiversión a versiones concretas del núcleo, añada los nombres de paquetes en forma de lista separada por comas a la opción
multiversion
de/etc/zypp/zypp.conf
; por ejemplo:multiversion = kernel-default,kernel-default-base,kernel-source
Guarde los cambios.
Asegúrese de que los módulos de núcleo necesarios proporcionados por el proveedor (los paquetes de módulo de núcleo) también están instalados para el nuevo núcleo actualizado. El proceso de actualización del núcleo no advierte sobre si faltan módulos del núcleo, ya que el núcleo anterior que permanece en el sistema sigue cumpliendo los requisitos del paquete.
21.1.1 Supresión automática de núcleos no utilizados #
Si se prueban con frecuencia nuevos núcleos con la compatibilidad multiversión habilitada, el menú de arranque no tarda en empezar a confundirse. Dado que la partición /boot
suele disponer de espacio limitado, también puede haber problemas de desbordamiento de /boot
. Aunque puede suprimir versiones no utilizadas del núcleo de forma manual con YaST o Zypper (tal como se describe más abajo), también es posible configurar libzypp
para suprimir de forma automática núcleos que ya no se usen. Por defecto, no se suprime ningún núcleo.
Abra
/etc/zypp/zypp.conf
con el editor que desee como usuarioroot
.Busque la cadena
multiversion.kernels
y active esta opción quitando la marca de comentario de la línea. Esta opción recibe una lista separada por comas de los siguientes valores:5.3.18-8
: conserva el núcleo con el número de versión especificado.latest
: conserva el núcleo con el número de versión más alto.latest-N
: conserva el núcleo con el enésimo (N) número de versión más alto.running
: conserva el núcleo en ejecución.oldest
: conserva el núcleo con el número de versión más bajo (el que se incluía de forma original con SUSE Linux Enterprise Server).oldest+N
. conserva el núcleo con el enésimo (N) número de versión más bajo.A continuación, ofreceremos algunos ejemplos
multiversion.kernels = latest,running
Conserva el núcleo más reciente y el que se está ejecutando actualmente. Es similar a no habilitar la función de multiversión, excepto en que el núcleo antiguo se elimina después del próximo rearranque y no inmediatamente después de la instalación.
multiversion.kernels = latest,latest-1,running
Conserva los dos núcleos más recientes y el que se está ejecutando actualmente.
multiversion.kernels = latest,running,5.3.18-8
Conserva el núcleo más reciente, el que se está ejecutando y la versión 5.3.18-8.
Sugerencia: conservación del núcleo en ejecuciónA no ser que utilice una configuración especial, conserve siempre el núcleo marcado como
running
(en ejecución).Si no conserva el núcleo en ejecución, se suprimirá cuando se actualice el núcleo. Eso significa que todos los módulos del núcleo en ejecución también se suprimen y no es posible volver a cargarlos.
Si decide no conservar el núcleo en ejecución, reinicie siempre inmediatamente después de una actualización del núcleo para evitar problemas con los módulos.
21.1.2 Caso de uso: supresión de un núcleo anterior solo después de rearrancar #
Quiere asegurarse de que un núcleo antiguo solo se suprimirá después de que el sistema se haya arrancado correctamente con el núcleo nuevo.
Cambie la línea siguiente en /etc/zypp/zypp.conf
:
multiversion.kernels = latest,running
Los parámetros anteriores indican al sistema que conserve el núcleo más reciente y el que se está ejecutando solo si son distintos.
21.1.3 Caso de uso: conservación de núcleos anteriores como medida de vuelta atrás #
Desea conservar uno o varios núcleos para disponer de uno o varios núcleos “de repuesto”.
Esto puede ser útil si necesita núcleos para realizar pruebas. Si algo va mal, por ejemplo, si el equipo no arranca, podrá seguir usando una o varias versiones del núcleo que se sabe que funcionan.
Cambie la línea siguiente en /etc/zypp/zypp.conf
:
multiversion.kernels = latest,latest-1,latest-2,running
Cuando se rearranque el sistema después de la instalación de un núcleo nuevo, el sistema conservará tres núcleos: el actual (configurado como latest,running
) y sus dos predecesores inmediatos (configurados como latest-1
y latest-2
).
21.1.4 Caso de uso: conservación de una versión específica del núcleo #
Realiza actualizaciones habituales del sistema e instala nuevas versiones del núcleo. Sin embargo, también compila su propia versión del núcleo y desea asegurarse de que el sistema lo conservará.
Cambie la línea siguiente en /etc/zypp/zypp.conf
:
multiversion.kernels = latest,5.3.18-8,running
Cuando se rearranca el sistema después de la instalación de un núcleo nuevo, el sistema conservará dos núcleos: el nuevo y el que se está ejecutando (configurados como latest,running
) y el núcleo que ha compilado (configurado como 5.3.18-8
).
21.2 Instalación y eliminación de varias versiones del núcleo con YaST #
Puede instalar o eliminar varios núcleos con YaST:
Inicie YaST y abra el gestor de software con la opción
› .Muestre todos los paquetes que admiten varias versiones. Para ello, seleccione
› › .Figura 21.1: gestor de software de YaST, vista multiversión #Seleccione un paquete y abra su pestaña
en el panel de abajo a la izquierda.Para instalar un paquete, haga clic en la casilla de verificación junto a él. Una marca de verificación verde indica que está seleccionado para instalarse.
Para eliminar un paquete ya instalado (marcado con una marca de verificación blanca), haga clic en su casilla de verificación hasta que aparezca una
X
roja que indica que se ha seleccionado para eliminarse.Haga clic en
para iniciar la instalación.
21.3 Instalación y eliminación de varias versiones del núcleo con Zypper #
Puede instalar y eliminar varios núcleos con zypper
:
Use el comando
zypper se -s 'kernel*'
para mostrar una lista de todos los paquetes de núcleos disponibles:S | Name | Type | Version | Arch | Repository --+----------------+------------+-----------------+--------+------------------- i+ | kernel-default | package | 5.3.18-8.2 | x86_64 | (System Packages) v | kernel-default | package | 5.3.18-10.1 | x86_64 | SLE-Module-Basesystem15-SP2-Pool | kernel-default-base | package | 5.3.18-10.1.4.8 | x86_64 | SLE-Module-Basesystem15-SP2-Pool | kernel-default-devel | package | 5.3.18-10.1 | x86_64 | SLE-Module-Basesystem15-SP2-Pool | kernel-devel | package | 5.3.18-10.1 | noarch | SLE-Module-Basesystem15-SP2-Pool i | kernel-firmware | package | 20200107-3.12.1 | noarch | SLE-Module-Basesystem15-SP2-Pool
Especifique la versión exacta durante la instalación:
tux >
sudo
zypper in kernel-default-5.3.18-8.2Para desinstalar un núcleo, use los comandos
zypper se -si 'kernel*'
para mostrar todos los núcleos instalados yzypper rm
NOMBREPAQUETE-VERSIÓN para eliminar el paquete.