POWER9 powerpc64le架构下Ubuntu 20.04 LTS升级至22.04 LTS因依赖冲突失败求助
嗨,我看了你在POWER9 powerpc64le机器上升级Ubuntu时碰到的依赖问题,这确实是跨版本升级时挺容易踩的小坑,先把你的情况理清楚:
你是在原本安装了Ubuntu 20.04 LTS的POWER9 powerpc64le架构机器上,尝试升级到22.04 LTS时,卡在了language-pack-en和language-pack-en-base的依赖冲突上,具体错误提示如下:
The following information may help to resolve the situation:
The following packages have unmet dependencies:
language-pack-en-base : Depends: language-pack-en
(>= 1:20.04+20220818) but 1:20.04+20220211 is to be installed
Conflicts: language-pack-en
(< 1:20.04+20220818) but 1:20.04+20220211 is to be installed
E: Broken packages
你已经试过执行sudo apt upgrade -f language-pack-en-base,但还是弹出了上面的错误。而你走到这一步的操作流程是:
- 先运行
sudo do-release-upgrade -c,系统提示有新的22.04.3 LTS版本可用,让你运行do-release-upgrade进行升级 - 执行
sudo do-release-upgrade后就触发了这个依赖冲突问题
我之前碰到过类似的语言包依赖问题,你可以试试这几个解决步骤:
先手动安装符合版本要求的language-pack-en包
错误提示里明确要求language-pack-en的版本要≥1:20.04+20220818,你可以直接指定这个版本安装,执行:sudo apt install language-pack-en=1:20.04+20220818只要你的系统源里能找到这个版本,就能先把版本不匹配的问题解决。
修复系统所有破损依赖
装完指定版本的语言包后,再用系统自带的依赖修复命令扫一遍,确保没有其他残留的依赖问题:sudo apt --fix-broken install这个命令会自动处理系统里的破损依赖,要么补装缺失的包,要么调整现有包的版本。
重新执行升级流程
等依赖都修复好后,先把当前20.04的所有更新都装完:sudo apt update && sudo apt upgrade -y确认更新完成后,再重新运行升级命令:
sudo do-release-upgrade
如果上面的步骤还是没搞定,可以试试先彻底移除冲突的语言包,再重新安装:
sudo apt remove --purge language-pack-en language-pack-en-base sudo apt autoremove --purge sudo apt update sudo apt install language-pack-en language-pack-en-base
等语言包重新装完后,再继续执行升级操作应该就没问题了。
备注:内容来源于stack exchange,提问作者Steven Munroe

