由于chrom os 是基于gentoo linux 的ebuild 进行包管理的所以想要在chrom os安装一些插件和库,就逃不掉ebuild的魔掌
建立自己的 Overlay
假设在 /us/local
目录中创建自己的 Overlay,方式是:
# mkdir -p /usr/local/portage
需要将 Overlay 路径告知 Portage 管理系统,即在 /etc/make.conf
文件中添加以下代码:
PORTDIR_OVERLAY="/usr/local/portage" #通过这个文件也可以知道本环境中已有的OVERLAY路径
为了让我们的 Overlay 能够被 Portage 管理系统所接受,需要在 /usr/local/portage
中创建 metadata
子目录,并在该目录内添加内容为 masters = gentoo
的 layout.conf
文件[1],并且存储库不应该自动同步(因为它不受rsync服务器,git镜像或其他存储库源的支持):即:
# mkdir /usr/local/portage/metadata
masters = gentoo
auto-sync = false
最后,还需要在 `/usr/local/portage
中创建 profiles
子目录,并在该目录内添加 repo_name
文件。我们可以在这份文件中设置 Overlay 名称,只需将 Overlay 名称写入该文件即可。例如,我将我的 Overlay 命名为 garfileo
:
# echo "garfileo" > /usr/local/portage/profiles/repo_name
通过在/etc/portage/repos.conf中创建存储库配置文件来启用本地系统上的存储库,通知Portage可以找到本地存储库的位置:
文件 /etc/portage/repos.conf/localrepo.conf
[localrepo] location = / usr / local / portage
在ebuild中不使用网络下载而使用本地包。
将准备好的包源文件(例如foo-1.0.tar.bz2)放到固定目录下(例如:/mnt/host/source/.cache/distfiles/target/)。
在ebuild文件中修改SRC_URI参数使它指向我们准备好的包文件,例如:
SRC_URI="file:///mnt/host/source/.cache/distfiles/target/foo-1.0.tar.bz2" (注意file:后面是三个/)
然后加上:
RESTRICT="mirror" 使ebuild编译安装过程中不使用镜像链接下载而是使用SRC_URI指定的链接下载对应包文件。 参考: http://forums.gentoo.org/viewtopic-t