我更新我的 Gentoo 系统已经有几个月了。而且,正如您可以想象的那样,这意味着我需要检查很多包(和 USE 更改)。我的系统是“amd64”(multilib),但我有很多来自“~amd64”的手动关键字包。
无论如何,在此更新中,我一直看到“ABI_X86”USE 标志。这是什么?这是新的。“eselect 新闻列表”中没有关于它的任何内容。
我找到了这个话题:http : //forums.gentoo.org/viewtopic-t-953900-start-0.html。这似乎展示了如何使用它,但是,是否有任何“真正的”文档?它有什么作用?我应该将“ABI_X86”设置为什么?我有一个多库系统。我假设我想要“64”,但是“32”和“x32”是什么?我对我需要在这里做什么感到困惑。
Emerge 对插槽冲突大喊大叫,它们似乎与“ABI_X86”有关(我完全忘记了错误,但我记得一个是 zlib)。
那么,是否有任何关于它是什么ABI_X86
以及如何使用它的“官方”文档?
从我链接的线程中,我找到了这个页面:http : //kicherer.org/joomla/index.php/en/blog/liste/29-transition-of-emul-packages-to-true-multilib,但我想要在我输入一堆关键字并编辑我的make.conf
.
PS 我的“package.keywords”文件中有大部分“app-emulation/emul-linux-x86”包(我当时似乎需要的包)。
我想emerge
在 Gentoo 系统上安装程序 foo ;所以我只是emerge foo
用来安装和 portage 选择其存储库中该软件的最新版本。如果我知道版本号和命名约定,我可以做emerge =foo.1.2
并使用eselect
从已安装的包中选择当前生效的包,如果包支持的话。
但是,如果我不知道版本号或命名约定,而只想要一个可供我使用的 foo 版本列表,该怎么办?我没有看到执行此操作的emerge选项,并且在下面窥探/usr/portage
并没有给我带来任何好处。
奖励:无论如何可以找到哪些位置emerge
民意调查以确定哪些软件包可用?例如,我系统上的许多 ebuild 位于非标准位置,但emerge
无论如何都能找到它们,因此我试图确定emerge
它的可用软件版本列表是如何构建的。
我想卸载 Gentoo 中的特定软件包并浏览了emerge 手册页。我找到了--unmerge
选项:
警告:此操作可以删除重要的包!删除所有匹配的包。这不会检查依赖关系,因此它可能会删除系统正常运行所需的包。它的参数可以是原子或 ebuilds。对于--unmerge的依赖感知版本 ,请使用--depclean或--prune。
但是,我想通过emerge来检查系统中任何其他已安装的软件包是否需要我要卸载的软件包。--depclean
并且--prune
不提供该功能:
--depclean
删除作为依赖项安装但不再需要的包--prune
“从您的系统中删除除最高安装版本之外的所有软件包”没有依赖检查版本--unmerge
吗?
gcc
在gentoo系统上升级后应该重建哪些包?是否足以运行
# emerge -a --oneshot `equery depends gcc |awk '{print " ="$1}'`
Run Code Online (Sandbox Code Playgroud)
我想在我的 Gentoo 系统上安装两个(或更多)版本的相同软件包。我确信不会有任何文件冲突,因为安装的文件很少,而且每个文件都以版本命名。
我知道插槽,但这些是在 ebuild 文件中指定的,假设出于多种原因我不想编辑任何 ebuild 文件。
我希望已安装的版本成为世界包的一部分,以便可以像往常一样重新安装或卸载它们。
有没有办法安装同一个包的多个版本?你知道一些 Portage 技巧来实现这一目标吗?
在 Gentoo 上,有没有办法找到没有其他软件包依赖的已安装软件包列表(所谓的叶子软件包)?或者,是否有pkg-orphan
FreeBSD 实用程序的模拟?
我犯了一个错误,先将 perl 非线程版本更改为通过 unmerge 进行线程化,更改USE
标志以包含 ithreads 并再次出现 perl。现在大多数依赖 perl 的包都坏了。我如何重建它们?
我有 Gentoo VM 用于测试不同的木偶配方,我经常需要删除包以使其进入干净的初始状态。虽然我可以在只安装几个包时手动执行此操作(并使用 删除依赖项emerge -av --depclean
),但有一些方法涉及安装几十个 perl 模块,我需要在测试后清理这些模块。我考虑将它们打包到单个虚拟 ebuild 中,但我已经将测试系统弄脏了许多已安装的包,我想避免一一查看它们。所以问题是 如何找到某个特定日期之后安装的软件包列表?
正在做
emerge -avuDN --with-bdeps y --keep-going @world
Run Code Online (Sandbox Code Playgroud)
花费大量时间并且经常失败。
有没有办法打印 Gentoo 系统中所有可升级包的列表?
我正在尝试在我最近的 Gentoo 盒子上安装 Google Chrome。但是emerge
抛出了一些我无法理解的错误。我真的不知道问题是什么。
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-libs/glib:2
(dev-libs/glib-2.32.4-r1::gentoo, installed) pulled in by
<dev-libs/glib-2.33:2 required by (dev-libs/gobject-introspection-1.32.1::gentoo, installed)
(dev-libs/glib-2.36.4-r1::gentoo, ebuild scheduled for merge) pulled in by
>=dev-libs/glib-2.34.0:2 required by (x11-libs/gdk-pixbuf-2.28.2::gentoo, ebuild scheduled for merge)
(and 2 more with the same problem)
media-libs/fontconfig:1.0
(media-libs/fontconfig-2.8.0-r1::gentoo, installed) pulled in by
(no parents that aren't satisfied by other packages in …
Run Code Online (Sandbox Code Playgroud)