FAQ

配好之后为何 emerge 不使用二进制包,仍然编译?

二进制包只有在 profile 和 USE 都匹配时才会被采用,不匹配的话 portage 也不报错,直接就编译源码了。 可以使用 emerge -pv 查看,只有前缀是 [binary] 才是走了二进制包。

为什么要用 binrepos.conf,不能直接设 PORTAGE_BINHOST?

因为 PORTAGE_BINHOST 产生的是隐式仓库,没法单独设置 verify-signature。 如果你为了装这里的包关掉验签,官方 binhost 的验签也会被一起关掉。

OpenRC 和 systemd 都能使用吗?

能。仓库按 CPU 基线切分,不按 init 系统切,这也是官方 binhost 的做法。 清单里 187 个包只有 3 个的 IUSEsystemd,其余产物两边一致。

二进制包会不会在我的 CPU 上跑不起来?

不会。构建都在容器里进行,CFLAGS 是通用的,不带 -march=native。 这一点必须在构建端保证——portage 接受二进制包时并不比较 CFLAGS

怎么确认装的东西没被修改?

签名内嵌在每个 gpkg 包里(image.tar.xz.sig),和官方 binhost 一样。 配置里的 binpkg-request-signature 会让 portage 拒绝任何验签不过的包。

二进制包实际是从哪里下载的?

索引在 mirrors.gentoozh.org,而包本身是放在 GitHub Release,请求会被 302 过去。

如何停用?

直接删掉 /etc/portage/binrepos.conf/gentoo-zh.conf 即可,已经安装的包不会受到影响。

都收录了哪些包?

仅收录 gentoo-zh/overlay 自己的包,且许可证允许再分发。而带 RESTRICT=bindist 的一律不发。 清单见 gentoo-zh/binhost