Kernel de actualización de Linux centos7 (dos métodos: compilación del kernel y actualización de yum)

            Kernel de actualización de Linux centos7 (dos métodos: compilación del kernel y actualización de yum)

No hace falta decir que todo el mundo tiene muy claro el concepto del kernel de Linux. Es la diferencia de la versión del kernel que tiene la versión de distribución de Linux. Ahora el centos principal debería ser centos7. A partir de centos7.2, la versión del kernel es 3.10 , y posterior Cuanto más alta sea la versión del kernel. La versión superior del kernel corrige muchos errores de la versión inferior del kernel, por lo que el sistema necesita mejorar la versión del kernel para mejorar la seguridad, la estabilidad y agregar más funciones.

En términos generales, Linux admite la coexistencia de múltiples versiones del kernel, que no es más que qué versión del kernel se usa cuando se inicia el sistema.

Sobre el kernel:

Hay dos tipos de kernels de Linux: kernels oficiales (generalmente usados ​​por los desarrolladores de kernel) y kernels de distribución de Linux principales (comúnmente usados ​​por usuarios generales).

Acerca del número de versión del kernel de Linux:

Por ejemplo: [root @ centos7 ~] # uname -r
3.10.0-1127.19.1.el7.x86_64

El número de versión obtenido por la consulta es: 3.10.0-1127.19.1.el7.x86_64

El primer número de grupo: 3, el número de versión principal

El segundo grupo de números: 10, número de versión menor, la versión estable actual, generalmente este número es un número par para indicar estable, un número impar indica que está en la versión de desarrollo, generalmente esto no es para uso de producción.

El tercer grupo de números: 0, número de revisión

El cuarto grupo de números: 1127.19.1, que indica la versión de parche de la versión de peinado.

el7: Significa que el kernel que estoy usando es un kernel dedicado para las versiones de la serie RedHat / CentOS, centos7

x86_64: el sistema operativo es adecuado para CPU de 64 bits.

Clasificación de la versión del kernel:

Verifique el tipo de kernel en el sitio web oficial: https://www.kernel.org/

 

  • Prepatch: Prepatch o kernel "RC" es la versión principal de pre-lanzamiento del kernel, principalmente para desarrolladores de kernel y entusiastas de Linux. Debe compilarse a partir del código fuente y, por lo general, contiene nuevas funciones que deben probarse antes de que se pueda poner en una versión estable. Linus Torvalds mantiene y publica el kernel de Prepatch.
  • Mainline: Linus Torvalds mantiene el árbol Mainline. Esta versión del kernel presentará todas las funciones nuevas. El nuevo núcleo de Mainline se lanza cada 2-3 meses.
  • Estable: después de que se lanza cada núcleo principal, se considera "estable". Cualquier corrección de errores en el kernel estable se rastreará desde el árbol de la línea principal de Mainline y será utilizada por los encargados del mantenimiento del kernel estable designados. Antes de que esté disponible el próximo kernel de la línea principal, normalmente hay solo unas pocas versiones del kernel para corregir errores, a menos que esté designado como "kernel de mantenimiento a largo plazo". Las actualizaciones estables del kernel se publican bajo demanda, generalmente 2-3 veces al mes.
  • Largo plazo: por lo general, se proporcionan varias versiones del kernel de "mantenimiento a largo plazo" para corregir errores en el kernel antiguo. Estos núcleos solo corregirán errores importantes y no lanzarán versiones con frecuencia.

 

Elección de kernel: 

De acuerdo con la introducción de los tipos de kernel anterior, podemos saber que el tipo de kernel que es estable y que la mayoría de los errores se han corregido es a largo plazo, así que seleccione un tipo de kernel a largo plazo de la tabla del Capítulo 2 anterior. Se utiliza el siguiente experimento El paquete de código fuente tarball de 5.4.69. (Por cierto, la tabla anterior también dice que la próxima versión del kernel se lanzará el 2020-10-02).

El motivo de la elección es: longterm es una versión estable a largo plazo, y la mayoría de los errores se han corregido, la versión principal es lo suficientemente alta, el kernel es compatible con versiones anteriores y puede experimentar más funciones nuevas. (La primera tabla dice el nombre del editor proporcionado por la versión correspondiente, la fecha de lanzamiento y el tiempo de soporte final; después de ese tiempo, nadie lo controlará)

Actualización del kernel:

Generalmente, centos puede coexistir con múltiples núcleos, por lo que no se recomienda eliminar la versión anterior del kernel. Después de solo instalar la nueva versión del kernel, grub selecciona la nueva versión del kernel para ingresar al sistema y usarla. ( Nadie puede garantizar que el nuevo kernel sea bueno.Use, después de todo, conserve uno antiguo, es más fácil arrepentirse más tarde, ¿verdad?)

El primer método: método de instalación de actualización de yum (relativamente hablando, muy simple)

Paso 1: verifique la versión del kernel instalada

uname -rs, el resultado dado es: Linux 3.10.0-1127.19.1.el7.x86_64

Paso 2: actualice el kernel en CentOS 7

CentOS permite el uso de ELRepo, que es un repositorio de terceros que puede actualizar el kernel a la última versión.

Para habilitar el repositorio ELRepo en CentOS 7, ejecute el siguiente comando:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org#Importar la clave de origen

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm#Enable el repositorio de origen

yum --disablerepo = "*" --enablerepo = lista "elrepo-kernel" disponible # Verifique qué versiones del kernel están disponibles para la instalación

El resultado es el siguiente:

