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

Ubuntu 20.04升级至22.04后出现未满足依赖问题,apt-get upgrade大量包被保留

Ubuntu 20.04升级至22.04后出现未满足依赖问题,apt-get upgrade大量包被保留

我完全理解你升级到Ubuntu 22.04 LTS后遇到的困扰——运行apt-get upgrade时一大堆包被标记为“kept back”,而且之前尝试的方法没解决问题,这大概率是依赖关系不匹配导致的。咱们一步步来排查修复:

  • 首先确保软件源缓存是最新的:
    升级后系统的软件源可能还残留旧版本的信息,先执行刷新命令:

    sudo apt update
    

    这一步会让系统获取到Ubuntu 22.04(Jammy)最新的包索引,避免因源信息过时导致的依赖判断错误。

  • 尝试使用full-upgrade处理依赖:
    apt upgrade只会升级已安装包且不会移除任何包,而full-upgrade会主动处理依赖冲突,必要时会移除旧的冲突包来完成升级。执行命令:

    sudo apt full-upgrade
    

    如果你之前运行过这个命令但没解决问题,一定要留意输出里的具体错误提示(比如“Depends: XXX but YYY is installed”这类信息),这些提示是定位问题的关键。

  • 检查具体包的依赖状态:
    以你提到的base-files为例,用下面的命令查看它的版本信息和依赖情况:

    sudo apt policy base-files
    

    通过输出可以对比当前安装版本和可用版本,以及是否有依赖包版本不兼容的情况。如果发现某个依赖包版本过低或过高,针对性地调整它的版本往往能解决问题。

  • 自动修复损坏的依赖:
    如果系统存在损坏的包或未满足的依赖,执行下面的命令让apt自动修复:

    sudo apt --fix-broken install
    

    这个命令会尝试下载缺失的依赖包,或者修复已安装包的损坏状态,很多依赖问题都能通过这一步解决。

  • 检查软件源是否正确切换:
    有时候升级后软件源仍停留在Ubuntu 20.04(Focal)的配置,这会导致无法获取22.04的正确包版本。你可以检查/etc/apt/sources.list文件和/etc/apt/sources.list.d/目录下的所有文件,把里面的focal替换为jammy,然后重新执行sudo apt update和sudo apt full-upgrade。

如果以上步骤都没解决,把full-upgrade或apt policy的具体输出贴出来,我们可以更精准地定位问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 07:39:34