Linux
Linux + 如何清理 /boot 並只保留目前核心版本文件
在**/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 工具:
yum install yum-utils
- 包清理,其中 count 是您要保留的核心數:
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 應該只引用已安裝的核心。