ubuntu安装库依赖包错误问题

The following packages have unmet dependencies:
 libbz2-dev : Depends: libbz2-1.0 (= 1.0.8-5.1) but 1.0.8-5.1build0.1 is to be installed
              Recommends: bzip2-doc but it is not going to be installed
 liblz4-dev : Depends: liblz4-1 (= 1.9.4-1build1) but 1.9.4-1build1.1 is to be installed
 libzstd-dev : Depends: libzstd1 (= 1.5.5+dfsg2-2build1) but 1.5.5+dfsg2-2build1.1 is to be installed
 zlib1g-dev : Depends: zlib1g (= 1:1.3.dfsg-3.1ubuntu2) but 1:1.3.dfsg-3.1ubuntu2.1 is to be installed
E: Unable to correct problems, you have held broken packages.

对于这类问题,不建议使用apt install libbz2-1.0= 1.0.8-5.1这种指定版本号的方法安装依赖的库。

这种方法会替换掉原来的,如果系统软件依赖这些库,直接导致系统级别的故障,并且可能无法通过重装回原来版本来恢复。

那么,大家有什么好的方法吗 ?

1.使用aptitude帮助依赖处理 

apt-get install aptitude

aptitude packagename(需要安装的库名)

没有尝试

2.源码安装,目前想到的比较合适的方法。

3.源镜像版本不一致问题

先获取系统版本信息

$ sudo lsb_release -a

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.2 LTS
Release:	24.04
Codename:	noble

然后再获取该软件/库信息

$ sudo apt list | grep libdbus-1-dev

libdbus-1-dev/noble,now 1.14.10-4ubuntu4.1 amd64
libdbus-1-dev/noble 1.14.10-4ubuntu4.1 i386

输出信息没有“[installed]”字样,表示该软件/库尚未安装

接下来关键是更换源镜像。这里选择“Software Updater”程序,然后选择settings,在Ubuntu Software的Download from中选择HongKong节点或其他国内节点。

源镜像更新完毕后,执行安装操作即可。大功告成。收工。

$ sudo apt install libdbus-1-dev

$ sudo apt list | grep libdbus-1-dev

libdbus-1-dev/noble-updates,now 1.14.10-4ubuntu4.1 amd64 [installed]
libdbus-1-dev/noble-updates 1.14.10-4ubuntu4.1 i386

表示已经安装

posted @ 2025-04-30 17:28  hugingface  阅读(334)  评论(2)    收藏  举报