在/ 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安装了哪些rpm -q kernel yum install yum-utils package-cleanup --oldkernels --count=2 我认为你的计划太复杂了。
您build议在步骤2中删除的文件可能全部由相关的内核程序包拥有。 在我testing的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\*会列出所有安装的内核软件包。 简单地grep什么不匹配uname -r 。 注意这可能会影响你的GRUBconfiguration,但是如果你留在RHEL框架内,那么GRUB应该只引用已安装的内核。