The following packages have unmet dependencies

背景

执行安装软件包命令sudo apt-get install packagename时,提示:The following packages have unmet dependencies
The following packages have unmet dependencies_第1张图片
The following packages have unmet dependencies,看起来是依赖项的问题,
ubuntu - How do I resolve The following packages have unmet dependencies- Stack Overflow
中第一高赞说安装aptitude即可,它管理所有依赖。

但是安装这个依赖依然会提示缺少依赖项,安装管理依赖的软件需要先安装依赖? 你搁这儿搁这儿呢
The following packages have unmet dependencies_第2张图片

解决方案
按照ubuntu - How do I resolve The following packages have unmet dependencies - Stack Overflow第二高赞的回答

先执行

sudo apt-get update
sudo apt-get clean
sudo apt-get autoremove

如果不行再执行

sudo apt --fix-broken install    /修复系统中已安装的软件包依赖关系的错误,尝试下载并安装缺失的依赖软件包,并解决其他软件包冲突问题。
sudo apt-get update && sudo apt-get upgrade //这回更新所有软件到最新版本,建议不要使用
sudo dpkg --configure -a  //重新配置未成功安装的软件包。
sudo apt-get install -f    //修复已安装的软件包依赖关系错误。当某些软件包在安装或卸载过程中出现问题时,可能会导致软件包依赖关系错误,此时可以执行该命令以修复依赖关系错误。需要注意的是,该命令并不会安装新的软件包,它只会修复已安装的软件包依赖关系错误。如果需要安装新的软件包,应该使用 sudo apt-get install 命令。

我的步骤

sudo apt-get update

之前已经update了,就三行信息
在这里插入图片描述

这里如果报错镜像的,可以考虑更换成其他镜像

清华镜像:ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

阿里镜像 :ubuntu镜像-ubuntu下载地址-ubuntu安装教程-阿里巴巴开源镜像站 (aliyun.com)

安装的时候注意根据服务器版本选择对应镜像,比如16.04版本镜像地址后面为xenial,18.04镜像后面地址为bionic

sudo apt-get clean
sudo apt-get autoremove

可以看到autoremove还是会提示缺少依赖:
The following packages have unmet dependencies_第3张图片

接着执行

sudo apt --fix-broken install

当执行 sudo apt --fix-broken install 命令时,apt 将会扫描系统中所有已安装的软件包,并尝试修复其中存在的依赖关系错误。如果它发现某个软件包依赖的其他软件包没有安装,则会尝试下载并安装这些软件包。如果它发现系统中存在软件包冲突,则会尝试解决这些冲突。

执行了好几次,都直接Abort了

The following packages have unmet dependencies_第4张图片

我尝试了四五次,终于成功了
The following packages have unmet dependencies_第5张图片

再次执行安装脚本,成功!
The following packages have unmet dependencies_第6张图片

你可能感兴趣的:(linux,ubuntu)