Gentoo Overlays

Gentoo Overlays 项目成员维护了独立仓库,之前采用 app-portage/layman (已经废弃)维护,现在采用 eselect repository 来选择( 参考 gentoo linux wiki: eselect/repository )

安装

  • 安装 app-eselect/eselect-repository :

安装 app-eselect/eselect-repository
emerge --ask app-eselect/eselect-repository

备注

Gentoo ebuild repository ,我已经实践过一个简单的自建 repository 。现在我将要使用互联网上公开维护的社区仓库

配置

初始设置

  • REPOS_CONF /etc/eselect/repository.conf 配置文件中有一个变量 REPOS_CONF 指定了repos配置文件存放在哪里 ,该目录必须存在用于模块存储: 默认是 /etc/portage/repos.conf/ 目录

我在 Gentoo ebuild repository 已经创建了上述目录

repos.gentoo.org

  • 首先获取 repos.gentoo.org 提供的所有仓库列表:

列出所有repository
eselect repository list

输出有将近400个仓库,我选择 gentoo-zh (也就是 gentoo.cn)仓库,以便能够安装 Gentoo Linux Sway fcitx中文输入

  • 激活 gentoo-zh 仓库:

激活 gentoo-zh 仓库
eselect repository enable gentoo-zh

输出显示:

激活 gentoo-zh 仓库的输出信息
Adding gentoo-zh to /etc/portage/repos.conf/eselect-repo.conf ...
1 repositories enabled
  • 此时检查 /etc/portage/repos.conf/eselect-repo.conf 就可以看到新添加仓库:

/etc/portage/repos.conf/eselect-repo.conf 添加了激活的仓库 gentoo-zh 配置
[gentoo-zh]
location = /var/db/repos/gentoo-zh
sync-type = git
sync-uri = https://github.com/gentoo-mirror/gentoo-zh.git

如果要禁用仓库,则使用:

禁用 gentoo-zh 仓库
eselect repository disable gootoo-zh

如果要删除仓库,则使用:

移除 gentoo-zh 仓库
eselect repository remove gentoo-zh
  • 使用 emaint 对新添加Portage进行软件库同步:

使用 emaint 同步新添加的软件库
emaint sync -r gentoo-zh

output:

使用 emaint 同步新添加的软件库 some prompt
# Need git

>>> Syncing repository 'gentoo-zh' into '/var/db/repos/gentoo-zh'...
!!! Command not found: git
!!! Type "emerge dev-vcs/git" to enable git support.
!!! Repository 'gentoo-zh' is missing masters attribute in '/var/db/repos/gentoo-zh/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility

然后就可以按照正常方式进行 Gentoo emerge 安装了

参考