在/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
因为/boot的大小非常小,(90M 大小)
我们要从/boot中删除以前的内核,包括与此内核相关的所有其他文件
当前运行的内核版本
# uname -r
2.6.32-573.12.1.el6.x86_64
所以现在我想捕获所有与当前内核无关的文件,并且可以从/boot中删除
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
所以我的计划是执行以下操作
删除 previos 内核
rpm –e kernel-2.6.32-504.30.3.el6.x86_64
从/boot中删除以下文件
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
我的问题:
我的计划有风险吗?,或者我可以确定我的程序是安全的?
以前的答案应该可以,但我想我会提到'Yum-utils'可以让这更简单
rpm -q kernel
yum install yum-utils
package-cleanup --oldkernels --count=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
等等
所以第 1 步应该删除所有内容。至于删除什么,
rpm -qa kernel\*
会列出所有安装的内核包。简单地找出不匹配的内容uname -r
。注意这可能会如何影响您的 GRUB 配置,但如果您留在 RHEL 框架中,那么 GRUB 应该只引用已安装的内核。