我可能会由于CentOS 7中竞争性内核而遇到奇怪的症状。那么,如何安全删除旧内核?我怎么知道最新的内核呢?
下面是我在有关服务器上研究此内容时获得的终端输出。请注意,我尝试了package-cleanup,但它保留了相同的2个内核:
本教程中的说明说以下两个命令的输出应该匹配,但是即使重新启动后,您也可以看到它们不匹配:
[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
其余命令确认有两个内核,并说明了删除旧内核的尝试。
[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]#
我也打开/etc/yum.conf
并设置了installonly_limit=1
,但这导致后续yum update
命令出错,称1超出了可接受的值范围installonly_limit
。
我认为 3.10.0-229.14.1.el7.x86_64
是最新的,但是我怎么知道呢?另外,引导选项似乎提供了多个内核供您选择。当系统从选项列表中的第一个内核自动引导时,混乱的机会变得更糟。
有人可以解释一下它是如何工作的,尤其是如何安全删除旧内核,以便可以消除内核版本,以免引起奇怪症状吗? 我想确保无论系统如何重启,最新的内核都是唯一可以运行的内核。
installonly_limit=1
。我收到的有趣的症状可能是两个内核版本导致的,因此,如果可能的话,我只希望有一个版本,或者至少要对为什么不能少于两个版本有明确的解释,如果事实上这是不可能的。