Portage
是Gentoo的软件包管理器。
Portage
最初是借鉴了FreeBSD ports的思想, 但却超越了FreeBSD ports很多。
Portage
最初只支持基于源代码分发包的安装,现在也支持基于预编译二进制分发包的安装。
Portage
虽然也开始支持基于预编译二进制分发包的安装,但是官方并没有提供公共的二进制包的仓库, 第三方公开的二进制包仓库似乎也没有,如果想使用该功能,需要我们自己构建这些二进制包,并且自己搭建托管二进制包的仓库服务器。
Portage
官网:https://wiki.gentoo.org/wiki/Portage
Portage
的相关配置文件都在/etc/portage/
目录下。
全局Makefile
配置文件。通常在里面设置预定义Makefile
变量。
该配置文件默认是存在的,我们需要追加一些配置进去:
cat >> /etc/portage/make.conf <<EOF
GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo"
MAKEOPTS="-j$(nproc)"
USE="python"
ACCEPT_LICENCES="*"
EOF
变量 | 说明 |
---|---|
GENTOO_MIRRORS | 源码包的下载地址。使用国内的镜像可以加快下载速度 |
MAKEOPTS | gmake命令的选项设置。这里设置了-j 参数的值jobCount , 它是gmake执行的时候并行执行的job 数量, 计算规则是:CPU核心数量 + 1,比如我的CPU 共有8 个核心, 那么我的计算出来就是9 = 8 + 1 。 |
USE | 此变量控制着包要安装哪些依赖包、不安装哪些依赖包。在通过源码编译安装的时候,通常会有--with-xx 的选项, 因为emerge命令包装了源码安装的过程, 所以不再能设置--with-xx 等参数了,取而代之的使用USE 变量。鉴于目前 Python 非常火爆,大多数软件会依赖它,它已成为一个必不可少的工具,所以, 我们可以把它加入全局USE 变量中。 |
ACCEPT_LICENCES | 此变量控制着安装哪些开源协议的包。对于普通的个人用户来说,一般不需要考虑这件事情。 我们可以设置为所有的开源协议的软件都可以安装。 |
设置Portage tree
同步服务器相关信息。
该配置文件默认是不存在的。执行如下的命令进行配置:
cat > /etc/portage/repos.conf <<EOF
[DEFAULT]
main-repo = gentoo
[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.mirrors.ustc.edu.cn/gentoo-portage/
auto-sync = yes
EOF
执行emerge --sync
命令进行同步。