当我运行时,emerge -avuDN world
我收到了 grub 包的奇怪输出:
[ebuild U #] sys-boot/grub-1.99-r2 [1.99_rc1] USE="nls%* sdl%* truetype -custom-cflags -debug -device-mapper% -efiemu% -static (-multislot%)" GRUB_PLATFORMS="-coreboot% -efi-32% -efi-64% -emu% -ieee1275% -multiboot% -pc% -qemu% -qemu-mips% -yeeloong%" 2,578 kB
我不明白井号这个符号。
在我的 Portage 配置中,有两个关于 grub 的条目:
$ grep "grub" *
package.keywords:<sys-boot/grub-9999 **
package.unmask:sys-boot/grub
我不知道为什么,但是删除其中一个条目会使 portage 尝试在新插槽中安装 grub-0.97,所以我保留了两者。
我将非常感谢对这个神秘哈希的一些解释(以及为什么我需要在配置中这两行)。
答案1
以下是来自 man emerge 的一段代码:
[ebuild U *] sys-apps/portage-2.2.0_alpha6 [2.1.9.25] Portage 2.1.9.25 已安装,但如果您运行该命令,portage 将升级到版本 2.2.0_alpha6。在这种情况下,将显示 * 符号,以表明版本 2.2.0_alpha6 因缺少关键字而被屏蔽。如果未同时启用 --verbose 选项,则可通过 --quiet 选项禁用此类屏蔽显示。以下符号用于表示各种类型的屏蔽:符号屏蔽类型 # package.mask * 缺少关键字 ~ 不稳定关键字
因此,示例中的 # 表示它要安装的 grub 版本被 package.mask 屏蔽。
您的行:package.unmask:sys-boot/grub 正在使其安装原本被屏蔽的包。
您的行:package.keywords: <sys-boot/grub-9999 ** 接受 grub 的所有关键字,换句话说,无论 grub 多么稳定(或不稳定),您都将采用最新版本的 grub。
我预计 0.97 是适合您的架构的最新稳定版本,但由于我现在没有安装 gentoo,而且http://gentoo-portage.com/sys-boot/grub好像坏了,我无法检查-抱歉!