[root @ centos7 ~] # yum --disablerepo = "*" --enablerepo = "elrepo-kernel" lista disponible
Complementos cargados: rapidmirror
Velocidad de espejo de carga desde el archivo host en caché
 * elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
Paquetes disponibles
elrepo-release.noarch 7.0-5.el7.elrepo elrepo-kernel
kernel-lt.x86_64 4.4.238-1.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 4.4.238-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 4.4.238-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 4.4.238-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 4.4.238-1 .el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 4.4.238-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 4.4.238-1.el7.elrepo elrepo- núcleo
kernel-ml-devel.x86_64 5.8.13-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 5.8.13-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 5.8.13-1 .el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 5.8.13-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 5.8.13-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 5.8.13-1.el7.elrepo elrepo-kernel
perf.x86_64 5.8.13-1.el7.elrepo elrepo-kernel
python-perf.x86_64      

 

Inicie la instalación: yum --enablerepo = elrepo-kernel install kernel-ml -y # instala la versión principal, que es más radical, así que elija con cuidado. Número de versión 5.8.13

yum --enablerepo = elrepo-kernel install kernel-lt -y # Versión estable a largo plazo instalada, estable y confiable, versión 4.4.238

Dos comandos yum eligen uno para instalar. Una vez completada la instalación, reinicie la máquina y seleccione manualmente la versión recién instalada. ! !

Paso 3: establezca la versión de kernel predeterminada de GRUB

Para que el kernel recién instalado sea la opción de arranque predeterminada, debe modificar la configuración de GRUB de la siguiente manera:

Abrir, editar  /etc/default/grub y configurar  GRUB_DEFAULT=0. Esto significa que el primer kernel de la página de inicialización de GRUB será el kernel predeterminado.

GRUB_TIMEOUT = 5
GRUB_DISTRIBUTOR = "$ (sed's, release. * $ ,, g '/ etc / system-release)"
GRUB_DEFAULT = Saved # El guardado aquí se puede cambiar a 0. Después de reiniciar, el valor predeterminado es su última vez El seleccionado versión.
GRUB_DISABLE_SUBMENU = true
GRUB_TERMINAL_OUTPUT = "consola"
GRUB_CMDLINE_LINUX = "rhgb silencioso"
GRUB_DISABLE_RECOVERY = "true"

Ejecute el comando: grub2-mkconfig -o /boot/grub2/grub.cfg

El segundo método: use el paquete de código fuente del sitio web oficial para compilar e instalar (la dificultad puede llegar al nivel del infierno, pero como es un experimento, es naturalmente simple, dificultad normal)

La operación de la cuenta raíz, la compilación es un asunto tan importante, otros usuarios comunes no necesitan pensar en ello.

wget  https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.69.tar.xz    #Descargue y obtenga un paquete xz, ¡descomprímalo! !

tar -xf   linux-5.4.69.tar.xz  

Ingrese al directorio de las cosas descomprimidas: cd   linux-5.4.69

Preparación del entorno antes de la compilación: yum install gcc make ncurses-devel openssl-devel flex bison elfutils-libelf-devel -y

yum actualización -y

cp /boot/config-3.10.0-693.el7.x86_64 .config #Copie el archivo de configuración del kernel en el directorio previamente descomprimido. Este archivo es el archivo que viene con la versión. # Por ejemplo, la consulta original de mi kernel es 3.10.0-1127.19.1.el7.x86_64, esto se debe a que usé el comando yum upgrade -y para actualizar, la versión original es

# 3.10.0-693.el7.x86_64 

Bien, el entorno está listo y se inicia la instalación formal.

#make config (la interfaz de configuración más tradicional basada en texto, no recomendada) 
#make menuconfig (interfaz de configuración basada en menú de texto, recomendado para terminales de caracteres) 
#make xconfig (interfaz de configuración basada en modo de ventana gráfica, recomendado para Xwindow) 
#Make oldconfig (si solo desea modificar algunos lugares pequeños sobre la base de la configuración original del kernel, se ahorrará muchos problemas)

La siguiente instalación es para elegir usar make menuconfig (los cuatro comandos anteriores eligen usar el segundo).


make menuconfig # Este comando aparecerá como un menú simple, similar al menú de la BIOS, en el que se pueden seleccionar funciones. Hay demasiadas funciones específicas para introducirlas una por una. La forma perezosa, el valor predeterminado está bien. Seleccione guardar y seleccione aceptar.

 

make -j `nproc` && make modules_install && make install # ¡El kernel está completamente abierto, compilando tres veces consecutivas, sabiéndolo todo! !

El tiempo de compilación es relativamente largo, mi CPU de cuatro núcleos es de aproximadamente una hora. Después de compilar, haga clic en echo $? Para ver si es normal, si devuelve 0, reinicie la máquina, si hay otros números, corrija de acuerdo con el informe de error. El orden del menú de inicio se refiere a los pasos finales de procesamiento del primer método, por lo que no diré más al respecto.

Los pros y los contras de los dos métodos:

No hay duda de que el primer método es sencillo y esta es la única ventaja. La desventaja es que solo se puede elegir entre los kernels 4.4.238 y 5.8.13 (se puede seleccionar lo que esté en la fuente, no hay forma sin dioses), el segundo método, la compilación, tiene más opciones y es más flexible. Puede elegir los módulos que necesita y compilarlos, pero la dificultad es relativamente alta, necesita comprender bien el kernel.

 


 

 

 

Supongo que te gusta

Origin blog.csdn.net/alwaysbefine/article/details/108931626
Recomendado
Clasificación