升级至Ubuntu 23.10后卸载内核包时遭遇dpkg错误,请求解决方法
升级至Ubuntu 23.10后卸载内核包时遭遇dpkg错误,请求解决方法
我明白你现在碰到的糟心事了——卸载旧内核linux-image-6.2.0-35-generic时,因为GRUB更新脚本出错导致dpkg卡住,完全没法完成卸载。别慌,咱们一步步来搞定这个问题:
第一步:修复GRUB核心依赖与脚本
错误提示里的version_find_latest: not found说明GRUB的核心脚本函数缺失,大概率是grub-common包损坏导致的。咱们先重新安装这个包:
sudo apt-get install --reinstall grub-common
安装完成后,重新生成GRUB配置文件,这会自动修复可能损坏的脚本文件:
sudo update-grub
第二步:临时跳过出错的卸载脚本(如果第一步无效)
要是上面的操作没解决问题,咱们可以先临时禁用那个触发错误的post-removal脚本,先把内核包卸掉:
- 重命名脚本,让dpkg跳过它:
sudo mv /etc/kernel/postrm.d/zz-update-grub /etc/kernel/postrm.d/zz-update-grub.bak
- 再次尝试卸载目标内核包:
sudo apt-get remove --purge linux-image-6.2.0-35-generic
- 卸载成功后,记得把脚本恢复,并重新更新GRUB:
sudo mv /etc/kernel/postrm.d/zz-update-grub.bak /etc/kernel/postrm.d/zz-update-grub sudo update-grub
第三步:清理dpkg的错误状态
如果之前dpkg提示too many errors, stopping,可以先清理dpkg的卡住状态,让它恢复正常运行:
sudo dpkg --configure -a
做完这些步骤后,应该就能顺利卸载掉那个有问题的内核包了。如果还是遇到异常,可以检查grub2-common、grub-pc这类GRUB相关包的状态,必要时也用--reinstall参数重新安装它们。
备注:内容来源于stack exchange,提问作者Ganesh
相关产品推荐
相关产品推荐

