Linux + 如何清理 /boot 并仅保留当前内核版本文件

Linux + 如何清理 /boot 并仅保留当前内核版本文件

在下面/启动我们有以下文件(red-hat Linux 版本 6.6)

 cd /boot
 # ls -ltr

  drwx------ 2 root root    12288 Oct 15  2015 lost+found
 -rwxr-xr-x 1 root root  4152624 Oct 15  2015 vmlinuz-2.6.32-504.30.3.el6.x86_64
 -rw------- 1 root root  6084011 Oct 15  2015 initrd-2.6.32- 504.30.3.el6.x86_64kdump.img
  drwxr-xr-x 3 root root     1024 Oct 15  2015 efi
 -rw-r--r-- 1 root root   106371 Oct 15  2015 config-2.6.32-504.30.3.el6.x86_64
 -rw-r--r-- 1 root root  2546171 Oct 15  2015 System.map-2.6.32-504.30.3.el6.x86_64
 -rw-r--r-- 1 root root   200246 Oct 15  2015 symvers-2.6.32-504.30.3.el6.x86_64.gz
 -rw------- 1 root root 19360700 Oct 15  2015 initramfs-2.6.32-504.30.3.el6.x86_64.img
 -rwxr-xr-x 1 root root  4222736 Nov 23  2015 vmlinuz-2.6.32-573.12.1.el6.x86_64
 -rw-r--r-- 1 root root   107139 Nov 23  2015 config-2.6.32-573.12.1.el6.x86_64
 -rw-r--r-- 1 root root  2585672 Nov 23  2015 System.map-2.6.32-573.12.1.el6.x86_64
 -rw-r--r-- 1 root root   206008 Nov 23  2015 symvers-2.6.32-573.12.1.el6.x86_64.gz
 -rw------- 1 root root 24340354 Jul 16 03:20 initramfs-2.6.32-573.12.1.el6.x86_64.img
  drwxr-xr-x 2 root root     1024 Jul 16 03:20 grub

因为/启动尺寸非常小,(90M 大小

我们要删除以前的内核/启动包括全部与该内核相关的其他文件

当前运行的内核版本

 # uname -r
 2.6.32-573.12.1.el6.x86_64

所以现在我想捕获所有与当前的内核,并且可以从中删除/启动

egrep -v 将完成这项工作

  # ls -ltr | egrep -v "2.6.32-573.12.1|lost\+found|grub|efi"

  -rwxr-xr-x 1 root root  4152624 Oct 15  2015 vmlinuz-2.6.32-504.30.3.el6.x86_64
  -rw------- 1 root root  6084011 Oct 15  2015 initrd-2.6.32-504.30.3.el6.x86_64kdump.img
  -rw-r--r-- 1 root root   106371 Oct 15  2015 config-2.6.32-504.30.3.el6.x86_64
  -rw-r--r-- 1 root root  2546171 Oct 15  2015 System.map-2.6.32-504.30.3.el6.x86_64
  -rw-r--r-- 1 root root   200246 Oct 15  2015 symvers-2.6.32-504.30.3.el6.x86_64.gz
  -rw------- 1 root root 19360700 Oct 15  2015 initramfs-2.6.32-504.30.3.el6.x86_64.img

  # rpm -qa | grep "2.6.32-504.30.3"
  kernel-2.6.32-504.30.3.el6.x86_64

所以我的计划是执行以下操作

  1. 删除之前的内核

    rpm –e  kernel-2.6.32-504.30.3.el6.x86_64
    
  2. 从中删除以下文件/启动

    rm config-2.6.32-504.30.3.el6.x86_64 
    rm System.map-2.6.32-504.30.3.el6.x86_64
    rm symvers-2.6.32-504.30.3.el6.x86_64.gz
    rm initramfs-2.6.32-504.30.3.el6.x86_64.img
    

我的问题:

我的计划是有风险 ?或者我可以当然我的手术是否安全?

答案1

前面的答案应该有效,但我想提一下“Yum-utils”可以使这更简单

  1. 使用以下命令检查已安装的内核:rpm -q kernel
  2. 安装 yum 实用程序:yum install yum-utils
  3. 包清理其中 count 是您想要保留的内核数量:package-cleanup --oldkernels --count=2

答案2

我认为你的计划过于复杂了。

无论如何,您在步骤 2 中建议删除的文件很可能都属于相关内核包。在我的测试 RHEL 6 机器上:

$ rpm -qf /boot/initramfs-2.6.32-573.18.1.el6.x86_64.img kernel-2.6.32-573.18.1.el6.x86_64

ETC。

因此,步骤 1 应该删除所有内容。至于要删除的内容,rpm -qa kernel\*将列出所有已安装的内核包。只需 grep 找出不匹配的内容uname -r即可。请注意这可能会如何影响您的 GRUB 配置,但如果您留在 RHEL 框架内,则 GRUB 应该仅引用已安装的内核。

相关内容