我在 16.04 上运行,并尝试安装各种开发包,即libglib2.0-dev
我正在从事的项目。但这不是最近唯一一个这样做的包。本周安装 MySQL 很麻烦。我不断收到以下信息:
The following packages have unmet dependencies:
libglib2.0-dev : Depends: libglib2.0-0 (= 2.48.0-1ubuntu4) but 2.48.1-1~ubuntu16.04.1 is to be installed
Depends: libglib2.0-bin (= 2.48.0-1ubuntu4)
E: Unable to correct problems, you have held broken packages.
这几乎与我的 MySQL 安装中发生的情况完全相同。我四处搜索并找到了一些建议aptitude install
,apt-get install -f
但这些建议都没有奏效。我还做了尽职调查,apt-get update
并apt-get dist-upgrade
检查了主服务器在软件和更新的下载地址中。我尝试将它放在一袋格兰诺拉麦片中一个星期,但似乎没有任何效果。
知道发生了什么吗?我看到一些这样的帖子,但没有真正的解决方案。
根据建议,apt-cache policy alibglib2.0-dev libglib2.0-0 libglib2.0-bin 的输出为:
libglib2.0-dev:
Installed: (none)
Candidate: 2.48.0-1ubuntu4
Version table:
2.48.0-1ubuntu4 500
500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
libglib2.0-0:
Installed: 2.48.1-1~ubuntu16.04.1
Candidate: 2.48.1-1~ubuntu16.04.1
Version table:
*** 2.48.1-1~ubuntu16.04.1 100
100 /var/lib/dpkg/status
2.48.0-1ubuntu4 500
500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
libglib2.0-bin:
Installed: 2.48.1-1~ubuntu16.04.1
Candidate: 2.48.1-1~ubuntu16.04.1
Version table:
*** 2.48.1-1~ubuntu16.04.1 100
100 /var/lib/dpkg/status
2.48.0-1ubuntu4 500
500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
答案1
未满足的依赖项仍保留在您的 sources.list 中。您需要刷新才能安装更多软件包,因此您可以这样做:
sudo rm /etc/apt/sources.list
然后输入
sudo software-properties-gtk
这将打开 software-properties-gtk 并自动创建一个 newsources.list。
然后将服务器更改为美国或您选择的任何其他服务器。您必须从新对话框中启用存储库才能创建新的 sources.list。
勾选所有框然后单击“恢复”,再单击“关闭”。
需要恢复默认存储库
sudo apt-get update && sudo apt-get dist-upgrade -y
(最好在安装之前备份此文件,以便在发生此类情况时进行恢复)