Gentoo/Funtoo USE标记

USE的简单理解如下:一个软件不只包含软件本身,还包括其组件,如,文档,插件,GUI支持等。USE就是用来标记是否要安装软件的同时安装这些组件。

声明USE标记

所有USE标记都声明在USE变量里面。默认的USE设定,在make.defaults文件(你的profile的一部分)里声明。

全局USE标记

不要通过修改make.defaults文件里的USE变量来满足你的需要:在升级Portage的时候,这个文件将会被破坏(被覆盖)。 要改变这个默认设置,你需要在USE变量里添加或移去关键字。这是通过在/etc/make.conf里定义USE全局变量来实现的。 全局USE标记适用范围是整个系统,保存在 /etc/portage/make.conf 文件中。 比如,如果使用GNOME而不想使用KDE,就希望所有软件都要默认支持GNOME,KDE的支持就不要装,那么写上 USE=“gnome -kde"。前面加 - 表示移除。 当前可用的全局USE标记列表可以在网上或者本机的/usr/portage/profiles/use.desc文件里找到。

局部USE标记

局部USE标记只被单个包用来做该包特有的决定,保存在 /etc/portage/package.use 中。 比如,某个软件需要安装帮助文档,加上doc。 当前可用的局部USE标记列表可以在网上或本机的/usr/portage/profiles/use.local.desc 文件里找到。

临时USE标记

仅仅把USE变量声明成一个环境变量设定临时USE。比如,在安装 xxx 的时候不要装 jj 就声明: USE = "-jj" emerge xxx

USE标记优先级

USE标记这么多地方可以定义,有的加有的减,听谁的,需要有优先级来判断。USE优先级顺序如下(由低到高):

make.defaults(这个文件不要去修改)里面的USE默认设定 < 用户在/etc/make.conf里面的USE设定 < 用户在/etc/portage/package.use里面的USE设定 < 作为环境变量的USE设定

USE标记颜色

emerge命令显示时,不同颜色USE标记的意义:

1
2
3
4
*红色* 代表这次emerge用到的USE标记
*黄色* 表示从上次更新后该标记被增加、删除或者Masked
*蓝色* 前面带-表示这次emerge屏蔽掉的USE标记
*绿色* 的是你本次编译添加的新USE标记,或者去掉的USE标记。

包特有的USE标记

查看特定包可用USE标记

1
emerge -pv xxx

系统上应用新的USE标记

如果你已经修改了你的USE标记,而且你想用新USE标记更新你的系统,可以使用emerge 的 --newuse

1
emerge --update --deep --newuse world  (重新构建你的系统)

参考: http://en.gentoo-wiki.com/wiki/Portage http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1 http://www.gentoo.org/dyn/use-index.xml