如何修复损坏的包裹?

如何修复损坏的包裹?

尝试在 ubuntu 14.04.2 上安装 libssl-dev

$ make
fatal error: openssl/sha.h: No such file or directory
compilation terminated.

$ sudo apt-get install libssl-dev
The following packages have unmet dependencies:
 libssl-dev : Depends: zlib1g-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ sudo apt-get install zlib1g-dev
The following packages have unmet dependencies:
 zlib1g-dev : Depends: zlib1g (= 1:1.2.3.4.dfsg-3ubuntu4) but 1:1.2.8.dfsg-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

如何删除保留的软件包并安装正确的软件包?

答案1

首先,尝试输入: sudo dpkg --configure -a

这对于修复损坏的依赖关系将大有帮助。如果这还不够,请尝试: sudo apt-get install -f

然后清理并更新: sudo apt-get clean && sudo apt-get update

然后升级:( sudo apt-get upgrade 说“是”升级)

如果您收到消息说某些包裹被“扣留”,请执行以下操作:

sudo apt-get dist-upgrade

现在执行这两个命令:

sudo apt-get purge zlib1g-dev
sudo apt-get autoremove

然后看看当你输入时会发生什么: sudo apt-get install libssl-dev

如果仍然不起作用,请尝试以下操作:

sudo aptitude install libssl-dev zliblg-dev=1:1.2.8.dfsg-1ubuntu1

如果还是不行就打开新立得包管理器(它应该在您的启动器中。如果找不到它,请在终端输入synaptic-pkexec)。

搜索zlib1g-dev。如果 zlib1g-dev 旁边的框不是绿色,请单击它并选择“标记安装”。如果您看到多个版本,请选择1:1.2.8.dfsg-1ubuntu1。然后搜索libssl-dev.如果 libssl-dev 旁边的框不是绿色,请单击它并选择“标记安装”。

然后选择“应用”。

答案2

您必须查找与您的软件包相关的所有文件并清除它们,然后重新安装。

sudo dpkg --list
sudo apt-get purge "file-name"

对每个文件重复第二个命令,然后重新安装。

答案3

sudo aptitude install lib_name_depending

当我想libcurl4-openssl-dev在我的 Ubuntu 14.04LTS 上安装时,它为我工作。

我的机器上没有安装几个依赖的库,并且通过使用 aptitude 工具,我设法以交互方式安装/降级必要的库/包以便能够安装libcurl4-openssl-dev.

答案4

我是如何解决这个问题的,当它说损坏的包裹时,上面列出了一个包裹。我运行了 sudo apt-get install (package name),然后运行了 sudo apt-get Upgrade,然后就成功了!

相关内容