麒麟V10升级SP2提示“空间不足”主因是/boot分区被旧内核塞满或/var/tmp残留yum事务,需先用df -h /boot确认占用率≥95%,再通过dnf autoremove --setopt=installonly_limit=2 kernel安全清理旧内核(保留最新两个),并执行yum clean all及rm -rf /var/tmp/yum. /var/tmp/dnf.清除缓存与临时文件,最后验证/boot和/var剩余空间均>300MB。

麒麟V10升级SP2时提示“空间不足”,不是磁盘总容量不够,而是/boot分区或/var临时目录被旧内核、残留缓存或未清理的yum事务塞满,导致升级包无法解压安装。
检查/boot分区真实占用情况
执行df -h /boot,若显示使用率≥95%,基本可锁定问题。注意:不要只看df -h总览,/boot是独立挂载点,常被忽略。
进入/boot目录后运行ls -lt vmlinuz-* initramfs-*.img,查看内核文件数量。SP2升级要求至少保留2个可用内核槽位,而默认安装会累积5~8个旧内核——这是最常见原因。
用rpm -q kernel | wc -l确认已安装内核版本数,【超过4个就必须清理】,否则yum update在解包阶段就会因/boot无空间而中断并报错。
安全清理旧内核(保留最新两个)
方法一:使用dnf自动清理(推荐)
先启用dnf插件:sudo dnf install dnf-plugins-core;再执行sudo dnf autoremove --setopt=installonly_limit=2 kernel。该命令会自动识别并卸载除最新两个外的所有kernel及相关initramfs、system-map文件。
方法二:手动删除(仅当dnf不可用时)
先用uname -r确认当前运行内核版本;再执行rpm -q kernel | grep -v $(uname -r) | sort -V | head -n -2 | xargs sudo rpm -e。这行命令按版本号排序后剔除最新两个,批量卸载其余内核包。
【严禁直接rm -rf /boot下的文件】,必须通过rpm卸载,否则会导致grub菜单残留无效条目甚至系统无法启动。
清空yum缓存与临时文件
第一步:执行sudo yum clean all,清除/var/cache/yum下所有元数据和软件包缓存。
第二步:检查/var/tmp是否异常膨胀,运行du -sh /var/tmp/* 2>/dev/null | sort -hr | head -5,重点排查yum.savehold.*或dnf.*开头的临时目录——这些是升级中断后遗留的未完成事务快照,单个可达1.2GB。
第三步:确认无活跃yum进程后,执行sudo rm -rf /var/tmp/yum.* /var/tmp/dnf.*。若提示“device or resource busy”,说明有后台服务正在调用yum,需先用ps aux | grep -E 'yum|dnf'杀掉对应进程。
验证升级空间是否释放到位
① 运行df -h /boot /var,确保两个路径剩余空间均>300MB;
② 执行sudo yum update --assumeno | head -20,观察是否跳过“Insufficient space”报错,且能正常列出待升级包;
③ 若仍卡在preparing阶段,检查/var/lib/rpm数据库是否损坏:sudo rpm --rebuilddb,完成后重试yum update。

















