如何找到在启动板中找到的包的ppa?

Sha*_*baz 2 10.04 package-management apt ppa

我正在尝试安装一个需要 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
Run Code Online (Sandbox Code Playgroud)

这意味着我安装了更新版本的 libc6。然而:

sudo apt-get install libc6-dbg=2.11.1-0ubuntu7.2
Run Code Online (Sandbox Code Playgroud)

没有找到任何东西。我猜我需要添加包含该包的 PPA,这是我运气不好的地方。

我在这里找到了我需要的包(我的 ubuntu 是 Lucid):https : //launchpad.net/ubuntu/lucid/i386/libc6-dbg/2.11.1-0ubuntu7.2,但是,我似乎无法弄清楚我应该怎么做才能apt-get看到并安装这个包。

帮助?

Eli*_*gan 6

-dbg包为包提供的程序和库提供调试符号,这些包的名称与它们相似但没有-dbg. (有时它们为整个组包提供调试符号,通常它们的名称以没有它们的方式开头-dbg,然后包含更多文本。)

在这种情况下,您已经libc6安装了(这是一个核心包,没有它,Ubuntu 系统就无法运行),并且您想要安装libc6-dbg. 这必须与安装libc6. libc6-dbg从与已安装版本不对应的 PPA 中获取单独版本的libc6将非常糟糕——它将无法使用。

本页所示,在 Lucid 系统上,libc6和(如果已安装)libc6-dbg都应该在 version 2.11.1-0ubuntu7.10。因此,您似乎libc6安装了旧版本(这可能容易受到众所周知的安全漏洞的影响!),libc6-dbg可能不再可用。

您不仅拥有 的旧版本libc6,而且拥有有关最新版本libc6libc6-dbg过时版本的信息。试试这个来纠正它:

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

如果你在命令行上安装软件包,你应该总是先运行它(除非你最近才运行它)。

然后运行它来升级你系统的包(包括libc6):

sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

然后再试一次:

sudo apt-get install libc6-dbg
Run Code Online (Sandbox Code Playgroud)

如果仍然不起作用,请检查您的软件源(通过转到更新管理器并单击左下角的设置...按钮)。单击更新选项卡。确保Important security updates (lucid-security)Recommended updates (lucid-updates)已启用(选中)。

Ubuntu 10.04 LTS,软件源窗口,更新选项卡

这种形象取自这些指令,通过书面Contributors to the Ubuntu documentation wiki许可下,CC-BY-SA 3.0。Ask Ubuntu 上的内容(包括这篇文章)也以这种方式获得许可。因此,我在这里允许合并该图像。

然后在启用这些软件源后,再次运行这些命令:

sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

然后再试一次:

sudo apt-get install libc6-dbg
Run Code Online (Sandbox Code Playgroud)