[ << ]
[ < ]
[ 主页 ]
[ > ]
[ >> ]
2. 通过变量来配置
内容:
2.a. Portage的配置
如前面所述,你可以在/etc/make.conf中定义许多变量来配置Portage。请参考make.conf的手册页以获得更详细和完整的信息:
代码 1.1: 阅读make.conf的手册页 |
$ man make.conf
|
2.b. 构建相关的选项
配置和编译器选项
当Portage构建应用程序时,他会将下面变量的内容传给编译器和configure脚本:
-
CFLAGS和CXXFLAGS定义了编译器编译C和C++程序所使用的参数。
-
CHOST为程序的configure脚本定义了build和host信息。
-
MAKEOPTS参数被传递给make命令,通常用来设定编译时并行处理线程的数量。更多关于make的参数可在make的手册页中找到。
USE变量也会在配置和编译的过程中被用到,不过这在前面的章节中已经详细解释过了。
安装相关选项
当Portage在安装了一个某软件的新版本后,会把属于旧版本的已经过时的文件从你的系统中删除。在此之前Portage会给用户5秒钟时间撤销此操作,这5秒钟由CLEAN_DELAY变量定义。
你可以通过设定EMERGE_DEFAULT_OPTS变量以使emerge每次运行时都使用某些特定的选项。一些常用的选项是--ask,--verbose,--tree,等等。
2.c. 配置文件的保护
Portage的保护位置
Portage一般会用新文件覆盖掉旧文件,除非这些旧文件位于受保护的位置里。这些受保护的位置由CONFIG_PROTECT变量设定,通常是配置文件的位置。在设置时,多个目录间用空格分开。
当受保护的位置里的文件有新版本时,新文件被保存前将会被更名,同时用户会被告知此新配置文件的存在。
你可以利用emerge --info来获得目前CONFIG_PROTECT的设置:
代码 3.1: 获得CONFIG_PROTECT的设定 |
$ emerge --info | grep 'CONFIG_PROTECT='
|
更多关于Portage配置文件保护的信息可以查看emerge手册页的CONFIGURATION FILES部分:
代码 3.2: 更多关于Portage配置文件保护的信息 |
$ man emerge
|
解除对某些目录的保护
你可以通过变量CONFIG_PROTECT_MASK来解除对受保护目录下某些子目录的保护。
2.d. 下载的选项
服务器的地址
当你的系统上没有所需要的信息和数据时,Portage就会从网络上获取数据。含有这些信息和数据的服务器的位置定义在以下变量中:
-
GENTOO_MIRRORS定义了一些提供源代码(distfiles)的服务器地址。
-
PORTAGE_BINHOST定义了一个特定的服务器地址,此服务器可为你的系统提供预先编译好的软件包。
第3个变量设定rsync服务器的地址,此服务器用来更新你的Portage树:
-
SYNC定义了一个特定的服务器,Portage用此服务器获取Portage树。
GENTOO_MIRRORS和SYNC变量可以由程序mirrorselect自动设定。首先你要emerge mirrorselect。更多信息参考mirrorselect的在线帮助:
代码 4.1: 更多关于mirrorselect的信息 |
# mirrorselect --help
|
如果你需要使用代理服务器,你可以用http_proxy、ftp_proxy和RSYNC_PROXY变量来设定它们。
获取源代码的命令
当Portage需要获取源代码时,默认使用wget来下载。你可以通过定义FETCHCOMMAND变量来改变它。
Portage支持断点续传。默认是使用wget来实现,但你可以通过定义RESUMECOMMAND来变量来改变它。
确保你的FETCHCOMMAND和RESUMECOMMAND把源代码存放到正确的位置。在这些变量中你应该用\${URI}和\${DISTDIR}分别指定源代码和distfiles的位置。
你可以对不同的传输协议使用不同的设置,相关的参数有FETCHCOMMAND_HTTP、FETCHCOMMAND_FTP、RESUMECOMMAND_HTTP和RESUMECOMMAND_FTP等等。
Rsync的设置
你不能改变Portage用来更新Portage树所使用的rsync命令,但你可以设定一些与rsync命令相关的变量:
-
PORTAGE_RSYNC_OPTS定义了一些在sync过程中使用的变量,变量之间用空格分开。不要做任何改变除非你十分清楚会有什么后果。注意某些必要的选项总会起作用,即使PORTAGE_RSYNC_OPTS的设置是空的。
-
PORTAGE_RSYNC_EXTRA_OPTS可以用于在同步过程中设置附加选项。选项之间用空格分开。
- --timeout=<number>: 这里设定rsync连接超时的秒数。此变量默认为180秒。如果用户是使用拨号上网或者一台处理速度慢的电脑,这个值需要设到300或者更高。
- --exclude-from=/etc/portage/rsync_excludes: 这个参数指定一个文件,内容是rsync在更新过程中需要忽略的软件包和/或者类别的列表。这个例子指定的是/etc/portage/rsync_excludes。请参考使用Portage树的子集以了解此文件的格式。
- --quiet: 减少屏幕输出
- --verbose: 在屏幕上输出完整的文件列表
- --progress: 为每个文件显示一个进度条
-
PORTAGE_RSYNC_RETRIES定义了rsync程序试图连接到由SYNC变量所指定的服务器的次数,默认为3。
更多有关这些参数的信息请阅读man rsync.
2.e. Gentoo的设置
分支的选则
你可以用ACCEPT_KEYWORDS变量改变默认的系统分支。此变量的默认设置为你的电脑体系结构的稳定分支。更多关于Gentoo分支的信息可以在下一章节找到。
Portage的特性
你可以通过FEATURES变量激活Portage的某个特性。这些已在前面的章节中讨论过,如Portage的特性.
2.f. Portage的行为
资源管理
通过PORTAGE_NICENESS变量,你可以增加或减少Portage运行时的nice值。PORTAGE_NICENESS变量的值会被加到目前的nice值上。
更多关于nice值的信息, 请参考nice的手册页:
代码 6.1: 更多关于nice的信息 |
$ man nice
|
输出行为
NOCLOR变量的默认值为“false”,如果你想禁用Portage的彩色输出,请把这个变量设为“true”。
[ << ]
[ < ]
[ 主页 ]
[ > ]
[ >> ]
本文档的内容遵循知识共享-署名-相同方式共享许可协议
|