Gentoo中如何安装不稳定的软件包


Gentoo中不稳定软件包有几种,
1,~amd64(~x86) keyword
这种情况说明make.conf中指明了关键字amd64,而不是~amd64关键字,这样所有标有~amd64关键字的软件默认都不会装上。
$ emerge -pv =vanilla-sources-2.6.16.62

These are the packages that would be merged, in order:

Calculating dependencies...

!!! All ebuilds that could satisfy "=sys-kernel/vanilla-sources-2.6.16.62" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-kernel/vanilla-sources-2.6.16.62 (masked by: ~amd64 keyword)
[...]

 
这是程度最轻的,~amd64表示该软件在amd64架构上尚不稳定,可以通过添加为该软件添加~amd64关键字来安装:
# echo "=sys-kernel/vanilla-sources-2.6.16.62 ~amd64" >> /etc/portage/package.keywords
# emerge -pv =vanilla-sources-2.6.16.62

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] sys-kernel/vanilla-sources-2.6.16.62  USE="-build -symlink" 40,240 kB

Total: 1 package (1 new), Size of downloads: 40,240 kB


2,missing keyword
这种比表明该软件在该平台上还没有规范的测试过,不知是否可用。显然这样的软件一般是无法保障的。
# emerge -pv =vanilla-sources-2.6.27_rc6

These are the packages that would be merged, in order:

Calculating dependencies \
!!! All ebuilds that could satisfy "=sys-kernel/vanilla-sources-2.6.27_rc6" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-kernel/vanilla-sources-2.6.27_rc6 (masked by: package.mask, missing keyword)

(2.6.27_rc6)    [m]~*2.6.27_rc6

这时需要在该软件的ebuild中加入相应的平台关键字,在文件/usr/portage/sys-kernel/vanilla-sources/vanilla-sources-2.6.27_rc6.ebuild中加入~amd64:
KEYWORDS="~alpha ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64"


# ebuild /usr/portage/sys-kernel/vanilla-sources/vanilla-sources-2.6.27_rc6.ebuild digest

3, package.mask
这种情况的软件的稳定程度介于第一种和第三种之间,下面接着第二的例子再emerge一下:
# emerge -pv =vanilla-sources-2.6.27_rc2

These are the packages that would be merged, in order:

Calculating dependencies -^C

Exiting on signal 2
Gentoo-F312-64 example # emerge -pv =vanilla-sources-2.6.27_rc6

These are the packages that would be merged, in order:

Calculating dependencies \
!!! All ebuilds that could satisfy "=sys-kernel/vanilla-sources-2.6.27_rc6" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-kernel/vanilla-sources-2.6.27_rc6 (masked by: package.mask, ~amd64 keyword)

这时出现了package.mask, ~amd64 keyword,后者第1点已经说到了,对于package.mask,只需:
# echo "=sys-kernel/vanilla-sources-2.6.27_rc6" >> /etc/portage/package.unmask
就可以了,按照第一点,还要接着:
# echo "=sys-kernel/vanilla-sources-2.6.27_rc6 ~amd64" >> /etc/portage/package.keywords
这样该软件就ok了:
# emerge -pv =vanilla-sources-2.6.27_rc6

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] sys-kernel/vanilla-sources-2.6.27_rc6  USE="-build -symlink" 62,377 kB

相关内容