我不小心删除了我的 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 子目录中。