如何删除 CentOS 6 上的旧内核(以释放引导分区)?

She*_*hef 12 partition centos kernel boot centos6

如何确定要删除哪些内核以释放/boot分区上的一些空间。

这是一个场景(一些背景信息)。

1. Parititon 信息(如果有帮助)

# df -h
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sda1        99M   81M   14M  86% /boot
...
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

所以...

  1. 从上面的列表中删除哪些内核版本?
  2. 如何?
  3. 关于决定(为什么?)的简短解释会有所帮助。

Jas*_*Zhu 14

取自以下网站

## Install yum utils ##
yum install yum-utils

## Package-cleanup set count as how many old kernels you want left ##
package-cleanup --oldkernels --count=2
Run Code Online (Sandbox Code Playgroud)

这将删除所有旧内核并仅保留 centos 6.4 上的两个最新内核,这可能是您想要的,因为最近的内核包含错误修复,如果新内核无法启动,您始终可以故障转移到旧内核。上面的命令意味着您不必说 rpm -e xyz 其中 xyz 是您的特定内核,因为它会自动保留最新的内核。

你运行的命令

rpm -qa | grep kernel
Run Code Online (Sandbox Code Playgroud)

实际上并没有告诉您哪些内核正在使用引导分区上的空间。dracut-kernel 实际上并未在您的系统上安装内核。您可以查询 rpm 以确认这一点。

[root@localhost]: rpm -ql dracut-kernel
/usr/share/doc/dracut-kernel-004
/usr/share/doc/dracut-kernel-004/README.kernel
Run Code Online (Sandbox Code Playgroud)