Gentoo:如何从二进制包安装 binutils(因为我不小心删除了它)

Gentoo:如何从二进制包安装 binutils(因为我不小心删除了它)

我不小心删除了我的 binutils 并尝试将其作为二进制包安装。

但是,emerge总是抱怨没有该名称的包。

我从这里并简单地将其复制到/usr/portage/packages(稍后也复制到 distfiles 中)。

之后我chown portage:portage尝试安装该软件包:

sudo emerge --ask --usepkgonly binutils-2.24-r3.tbz2 

它告诉我要调整PKGDIR,但它已经设置为/usr/portage/packages

之后我尝试了这个:

sudo emerge --ask --usepkgonly =binutils-2.24-r3

这告诉我:

emerge: there are no binary packages to satisfy "=binutils-2.24-r3".

我不知道我的错误在哪里;它写得正确,具有正确的权限并且位于正确的位置......(make.conf位置都是默认的)。

最后一篇帖子这个 Stack Overflow 问题也没什么帮助。

我刚刚发现了一个看似解决方案的东西: 致命错误:卸载 sys-devel/binutils - emerge 不再起作用 (之前没见过);但是,它并没有尝试使用二进制包来解决问题,所以它没有回答这个问题

答案1

可能是由于缺少 binutils 中的某些实用程序,portage 的某些内部魔法失败了。您可以使用 解压根分区中的二进制包tar -xjf /usr/portage/packages/binutils*bz2 -C /。然后您可以尝试重新安装 binutils。

另外,您确定您下载的 binpackage 确实是 tbz2,而不是 html 吗?

答案2

您需要从 Packages 文件中删除有关该包的信息,从 BUILD_TIME 到 REPO 的所有内容。

然后您可以执行以下操作:emerge --usepkg =media-gfx/graphite2-1.3.13 它就会起作用。

答案3

因为 /usr/portage/packages 也需要这个类别。二进制包应该放在 packages 中的 sys-devel 子目录中。

相关内容