我正在尝试安装一个需要 libc6-dbg 的程序 (valgrind)。另一方面,我无法安装 libc6-dbg,因为:
The following packages have unmet dependencies:
libc6-dbg: Depends: libc6 (= 2.11.1-0ubuntu7) but 2.11.1-0ubuntu7.2 is to be installed
E: Broken packages
这意味着我安装了较新版本的 libc6。但是:
sudo apt-get install libc6-dbg=2.11.1-0ubuntu7.2
什么也没找到。我猜我需要添加包含该包的 PPA,但这就是我运气不佳的地方。
我在这里找到了我需要的包(我的 ubuntu 是 Lucid):https://launchpad.net/ubuntu/lucid/i386/libc6-dbg/2.11.1-0ubuntu7.2但是,我似乎不知道我应该怎么做才能apt-get
看到并安装这个包。
帮助?
答案1
-dbg
软件包为软件包提供的程序和库提供调试符号,这些程序和库的名称与它们相似但不带-dbg
。 (有时它们为整个组软件包提供调试符号,这些软件包的名称通常以 和 开头-dbg
,然后包含更多文本。)
在这种情况下,您已经libc6
安装了(这是核心包,没有它,Ubuntu 系统就无法运行),并且您想要安装libc6-dbg
。这必须与已安装的版本。从 PPA 获取与已安装的版本不对应的libc6
单独版本将非常糟糕 - 它将无法使用。libc6-dbg
libc6
作为此页显示在 Lucid 系统上,libc6
和(如果已安装)的libc6-dbg
版本都应为2.11.1-0ubuntu7.10
。因此,您似乎libc6
安装了旧版本的(可能容易受到众所周知的安全漏洞的攻击!),而该版本的libc6-dbg
可能不再可用。
您不仅拥有 的旧版本libc6
,而且有关 和 的最新版本的信息libc6
也libc6-dbg
已过期。请尝试以下方法进行更正:
sudo apt-get update
如果您在命令行上安装程序包,则应始终首先运行它(除非您最近刚刚运行过它)。
然后运行此命令来升级系统的软件包(包括libc6
):
sudo apt-get upgrade
然后重试:
sudo apt-get install libc6-dbg
如果仍然不起作用,请检查您的软件源(转到更新管理器并单击左下角的“设置...”按钮)。单击“更新”选项卡。确保Important security updates (lucid-security)
和Recommended updates (lucid-updates)
已启用(已选中)。
该图片取自这些说明,由Contributors to the Ubuntu documentation wiki
和撰写领有牌照在下面版权声明:本文为转载,转载请保留本声明!. Ask Ubuntu 上的内容(包括本文)也是领有牌照这样。因此,我在这里可以加入该图像。
然后启用这些软件源后,再次运行以下命令:
sudo apt-get update
sudo apt-get upgrade
然后重试:
sudo apt-get install libc6-dbg
答案2
一般来说(回答你的标题问题):为了搜索/添加 ppa,你可以使用Y PPA 经理。
添加后,您将更新您的源并从您想要的源安装包...
答案3
您应该更新您的系统,例如
sudo apt-get update
sudo apt-get upgrade
如果这没有帮助,请确保您已启用安全更新。
libc6
Lucid 中的当前版本是2.11.1-0ubuntu7.10,相应的libc6-dbg
可从官方软件源获得。
答案4
也许更新 libc6 和 libc6-dbg 会有帮助?这两个软件包都有较新版本(带有安全更新):
https://launchpad.net/ubuntu/lucid/i386/libc6/2.11.1-0ubuntu7.10
https://launchpad.net/ubuntu/lucid/i386/libc6-dbg/2.11.1-0ubuntu7.10
我认为 2.11.1-0ubuntu7 不再存在于存储库中。
sudo apt-get update
sudo apt-get upgrade
应该可以解决问题。