如何确定要删除哪些内核以释放/boot
分区上的一些空间。
这是一个场景(一些背景信息)。
1. 分区信息(如果有帮助)
# df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sda1 99M 81M 14M 86% /boot
...
2. 当前内核版本
# uname -a
Linux serv.example.com 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
3. 安装所有内核版本
# rpm -qa | grep kernel
abrt-addon-kerneloops-2.0.8-21.el6.centos.x86_64
kernel-firmware-2.6.32-431.1.2.0.1.el6.noarch
libreport-plugin-kerneloops-2.0.9-19.el6.centos.x86_64
kernel-headers-2.6.32-431.1.2.0.1.el6.x86_64
kernel-2.6.32-358.11.1.el6.x86_64
kernel-2.6.32-358.el6.x86_64
kernel-2.6.32-358.23.2.el6.x86_64
dracut-kernel-004-336.el6_5.2.noarch
所以...
- 哪些内核版本应该从上面的列表中删除?
- 如何?
- 对该决定的简要解释(为什么?)会有所帮助。
答案1
摘自以下内容网站
## Install yum utils ##
yum install yum-utils
## Package-cleanup set count as how many old kernels you want left ##
package-cleanup --oldkernels --count=2
这将删除所有较旧的内核,并仅保留 centos 6.4 上的两个最新内核,这可能是您想要的,因为最近的内核包含错误修复,并且如果新内核无法启动,您可以随时故障转移到较旧的内核。上述命令意味着您不必去说 rpm -e xyz,其中 xyz 是您的特定内核,因为它会自动保留最新的内核。
您运行的命令
rpm -qa | grep kernel
实际上并没有告诉您哪些内核正在使用启动分区上的空间。dracut-kernel 实际上并没有在您的系统上安装内核。您可以查询 rpm 来确认这一点。
[root@localhost]: rpm -ql dracut-kernel
/usr/share/doc/dracut-kernel-004
/usr/share/doc/dracut-kernel-004/README.kernel
答案2
我会删除所有版本,只留下最近的两个。当然,你需要现在正在运行的版本,但我认为保留一个之前的版本以防当前版本出现稳定性问题。如果是这种情况,你就可以快速返回一些版本。
rpm -ev kernel-2.6.32-358
如果你对当前局势的稳定性有信心,并且真的想要那个空间回来,删除第二个最新的空间
rpm -ev kernel-2.6.32-358.11.1