Podría estar encontrando síntomas extraños como resultado de la competencia de núcleos en CentOS 7. Entonces, ¿cómo elimino los núcleos antiguos de forma segura? ¿Y cómo sé qué kernel es el más nuevo?
A continuación se muestra la salida del terminal que obtengo en este momento cuando investigo esto en el servidor en cuestión. Tenga en cuenta que probé la limpieza del paquete pero deja los mismos 2 núcleos:
Las instrucciones en este tutorial dicen que la salida de los siguientes dos comandos debe coincidir, pero puede ver que no coinciden, incluso después de un reinicio:
[root@localhost ~]# rpm -qa kernel |sort -V |tail -n 1
kernel-3.10.0-229.el7.x86_64
[root@localhost ~]# uname -r
3.10.0-229.14.1.el7.x86_64
Los comandos restantes confirman que hay dos núcleos e ilustran los intentos de eliminar el anterior.
[root@localhost ~]# cd /usr/src/kernels
[root@localhost kernels]# ls -al
total 16
drwxr-xr-x. 4 root root 4096 Oct 2 12:55 .
drwxr-xr-x. 4 root root 4096 Oct 2 13:15 ..
drwxr-xr-x. 22 root root 4096 Oct 2 12:55 3.10.0-229.14.1.el7.x86_64
drwxr-xr-x. 22 root root 4096 Oct 2 12:35 3.10.0-229.el7.x86_64
[root@localhost kernels]# rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
[root@localhost kernels]# package-cleanup --oldkernels=1
Loaded plugins: fastestmirror
Usage:
package-cleanup: helps find problems in the rpmdb of system and correct them
usage: package-cleanup --problems or --leaves or --orphans or --oldkernels
Command line error: --oldkernels option does not take a value
[root@localhost kernels]# package-cleanup --oldkernels
Loaded plugins: fastestmirror
No old kernels to remove
[root@localhost kernels]# rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
[root@localhost kernels]#
También abrí /etc/yum.conf
y configuré installonly_limit=1
, pero esto resultó en un error de un yum update
comando posterior que decía que 1 está fuera del rango de valores aceptables para installonly_limit
.
Supongo que 3.10.0-229.14.1.el7.x86_64
es el más nuevo, pero ¿cómo puedo saber esto? Además, las opciones de arranque parecen ofrecer múltiples núcleos para elegir. Y las oportunidades de confusión empeoran cuando el sistema se inicia automáticamente desde el primer núcleo de la lista de opciones.
¿Alguien puede explicar cómo funciona esto y, en particular, cómo eliminar de forma segura los núcleos antiguos para que la versión del núcleo pueda eliminarse como una posible causa de síntomas extraños? Quiero asegurarme de que el kernel más reciente sea el único que pueda ejecutarse, sin importar cómo se reinicie el sistema.
fuente
installonly_limit=1
. Recibo síntomas divertidos que podrían ser el resultado de dos versiones de kernel, por lo que me gustaría tener solo una versión, si es posible, o al menos tener una explicación definitiva de por qué no es posible tener menos de 2 versiones, si está en De hecho, no es posible.Respuestas:
package-cleanup --oldkernels --count=1
Eliminar todos los núcleos excepto el último.fuente
package-cleanup --oldkernels --count=2
package-cleanup --oldkernels --count=1
. Después de reiniciar, todavía obtengo dos núcleos:CentOS Linux (4.4.6-1.el7.elrepo.x86_64) 7 (Core)
yCentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
, ¿sabes cómo mantener uno?yum install yum-utils
El comando
package-cleanup
eliminar kernel anterior. Úselo--count=1
para mantener solo lo último. El programa nunca eliminará el núcleo utilizado actualmente ("No eliminar el núcleo 3.10.0-327.el7 porque es el núcleo en ejecución"), por lo que puede terminar con dos núcleos en / boot ... hasta que reinicie y vuelva a iniciar -ejecuta el comando.Entonces el comando es
El documento de la página de manual tiene tres opciones:
fuente
Usar en
yum upgrade
lugar deyum update
Entonces solo mantendrá tres núcleos. Si usa,
update
entonces llenará su/boot
fuente
de acuerdo a esto :
ejecutar
rpm -q kernel
para mostrar el kernel instaladoluego corre
yum remove kernel <shown kernel from output above>
para eliminar el núcleoreinicia tu computadora
editar: esto realmente funciona para el problema de @ Ron, pero asegúrese de que elrepo kernel se esté ejecutando correctamente
fuente
uname -r
luego elimine el kernel no utilizado pero se muestra desde ese comando,