分类: LINUX
2008-08-25 13:17:26
2.a. Portage的配置
如前面所述,你可以在/etc/make.conf中定义许多变量来配置Portage。请参考make.conf的手册页以获得更详细和完整的信息:
代码 1.1: 阅读make.conf的手册页 |
$ man make.conf |
2.b. 构建相关的选项
当Portage构建应用程序时,他会将下面变量的内容传给编译器和configure脚本:
USE变量也会在配置和编译的过程中被用到,不过这在前面的章节中已经详细解释过了。
当Portage在安装了一个某软件的新版本后,会把属于旧版本的已经过时的文件从你的系统中删除。在此之前Portage会给用户5秒钟时间撤销此操作,这5秒钟由CLEAN_DELAY变量定义。
你可以通过设定EMERGE_DEFAULT_OPTS变量以使emerge每次运行时都使用某些特定的选项。一些常用的选项是--ask,--verbose,--tree,等等。
2.c. 配置文件的保护
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就会从网络上获取数据。含有这些信息和数据的服务器的位置定义在以下变量中:
第3个变量设定rsync服务器的地址,此服务器用来更新你的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等等。
你不能改变Portage用来更新Portage树所使用的rsync命令,但你可以设定一些与rsync命令相关的变量:
更多有关这些参数的信息请阅读man rsync.
2.e. Gentoo的设置
你可以用ACCEPT_KEYWORDS变量改变默认的系统分支。此变量的默认设置为你的电脑体系结构的稳定分支。更多关于Gentoo分支的信息可以在下一章节找到。
你可以通过FEATURES变量激活Portage的某个特性。这些已在前面的章节中讨论过,如.
2.f. Portage的行为
通过PORTAGE_NICENESS变量,你可以增加或减少Portage运行时的nice值。PORTAGE_NICENESS变量的值会被加到目前的nice值上。
更多关于nice值的信息, 请参考nice的手册页:
代码 6.1: 更多关于nice的信息 |
$ man nice |
NOCLOR变量的默认值为“false”,如果你想禁用Portage的彩色输出,请把这个变量设为“true”。