Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2338091
  • 博文数量: 609
  • 博客积分: 10061
  • 博客等级: 上将
  • 技术积分: 5920
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-25 08:30
文章分类

全部博文(609)

文章存档

2010年(13)

2009年(39)

2008年(558)

我的朋友

分类: LINUX

2008-08-25 13:18:26

3. 使用多个软件分支

3.a. 使用一个分支

Gentoo提供了一个ACCEPT_KEYWORDS变量来定义您系统所使用的软件分支。默认情况下,系统会选择您的体系结构的稳定软件分支。例如x86

我们推荐您只使用默认的稳定软件分支。不过,如果您不是那么注重稳定性,并且愿意向提交一些bug报告来帮助和完善Gentoo,请继续阅读下面的内容。

如果您想用最新版本的软件,您可以考虑转向使用测试分支。要让Portage转而使用测试分支的软件,您只需在您的体系结构名称前加上一个~符号。

顾名思义,“测试分支”就是带有测试性质的。如果一个包正处于测试中,这代表软件的开发人员认为它虽然已经具有了相当的功能但还没有经过完全的测试。使用这样的软件,您当然可能会第一个发现它的bug,并可以提交一个来通知相关的开发者。

要小心的是,您可能会遇到不稳定性、不完美的软件包处理(例如错误或者缺失的依赖关系)、过于频繁的更新(导致大量的编译)和损坏的包等问题。如果您还不是很清楚Gentoo的工作方式以及如何去解决这些问题,我们推荐您还是使用稳定且测试过分支。

例如,要选择针对x86体系结构的测试分支,请修改/etc/make.conf文件并设定如下内容:

代码 1.1: 设定ACCEPT_KEYWORDS变量

ACCEPT_KEYWORDS="~x86"

之后如果您更新系统,您将会发现有大量的包需要更新。要提醒您注意的是:您使用测试分支更新系统后,再想转回使用官方的稳定分支将不是一件容易的事情(当然您使用系统的备份的情况除外)。

3.b. 混合使用稳定和测试分支

您可以让Portage使用某些软件的测试分支中的版本,对于系统的其他软件则使用稳定分支。要实现这样的目的,您需要在/etc/portage/package.keywords文件里加入那些软件包的名字及其所属分类的名称。您也可以建立一个同名文件夹,并在里面建立的文件里加入上述内容。例如,要使用gnumeric属于测试分支中的版本:

代码 2.1: /etc/portage/package.keywords中针对gnumeric设置,一行完整内容

app-office/gnumeric ~x86

如果您希望Portage使用测试分支中某软件的特定版本,但后续版本不再这么做,你可以在package.keywords里加入相应的版本号来实现这个目的。在此情况下您必须使用 = 运算符。您也可以通过使用<=,<,>或>=运算符来指定一个要使用的版本范围。

任何情况下,如果您添加了版本号,您必须使用一个运算符;如果您忽略了版本号,您就不能使用运算符。

在如下的例子中,我们要求Portage接受版本号为1.2.13的gnumeric:

代码 2.2: 允许gnumeric的测试版本

=app-office/gnumeric-1.2.13 ~x86

3.c. 使用被屏蔽的包

Gentoo的开发者们支持您使用这个文件。如果您要使用它请千万小心。开发者们将不会回应有关于package.unmask和/或package.mask的支持请求。您已经被提醒过了。

当一个包被Gentoo的开发者们屏蔽,但你不考虑package.mask文件(默认保存于/usr/portage/profiles目录下)里所陈述的原因,仍然想使用它的话,请在/etc/portage/package.unmask文件(如果是一个文件夹,就在此文件夹下的文件中)中加入与package.mask里那行一模一样的内容。

比如说,软件包=net-mail/hotwayd-0.8被屏蔽了,但是您想解除这个屏蔽,需要做的只是在package.unmask中加入相同的一行内容就可以了。

代码 3.1: /etc/portage/package.unmask

=net-mail/hotwayd-0.8

当您希望Portage忽略一个特定的软件包或者一个软件包的特定版本,您可以在/etc/portage/package.mask文件(或者此目录下的一个文件)中加入一行适当的内容来屏蔽它。

例如,当您不希望Portage安装比gentoo-sources-2.6.8.1更新版本的内核时,您只需要在package.mask文件里加入下面一行内容:

代码 3.2: /etc/portage/package.mask的例子

>sys-kernel/gentoo-sources-2.6.8.1
阅读(1176) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~