从Ubuntu 22.04通过Distribution Upgrade升级到24.04时卡在“Cleaning Up”阶段的“Searching for obsolete software”步骤的求助
从Ubuntu 22.04通过Distribution Upgrade升级到24.04时卡在“Cleaning Up”阶段的“Searching for obsolete software”步骤的求助
嘿,这种卡在清理环节的情况我之前碰到过,别慌,咱们一步步来排查解决:
先确认是不是真的卡死:有时候系统在处理大量过时软件包时会很慢,看起来像卡住了。你可以新开一个终端(按Ctrl+Alt+T),运行
ps aux | grep apt,看看apt、dpkg这类相关进程是不是还在持续占用CPU和内存。如果进程还在活动,建议再等30-60分钟,说不定只是在处理大文件;要是进程已经僵死(比如状态显示Z或者长时间没变化),再进行手动干预。安全终止僵死进程:确定卡死之后,先把相关的升级进程停掉。运行
sudo killall apt apt-get dpkg,如果这个命令没效果,就用ps aux | grep apt找到对应的进程ID(PID),然后执行sudo kill -9 <PID>强制终止。修复损坏的包管理状态:升级中断很容易导致dpkg和apt的状态混乱,先修复这个:
- 运行
sudo dpkg --configure -a,让dpkg完成所有未配置的包; - 接着清理缓存、移除冗余包并修复依赖:
sudo apt clean && sudo apt autoremove --purge && sudo apt -f install
- 运行
手动处理过时软件:既然自动搜索卡住了,咱们手动来找出并清理过时包:
- 先列出所有过时包:
sudo apt list --obsolete; - 然后逐个卸载(注意别碰系统核心包,比如linux内核相关的,不确定的话可以先查包的用途):
sudo apt purge <包名>,如果有批量的,也可以用通配符,比如sudo apt purge old-package-*。
- 先列出所有过时包:
重启升级进程:完成上面的步骤后,运行
sudo do-release-upgrade,看看能不能顺利走完剩下的流程。如果还是卡在同一个地方,建议查看升级日志/var/log/dist-upgrade/main.log,搜索“obsolete”关键词,找到具体导致卡住的那个包,先手动处理掉它再重新升级。
备注:内容来源于stack exchange,提问作者Toscho
相关产品推荐
相关产品推荐

