Ubuntu 20.04无法安装Python、MySQL等软件,依赖问题求助
系统环境
$ uname -a Linux asus 5.8.0-43-generic #49~20.04.1-Ubuntu SMP Fri Feb 5 09:57:56 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal
报错信息
The following packages have unmet dependencies:
libnss3-dev : Depends: libnss3 (= 2:3.49.1-1ubuntu1.9) but 2:3.49.1-1ubuntu1.6 is to be installed
Depends: libnspr4-dev (>= 4.6.6-1) but it is not going to be installed
libsqlite3-dev : Depends: libsqlite3-0 (= 3.31.1-4ubuntu0.5) but 3.31.1-4ubuntu0.3 is to be installed
libssl-dev : Depends: libssl1.1 (= 1.1.1f-1ubuntu2.17) but 1.1.1f-1ubuntu2.16 is to be installed
zlib1g-dev : Depends: zlib1g (= 1:1.2.11.dfsg-2ubuntu1.5) but 1:1.2.11.dfsg-2ubuntu1.3 is to be installed
zoom : Depends: libgl1-mesa-glx but it is not going to be installed
Depends: libegl1-mesa but it is not going to be installed
Depends: libxcb-xtest0 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
已尝试apt --fix-broken install无效,需解决依赖冲突以安装Python 3.10.10、tkinter、mysql-client等软件。
解决步骤
1. 更新软件源并升级系统包
先同步最新包索引,升级所有可更新的包,修复版本不匹配问题:
sudo apt update sudo apt upgrade -y
若升级时提示依赖缺失,添加--fix-missing参数重试:
sudo apt upgrade -y --fix-missing
2. 手动安装指定依赖包
针对报错中的依赖项,逐一安装对应版本或缺失包:
# 安装libnspr4-dev及匹配版本的libnss3 sudo apt install libnspr4-dev libnss3=2:3.49.1-1ubuntu1.9 -y # 安装匹配版本的libsqlite3-0 sudo apt install libsqlite3-0=3.31.1-4ubuntu0.5 -y # 安装匹配版本的libssl1.1 sudo apt install libssl1.1=1.1.1f-1ubuntu2.17 -y # 安装匹配版本的zlib1g sudo apt install zlib1g=1:1.2.11.dfsg-2ubuntu1.5 -y # 安装Zoom缺失的依赖 sudo apt install libgl1-mesa-glx libegl1-mesa libxcb-xtest0 -y
3. 再次修复依赖
完成上述操作后,重新运行依赖修复命令:
sudo apt --fix-broken install -y
4. 安装目标软件
依赖问题解决后,安装所需软件:
# 通过deadsnakes源安装Python 3.10.10和tkinter sudo add-apt-repository ppa:deadsnakes/ppa -y sudo apt update sudo apt install python3.10 python3.10-tk -y # 安装mysql-client sudo apt install mysql-client -y
5. 极端情况:清理并重置包数据库
若以上步骤无效,尝试清理缓存并重新配置包数据库:
sudo apt clean sudo apt autoclean sudo dpkg --configure -a sudo apt update
内容的提问来源于stack exchange,提问作者Igor Karo

