我正在尝试yum update
在 RHEL 6 上执行此操作,但收到此错误消息
Transaction Check Error:
installing package kernel-2.6.32-279.9.1.el6.x86_64 needs 10MB on the /boot filesystem
installing package grub-1:0.97-77.el6.x86_64 needs 10MB on the /boot filesystem
Error Summary
-------------
Disk Requirements:
At least 10MB more space needed on the /boot filesystem.
我的 /boot 有以下内容
# ls -lah /boot
total 74M
dr-xr-xr-x. 5 root root 2.0K Jun 10 08:05 .
drwxr-xr-x. 23 root root 4.0K Aug 27 03:08 ..
-rw-r--r-- 1 root root 99K Apr 26 12:53 config-2.6.32-220.17.1.el6.x86_64
-rw-r--r-- 1 root root 99K Feb 10 2012 config-2.6.32-220.7.1.el6.x86_64
-rw-r--r--. 1 root root 99K Nov 9 2011 config-2.6.32-220.el6.x86_64
drwxr-xr-x. 3 root root 1.0K Mar 29 2012 efi
drwxr-xr-x. 2 root root 1.0K Jun 10 07:53 grub
-rw-r--r-- 1 root root 15M Jun 10 07:53 initramfs-2.6.32-220.17.1.el6.x86_64.img
-rw-r--r-- 1 root root 15M Mar 29 2012 initramfs-2.6.32-220.7.1.el6.x86_64.img
-rw-r--r--. 1 root root 15M Mar 29 2012 initramfs-2.6.32-220.el6.x86_64.img
-rw------- 1 root root 3.4M Jun 10 08:06 initrd-2.6.32-220.17.1.el6.x86_64kdump.img
-rw------- 1 root root 3.5M Jun 10 07:53 initrd-2.6.32-220.7.1.el6.x86_64kdump.img
-rw------- 1 root root 3.4M Mar 29 2012 initrd-2.6.32-220.el6.x86_64kdump.img
drwx------. 2 root root 12K Mar 29 2012 lost+found
-rw-r--r-- 1 root root 168K Apr 26 12:55 symvers-2.6.32-220.17.1.el6.x86_64.gz
-rw-r--r-- 1 root root 168K Feb 10 2012 symvers-2.6.32-220.7.1.el6.x86_64.gz
-rw-r--r--. 1 root root 168K Nov 9 2011 symvers-2.6.32-220.el6.x86_64.gz
-rw-r--r-- 1 root root 2.3M Apr 26 12:53 System.map-2.6.32-220.17.1.el6.x86_64
-rw-r--r-- 1 root root 2.3M Feb 10 2012 System.map-2.6.32-220.7.1.el6.x86_64
-rw-r--r--. 1 root root 2.3M Nov 9 2011 System.map-2.6.32-220.el6.x86_64
-rwxr-xr-x 1 root root 3.8M Apr 26 12:53 vmlinuz-2.6.32-220.17.1.el6.x86_64
-rw-r--r-- 1 root root 171 Apr 26 12:53 .vmlinuz-2.6.32-220.17.1.el6.x86_64.hmac
-rwxr-xr-x 1 root root 3.8M Feb 10 2012 vmlinuz-2.6.32-220.7.1.el6.x86_64
-rw-r--r-- 1 root root 170 Feb 10 2012 .vmlinuz-2.6.32-220.7.1.el6.x86_64.hmac
-rwxr-xr-x. 1 root root 3.8M Nov 9 2011 vmlinuz-2.6.32-220.el6.x86_64
-rw-r--r--. 1 root root 166 Nov 9 2011 .vmlinuz-2.6.32-220.el6.x86_64.hmac
这是启动时的磁盘使用情况
# du -h
13K ./lost+found
282K ./grub
247K ./efi/EFI/redhat
249K ./efi/EFI
251K ./efi
75M .
问题是,当我从 ISP 那里获得此服务器时,我使用了他们的 RHEL 6 默认映像,该映像仅为 /boot 分配了 100MB,显然这不够。我该如何解决这个问题,删除上述任何文件是否安全?其中一些文件似乎在磁盘上不止一次?有没有办法在不重新映像机器的情况下扩展 /boot?
答案1
以下命令将删除全部内核版本,除了对于您当前正在运行的那个:
sudo yum remove `rpm -q kernel | grep -v 'uname -r'`
并且为了今后7.4. 配置 Yum 和 Yum 存储库:
installonly_limit=值
…其中,value 是一个整数,表示 installonlypkgs 指令中列出的任何单个软件包可以同时安装的最大版本数。installonlypkgs 指令的默认值包括几个不同的内核软件包,因此请注意,更改 installonly_limit 的值也会影响任何单个内核软件包的最大安装版本数。/etc/yum.conf 中列出的默认值为 installonly_limit=3,不建议降低此值,尤其是低于 2。
答案2
根据 MadHatter 的建议这里。我将把我的答案发布在这里作为这里答案的附录,以便它可以与这里建议的答案一起使用。
摘自以下内容网站
## Install yum utils ##
yum install yum-utils
## Package-cleanup set count as how many old kernels you want left ##
package-cleanup --oldkernels --count=2
这将删除所有较旧的内核,并仅保留 centos 6.4 上的两个最新内核,这可能是您想要的,因为最近的内核包含错误修复,并且如果新内核无法启动,您可以随时故障转移到较旧的内核。上述命令意味着您不必去说 rpm -e xyz,其中 xyz 是您的特定内核,因为它会自动保留最新的内核。
请注意,上述命令仅清理现有包,因此如果您不想再次开始积累内核包,则需要编辑 yum.conf。
答案3
正如 alexus 所说,删除至少一个旧内核。
然后:
编辑/etc/yum.conf
并指定要保留的内核版本数限制。默认设置为 5,但您的系统似乎只能处理两个:
installonly_limit=2
最后,向 VPS 提供商投诉这个奇怪的模板。/boot
在 CentOS 6 安装中默认为 500MB。