You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04LTS升级至22.04LTS后gcc、g++、gfortran丢失且安装依赖冲突的解决求助

Ubuntu 20.04LTS升级至22.04LTS后gcc、g++、gfortran丢失且安装依赖冲突的解决求助

看起来你在跨版本升级Ubuntu后遇到了典型的依赖版本不兼容问题——系统里还留着适配20.04的gcc-11-base旧版本,而22.04需要的是对应jammy发行版的匹配版本,这直接导致了安装gcc时的依赖链断裂。我给你一套逐步解决的方案:

第一步:修复软件源配置

升级后部分软件源可能没自动从focal(20.04代号)切换到jammy(22.04代号),这会让系统优先拉取旧版本包:

  1. 打开主源列表文件编辑:
    sudo nano /etc/apt/sources.list
    
  2. 把文件里所有focal替换成jammy,同时检查/etc/apt/sources.list.d/目录下的其他源文件,重复替换操作。
  3. 保存退出后更新源缓存:
    sudo apt update
    

第二步:升级gcc-11-base到jammy版本

从你提供的policy gcc-11-base输出能看到,系统已经识别到jammy版本,但候选版本还是旧的,先处理这个核心依赖:

  1. 解除可能的包锁定状态(如果有的话):
    sudo apt-mark unhold gcc-11-base
    
  2. 强制安装jammy适配版的gcc-11-base:
    sudo apt install gcc-11-base=11.4.0-1ubuntu1~22.04
    

    提示:操作可能会提示替换部分依赖包,确认即可,这是版本对齐的必要步骤。

第三步:修复依赖并安装编译工具

解决核心依赖问题后,修复系统整体依赖链,再安装需要的工具:

  1. 自动修复损坏的依赖关系:
    sudo apt --fix-broken install
    
  2. 执行全系统升级,确保所有包都适配jammy版本:
    sudo apt full-upgrade
    
  3. 最后安装gcc、g++和gfortran:
    sudo apt install gcc g++ gfortran
    

若以上步骤仍有问题

可以尝试重新配置所有已安装包,强制系统对齐jammy版本:

sudo dpkg --configure -a
sudo apt dist-upgrade

这样应该就能解决依赖冲突,恢复编译工具的正常使用了。

备注:内容来源于stack exchange,提问作者mattiav27

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 13:14:30