欢迎来到福编程网,本站提供各种互联网专业知识!

Gentoo全局USE标记简介

发布时间:2016-08-29 作者:佚名 来源:互联网
USE标志是Gentoo组织编译选项的一种方式,是Gentoo区别于其它发行版的特征之一,在用portage来安装一个新的软件的时候,您可以专门为它指定USE标志

非原创,只是汇总一下网上比较杂乱的资料,希望对刚接触的朋友有帮助

USE是Gentoo的特色

gentoo下的软件安装由源代码编译,所以可以自由选择哪些功能需要哪别不需要,很简单的一个例子就是比如你使用的是gnome,那么在安装某个软件时就无需浪费精力去支持kde.

关于USE,官方文档的解释如下

USE标记

内容:

USE标记是什么? 使用USE标记 包特有的USE标记

2.a. USE标记是什么?

USE标记的指导思想

你在安装gentoo(或者是其他发行版,甚至于其他特定操作系统)的时候,你要依据你工作的环境做出选择。服务器跟工作站的组织结构不同,游戏机跟3D工作站也会不一样。

不单只是选择你想要安装的包时如此,选择某一个包需要的特性时同样如此。如果你不需要OpenGL,为什么还要颇费周折的安装OpenGL并在其他包中加 入对OpenGL的支持?如果你不想用KDE,而且软件包没有KDE也能完美运行,为什么还要在编译这些包的时候加入KDE支持?

为了帮用户判断什么需要安装或激活,什么不需要;我们希望用户能用简单的方式设定他们自己的环境。这能促使用户判断他真正需要的东西,并让Portage(我们的包管理系统)做出有用的决定的过程变得简单。

USE标记的设定

我们来具体看看USE标记。每一个标记都是代表对某特定概念的支持和依赖关系信息的关键字。如果你设定了某个USE标记,Portage会明白你选择了支持这个关键字(所代表的概念)。当然这同时也改变了这个包的依赖关系信息。

让我们看一个示例:关键字kde。如果你的USE变量里面没有这个关键字,所有具有可选KDE支持的包在编译时都不会编译KDE支持。所有具有可选KDE依赖关系的包在安装时都不会(做为一个依赖关系而)安装KDE库。如果你设定了kde关键字,这些包在安装时都会编译KDE支持,而且KDE库也会(作为一个依赖关系而)被安装。

通过正确设定关键字,你会得到一个根据你的需要而定制的系统。

有哪些USE标记?

USE标记分两类:全局和局部USE标记。

全局USE标记适用范围是整个系统,可以被许多包使用。这就是大多数人眼里的USE标记。 局部USE标记只被单个包用来做该包特有的决定。

当前可用的全局USE标记列表可以在网上或者本机的/usr/portage/profiles/use.desc文件里找到。

当前可用的局部USE标记列表可以在本机的/usr/portage/profiles/use.local.desc 文件里找到。

2.b. 使用USE标记

声明永久USE标记

希望您已经意识到了USE标记的重要性,现在我们就让你了解怎样声明USE标记。

就像前面提到的,所有USE标记都声明在USE变量里面。为了让用户能方便地查找和选择USE标记,我们提供了一份默认的USE设定。这些设定是我们觉得Gentoo用户通常都要用到的USE标记的集合。这个默认设置在make.defaults文件──你的profile的一部分──里声明。

你的系统使用的profile是符号链接/etc/make.profile所指向的目录。每个profile叠加于某个更大的profile之上,最终的结果是这些profile的并集。初始profile是base profile(/usr/portage/profiles/base)。

让我们看看2004.3 profile的默认设定:

代码 2.1: 2004.3 profile的累积make.defaults USE标记

(这个例子是base,default-linux,default-linux/x86和 default-linux/x86/2004.3的设定的并集)USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77 foomaticdb gdbm gif gpm gtk imlib jpeg kde gnome libg++ libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib"就像你看到的那样,这个变量已经包括了非常多的关键字。不要通过修改make.defaults文件里的USE变量来满足你的需要:在升级Portage的时候,这个文件将会被破坏(被覆盖)。

要改变这个默认设置,你需要在USE变量里添加或移去关键字。这是通过在/etc/make.conf里定义USE全局变量来实现的。在这个变量里,添加你需要的额外的USE标记,或者移去你不需要的USE标记。后者可通过在标记前面加个负号(“-”)前缀来实现。

例如,要移除对KDE和QT的支持,并添加对ldap的支持,可以在/etc/make.conf 里声明USE如下:

代码 2.2: /etc/make.conf里关于USE设置的一个例子

USE="-kde -qt3 -qt4 ldap"为单个包声明USE标记

如果你想要为一个(或者几个)程序而不是系统范围内声明一个USE标记,你需要创建/etc/portage目录(如果没有这个目录的话),然后编辑/etc/portage/package.use文件。通常这是一个文件,不过它也可以是一个目录;请看man portage以获得更多信息。下面的例子假设package.use是一个文件。

比如说,如果你不想全局的启用berkdb支持,但是你想把它应用到mysql,你可以这样:

代码 2.3: /etc/portage/package.use示例

dev-db/mysql berkdb你当然也可以直接为某一个程序禁用USE标记。比如说,如果你不想要PHP的java支持:

代码 2.4: /etc/portage/package.use第二个示例

dev-php/php -java声明临时USE标记

有时,你只想暂时改变一个USE设置。你可以仅仅把USE变量声明成一个环境变量,而不必两次修改/etc/make.conf。但是要记住,当你重新emerge或者升级这个程序的时候(不管是单独地还是作为系统升级的一部分),你的修改都会丢失!

下面的例子我们将在安装seamonkey的时候暂时性地从USE设置中移去java标记。

代码 2.5: 将USE作为一个环境变量使用

# USE="-java" emerge seamonkey优先级

当然,我们需要一个明确的先后次序来决定何处的USE设定优先级较高。你肯定不希望在定义了USE="-java"之后,因为某个有更高优先级的设定而导致java仍然被使用。USE设定的优先级顺序是(由低到高):

make.defaults里面的USE默认设定 用户在/etc/make.conf里面的USE设定 用户在/etc/portage/package.use里面的USE设定 作为环境变量的USE设定

运行emerge --info可以看到Portage识别的最终的USE设定。它会列出Portage使用的所有相关变量(包括USE变量)。

代码 2.6: 运行emerge --info

# emerge --info

--------------------------------------------------------------------------------------------------

为了更有效的使用USE

我是先在/etc/make.conf下设定总的use

再去/etc/portage/packge.use中针对个别软件设置use

我的设置如下

ceyes@gentoo:~% cat /etc/make.conf 11-11-04 20:39

# These settings were set by the catalyst build script that automatically

# built this stage.

# Please consult /usr/share/portage/config/make.conf.example for a more

# detailed example.

CFLAGS="-O2 -march=native -pipe"

CXXFLAGS="${CFLAGS}"

# WARNING: Changing your CHOST is not something that should be done lightly.

# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.

CHOST="i686-pc-linux-gnu"

LINGUAS="en"

GENTOO_MIRRORS="http://mirrors.163.com/gentoo/"

SYNC="rsync://mirrors.163.com/gentoo-portage"

MAKEOPTS="-j3"

PORTDIR_OVERLAY=/usr/local/portage

USE=" -* alsa apm crypt dbus encode exif ftp gnome grub gtk gtk2 gtkhtml icu iconv imagemagick imlib imlib2 jpeg lame mad mozilla mp3 mp4 mpeg mplayer ncurses nptl oggvorbis opengl pdf pam png psyco python rdesktop readline samba sasl sdl spell tcpd truetype unicode usb X xml xml2 xscreensaver zlib "

ceyes@gentoo:~% cat /etc/portage/package.use 11-11-04 21:05

pp-admin/conky tvim-syntax ruetype audacious -ipv6

net-www/mozilla -java moznocompose moznoirc moznomail

media-gfx/gimp mng svg

app-editors/gvim perl

media-sound/xmms -opengl

media-video/mplayer divx4linux xvid xv theora

net-im/gaim -crypt

=sys-devel/gcc-3.3* java gcj

app-shells/zsh maildir pcre

x11-wm/fvwm stroke

media-video/avidemux xvid

media-libs/libsamplerate sndfile

www-client/chromium -gnome vi zh_CN

app-office/dia -gnome -python

关于每个USE的意义,可以单独去查询

为了方便,参考了一论坛网友的总结

3dfx

添加Xorg下的3dfx显卡支持 (参见: voodoo3)

3dnow

添加AMD处理器的3dnow!多媒体指令集支持

X

添加X11支持

Xaw3d

添加Xaw3d(X athena widgets in 3d)支持。Xaw3d是MIT Athena Widget set for X Windows的增强版本,可以在几乎不修改源代码的情况下为应用程序添加3D视觉效果。

a52

添加用于DVD的ATSC A/52解码支持

aac

添加MPEG-4 AAC音频支持

aalib

添加media-libs/aalib支持 (ASCII-Graphics库) (用于将图形转换成ASCII字符的”ascii艺术”)

accessibility

添加辅助功能支持(方便残疾人使用计算机的技术,比如’at-spi’库)

acl

添加文件访问控制列表支持[参考文档:文件访问控制列表]

acpi

添加ACPI(高级配置与电源接口)支持[参考文档:高级电源管理常见问题解答]

adabas

添加Adabas数据库引擎支持

adns

添加adns DNS客户端库(一个用于C/C++的异步DNS解析库)支持[主页:http://www.gnu.org/software/adns/]

afs

添加OpenAFS支持 (一个分布式文件系统)[参考文档:OpenAFS帮助聚集分布式数据]

aim

添加AIM即时通信协议支持 (AOL.com的即时消息工具)

alsa

添加media-libs/alsa-lib支持 (高级Linux音效架构)[参考文档:ALSA研究笔记]

altivec

添加G4/G5/ppc970处理器优化支持

ao

在音频回放(sound playback)时使用libao音频库(一个跨平台音频库,对于在多个平台上输出音频很有用)

apache2

当一个程序包同时支持Apache1和Apache2时,选择支持Apache2

apm

添加APM电源管理支持[参考文档:高级电源管理常见问题解答]

arts

添加aRts支持 (给KDE提供音频支持,主要是给KDE库提供必要的库文件)

atm

添加ATM(异步传输模式)协议支持

audiofile

添加libaudiofile(音频文件库)支持

avahi

添加avahi/Zeroconf支持。avahi是利用mDNS协议的,实现本地网内服务发现的软件,如寻找局域网内的在线用户、打印机等。

aqua

添加Aqua/Carbon GUI支持。Aqua是苹果Mac OS X的图形界面,Carbon是其编程接口。

bash-completion

添加bash-completiton支持 (改进了bash的命令补全功能)

bcmath

添加libbcmath支持 (bcmath是一个任意精度数学函数库)

berkdb

添加sys-libs/db支持 (MySQL的Berkeley DB表类型支持)

bidi

添加双向语言支持 (支持由右而左的语言,如:阿拉伯语和希伯来语)

bindist

启用或禁止可选的预编译包(GRP)支持 (比如由于发行许可导致的)

birdstep

添加Birdstep数据库服务器支持

blas

添加virtual/blas库支持 (BLAS是著名的基本线性代数子程序包,被许多实际应用问题和几乎所有有关矩阵计算的软件所采用,可应用于科学和工程设计的矩阵计算问题,也可应用于生产基本线性代数计算的高水平程序库,是数学应用软件的基本核心库。)

bluetooth

添加蓝牙支持

bootstrap

!!仅供内部使用,请不要设置此参数!!在原始系统的引导过程中使用[make stage2]

boundschecking

添加Haj Ten Brugge边界检查补丁,这将禁用固有的PIE+SSP补丁 (边界检查用于防止缓冲区溢出漏洞攻击)

branding

启用Gentoo特定的标识,比如添加此标记后可以获得一个漂亮的”Gentoo牌”Gnome启动画面,取代默认的Gnome启动画面。

bsf

添加Apache BSF(Bean Scripting Framework) (dev-java/bsf)支持。BSF支持在Java应用程序内调用脚步语言(Script),并且支持脚步语言直接访问Java对象和方法。它提供了完整的API实现通过Java访问脚本语言的引擎。

build

!!仅供内部使用,请不要设置此参数!! 用于建立引导过程前半部分的镜像构建[make stage1]

bzip2

使用bzlib压缩库

cairo

添加cairo图形库支持。Cairo是一个支持多种输出设备的跨平台2D图形库。[参考文档:用cairo实现跨平台图形]

calendar

添加日历支持(不是用mcal!)

canna

添加Canna支持 (Canna是一个将日文假名转换到日文汉字的转换引擎)

caps

使用Linux capabilities库(POSIX.1e capabilities)来控制权限[参考文档:Linux安全模块简介;利用capability特征加强Linux系统安全]

cdb

添加qmail作者编写的CDB数据库引擎支持

cdda

添加Compact Disk Digital Audio(数字式激光唱盘,简称CD-DA)支持。CD-DA又称”Audio CD”,直径为12cm,容量为74分钟,以恒线速度(CLV)播放,也就是用于激光唱机和diskman的音乐CD。

cddb

添加CDDB支持。CDDB即Internet Compact Disc Database,是一组分布于互联网的各个镜像上的大型CD特征数据库,不过它现在已被商业团体安加了一些版权限制,因此存在后来的freedb.org和MusiaBrainz一类开放替代方案。

cdinstall

直接从CD复制文件而不要求用户来操作,主要用于游戏。

cdparanoia

添加cdparanoia支持。CDParanoia可以直接从CD光盘上抓取音轨,并转换成其它格式的声音文件。另外它还可以能够读取已经被破坏的光盘内容。libparanoia 是KDE和GNOME默认的抓音轨库。

cdr

添加CD刻录硬件支持

cgi

添加CGI脚本支持

chasen

添加chasen支持 (一个日语分词标注系统)

cjk

添加多字节字符语言支持 (中日韩)

clamav

添加Clam防病毒软件支持(通常是额外添加一个插件)

coreaudio

在Mac OS X系统上编译CoreAudio驱动程序

cracklib

使用cracklib来进行密码强度检查

crypt

添加加密支持 (使用基于私钥的mcrypt或基于公钥的gpg)

cscope

添加cscope接口支持 (比如用于vim和emacs)(cscope具有开发支持功能,极大地方便了对源代码库的浏览和查询,vim中内置的ctags支持提供了类似的功能,但cscope的功能更为强大)

css

允许抓取加密DVD上的数据

ctype

启用ctype函数支持 (ANSI C标准库中的字符类型头文件)

cups

添加CUPS(通用UNIX打印系统)支持

curl

添加客户端URL传输库支持 (curl是一个可以使用URL语法传输文件的库,支持HTTP/HTTPS/FTP/FTPS/DICT/TELNET/LDAP/FILE和GOPHER等协议)

curlwrappers

在传输流中使用curl包装

custom-cflags

使用自定义的CFLAGS编译(unsupported)

custom-cxxflags

使用自定义的CXXFLAGS编译(unsupported)

cvs

启用CVS(Concurrent Versions System)集成

cxx

编译C++支持(绑定,额外的库,代码生成, …)

db2

添加IBM DB2数据库支持

dbase

添加dbase文件格式(Dbase数据库文件.DBF的文件格式)支持

dbm

添加DBM数据库支持 (DBM是柏克莱大学发展的文件/文本型数据库)

dbmaker

添加dbmaker数据库支持

dbus

为需要dbus的程序添加支持 (gpsd,gnomemeeting …)(dbus是一个消息总线系统,用于在应用程序中发送消息,多用于桌面环境)[主页:http://www.freedesktop.org/Software/dbus]

dbx

添加数据库抽象层支持 (目的是提供给用户一种访问数据库的通用方式)

debug

让configure和makefiles使用调试模式编译

dedicated

添加专属游戏服务器支持(一些程序包并不同时支持服务端和客户端)

dga

添加Xorg下的DGA(直接图形存取)支持

directfb

添加DirectFB支持。[参考文档:DirectFB的学习]

djvu

添加DjVu支持。一个类似于PDF的文档格式,特别适合于扫描文档。

doc

添加额外的文档资料(API/java文档等)

dri

支持DRI硬件3D加速。直接渲染架构(DRI)是一个允许在安全和高效的方式下直接访问显卡硬件的架构。它包括对X服务器的改动,以及对几个客户端库和内核的改动。DRI的第一个重要应用是创建快速的OpenGL实现。

dts

启用DTS声音解码器支持。

dv

添加一种被许多便携式摄象机使用的编解码器支持

dvb

添加DVB支持 (DVB: 数字视频广播)

dvd

添加DVD支持

dvdr

添加DVD刻录硬件支持 (比如:xcdroast)

eds

添加Evolution-Data-Server支持。我们可以简单地把Evolution看作是Linux下的OutLook,一个易用的电子邮件客户端。但它的定位是Linux/Unix下的个人/工作组信息管理整套解决方案,包括电子邮件、日历、会议计划、联系人管理与任务列表等。

emacs

添加GNU Emacs支持

emboss

添加EMBOSS支持 (EMBOSS:欧洲分子生物学开放软件包,能很好的处理分子生物学研究中的各种问题)

empress

添加Empress数据库支持

empress-bcs

添加Empress数据库本地存取支持

encode

添加视频和音频文件的多媒体编码器支持

enscript

添加enscript支持。Enscript可将ASCII文件转换为PostScript,HTML,RTF,ANSI格式。

esd

添加media-sound/esound支持 (一种KDE的音效合成器)

esoob

添加Easysoft OOD数据库支持

evo

添加mail-client/evolution支持 (Evolution类似微软的Outlook,将电子邮件、日历、联系人管理和任务集成到一个易用的应用程序中)

examples

安装示例源代码

exif

添加读取JPEG和TIFF图片EXIF头信息的支持 (EXIF: 可交换图像文件,实际是一种JPEG文件,是专门为数码相机的照片设定的,可以记录数字照片的属性信息和拍摄数据)

expat

允许使用dev-libs/expat (EXPAT是一个XML解析器,可用于PHP,Perl,Python等)

fam

添加FAM支持 (FAM: 文件变更监视模块,能实时地观察文件系统的变化情况,并做出及时的适当的反应)[参考文档:Linux下的实时数据镜像]

fastcgi

添加FastCGI接口支持 (CGI: 公共网关接口)

fbcon

在内核中为控制台添加framebuffer支持 (FrameBuffer: 帧缓冲,是把显存抽象后的一种设备,可以通过这个设备的读写直接对显存进行操作)

ffmpeg

添加ffmpeg多媒体解码器支持

fftw

使用FFTW库进行傅立叶变换计算 (FFTW: 快速傅立叶变换,用于一维和多维实数或复数的离散傅里叶变换,有些多媒体音效需要fftw)

firebird

添加Firebird数据库支持

firefox

基于Firefox编译,而不是基于Seamonkey/Mozilla编译

flac

添加FLAC音频编码支持 (FLAC是一个类似APE的无损编码方案,但容错性能要优于APE)

flatfile

为平面文件(flat file)添加dbm支持[参考文档:平面文件]

fltk

为FLTK库提供支持。FLTK(Fast Light Toolkit)是一个基于OpenGL的跨平台C++图形化用户界面工具集。

fontconfig

允许通过media-libs/fontconfig工具配置和定制字体

foomaticdb

支持foomatic打印机驱动程序数据库

fortran

添加fortran(f77)支持

freetds

允许使用TDS协议连接MSSQL/Sybase数据库

freewnn

添加FreeWnn支持 (FreeWnn是一个将日文假名转换到日文汉字的转换引擎)

frontbase

添加frontbase数据库支持

ftp

添加FTP(文件传输协议)支持

gcj

添加GCJ支持 (GCC中的JAVA编译器)

gd

添加media-libs/gd支持 (gd库用于动态生成图片)

gd-external

使用外部的gd版本取代内置的版本(可能有些危险)

gdbm

添加sys-libs/gdbm支持 (GNU数据库函数库)

geoip

添加GeoIP支持 (GeoIP一个识别你Web网站访问者的所在国家的工具)

ggi

添加media-libs/libggi支持 (非X窗口的视频api/drivers)

gif

添加GIF图片格式支持

gimp

为GIMP额外编译一个插件

ginac

添加sci-mathematics/ginac(符号数学)支持(GiNaC是一个C++数学计算函数库,主要用于编写科学和工程上使用的计算器)

glut

使用GLUT库编译一个OpenGL插件

gmp

添加dev-libs/gmp支持 (GUN MP库允许你使用任意长度的整数)

gnome

添加GNOME支持

gnome-keyring

支持通过gnome-keyring保存密码

gnuplot

添加gnuplot支持。Gnuplot是一个数学绘图工具,它可以将数据和函数转换为专业的可视化图表。

gnustep

添加GNUstep开发环境支持 (GNUstep是一个免费/面向对象/图形化/跨平台的开发环境)

gnutls

添加net-libs/gnutls支持(GnuTLS是一款提供TLS 1.0 和 SSL 3.0 加密支持的库)

gphoto2

添加数码相机支持

gpm

添加sys-libs/gpm支持 (GPM是通用鼠标协议,为控制台下提供鼠标支持,提供了通用的剪切和粘贴支持)

gps

添加全球定位系统(GPS)支持

graphviz

添加Graphviz库支持。Graphviz是一个绘图工具集,通过绘制直观的图表,往往能够清晰地表现各种结构之间的关系,从而使复杂的问题简单化。

gzip

添加gzip压缩支持

gsl

使用GSL科学计算函数库进行计算。GNU科学计算函数库GSL(GNU Scientific Library)是一个强大的C/C++数值计算函数库。

gsm

支持GSM有损语音压缩编码/解码器。GSM俗称”全球通”,是一种起源于欧洲的第二代移动通信技术标准。

gstreamer

添加media-libs/gstreamer支持 (GStreamer是GNOME下构建流媒体应用的编程框架,目标是简化音/视频应用程序的开发)

gtk

添加x11-libs/gtk+支持 (GTK: GIMP工具包,GIMP: 通用图像处理程序)(GTK+是应用程序图形界面编程工具)

gtkhtml

添加gnome-extra/gtkhtml支持 (GtkHTML是一个HTML分析/编辑库)

guile

添加dev-util/guile支持 (Scheme语言解释程序)(Guile是GNU工程的扩展语言库,是一个Scheme语言的实现版本,把这个库链接到你的应用中就为你的应用增加了一种扩展语言)

hal

添加硬件抽象层(HAL)支持 (硬件抽象层完全把系统软件和硬件部分隔离开来,这样就使得系统的设备驱动程序与硬件设备无关,从而大大提高了系统的可移植性)

handbook

允许为KDE4生成参考手册

hardened

默认为工具链(gcc/glibc/binutils)启用安全增强特性

hddtemp

启用硬盘驱动器温度监控(app-admin/hddtemp)

hdf5

启用HDF5(Hierarchical Data Format v5)支持。HDF5是一个层次型的数据存储格式,包含了数据定义和支持接口,支持并行I/O。HDF5比较适合用于那些无法用一般的格式存放的复杂科学数据。目前很多遥感存储采用HDF5格式来实现。

ibm

添加IBM ppc64体系结构支持

iconv

添加iconv字符集转换函数库支持

icq

添加ICQ通信协议支持

icu

添加ICU(Internationalization Components for Unicode)支持(使用dev-libs/icu)。是一个C/C++的Unicode库,可以根据各地的习俗约定格式化数字、日期、时间和货币,以及对这些格式中的文本进行语法分析。

idn

添加IDN(Internationalized Domain Names,国际化域名)支持

ieee1394

添加IEEE1394火线支持(数码相机,数码摄像机等)

imagemagick

添加Imagemagick支持(ImageMagick类似于GD但效果比GD好)

imap

添加IMAP支持 (IMAP: 网际网络信息存取协议,是一种比POP3更好的协议,可取代POP3协议)

imlib

添加media-libs/imlib支持 (imlib: 一个图片加载和显示库,用于Gnome图形用户环境)

inifile

为.ini文件添加dbm数据库支持

innodb

为mySQL添加innodb表类型支持 (innoDB表类型可以支持事务处理,且性能优秀)

interbase

添加Interbase数据库支持

iodbc

添加iODBC驱动程序库支持 (ODBC: 开放数据库连接)

ipod

允许访问iPod设备

ipv6

添加IPv6支持

jabber

添加jabber即时通信协议支持 (jabber是一款即时消息软件)

jack

添加JACK音频连接工具包 (低延迟、高性能的中间过程音频连接,以及音频设备共享,适合于专业音频应用程序)

java

添加Java支持

java5

使用Java 1.5编译JAVA支持

java6

使用Java 1.6编译JAVA支持

javascript

添加javascript支持

jbig

为tiff,Hylafax,ImageMagick等添加jbig-kit支持。jbig-kit是一种高压缩率且不失真的影像压缩函数库,适用於传真或扫描影像。

jingle

允许jabber使用语音进行通信。Jabber是一种开放式架构的即时通讯系统,可以和AOL、ICQ以及YAHOO通兼容。

joystick

在所有软件包里添加joysticks(游戏操纵杆)支持

jpeg

添加JPEG图片格式支持

jpeg2k

添加JPEG 2000图片格式支持

kontact

添加KDE个人信息管理支持(kde-base/kdepim*)

kde

添加kde-base/kde支持 (KDE桌面环境)

kdeenablefinal

[试验]使用enable-final标志建立kde的ebuilds,可以加速编译,但是要占用大量内存。官方反对使用此标记。

kdehiddenvisibility

编译KDE时默认隐藏符号(使用GCC -fvisibility=hidden 命令行选项),必须使用GCC4.1以上版本。

kdeprefix

在KDE的安装目录中添加SLOT前缀(/usr/kde/$SLOT),否则将直接安装到FHS兼容的位置(/usr)

kerberos

添加kerberos支持(Kerberos是一个基于对称密码的认证协议,该协议能够提供强安全的认证服务)[参考文档:Kerberos认证协议]

kolab

添加Kolab Groupware Server支持。Kolab是提供EMAIL、日历、任务计划、通知联系等功能的集成服务程序。

krb4

添加可选的kerberos4兼容支持 (Kerberos 4协议实现中存在多个加密漏洞,目前为版本5)

ladspa

添加LADSPA(Linux Audio Developer’s Simple Plugin API)支持

lame

使用LAME库作为MP3编码器。LAME据说是目前最好的MP3编码器,是编码高品质MP3的最佳选择。

lapack

添加virtual/lapack数值计算库支持(lapack是一个用于线性代数计算的子程序包)

lash

添加LASH支持。LASH是一个用于Linux音频应用程序的会话管理系统,它允许你保存和恢复由多个相互关联的应用程序组成的音频会话状态。

latex

添加LaTeX支持。LaTeX是一种基于TeX的排版系统,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能。

lcms

添加lcms支持。lcms库可以提供色彩管理功能。

ldap

添加LDAP(轻量级目录访问协议)支持。

libcaca

添加彩色ASCII艺术图形支持

libedit

使用libedit库代替Readline库。libedit是一个非GPL的与GNU Readline库兼容的替代品。

libgda

添加GDA(GNOME Data Access)支持。GDA提供了一种访问多种不同类型的数据源的统一架构,既包括传统的关系型数据库也包括任何可以想象的邮件服务器数据以及LDAP数据等。

libnotify

添加桌面通知机制(desktop notification)支持。

libsamplerate

添加libsamplerate支持。libsamplerate(Secret Rabbit Code)是一个音频重采样库,比如将44.1kHz的CD音频转换为48kHz的DVD音频。

libwww

添加libwww库(通用WEB应用程序编程接口)支持

lirc

添加lirc支持 (lirc: Linux红外端口控制工具)

livecd

!!仅供内部使用,请不要设置此参数!! 在livecd构建中使用

lm_sensors

添加lm_sensors支持 (硬件监测软件,提供电压,温度,风扇转速等的实时监测)

lua

添加Lua脚本支持。Lua是一种小型的脚本语言,设计目的是为了嵌入其他应用程序中,从而为应用程序提供灵活的扩展和定制功能。

lzo

添加lzo压缩支持。lzo的压缩率并不高,但它是最快速的压缩和解压的算法,主要用于实时性较高的场合。

m17n-lib

添加m17n-lib支持 (“m17n”是”多语言化”的缩写。m17n-lib是一个C语言的多语言文本处理库,可让应用程序实现多语言支持)

mad

添加mad(一个高质量的mp3解码库/命令行前端)支持

maildir

添加maildir风格(~/.maildir)的邮件缓冲池支持

mailwrapper

添加mailwrapper支持,允许使用其他的MTA(如postfix)取代sendmail

matroska

添加matroska多媒体容器格式(.mkv .mka .mks)支持。Matroska是一种新的多媒体封装格式,它可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到同一个文件当中。

matrox

添加Matrox MGA系列显卡支持

mbox

添加mbox风格(/var/spool/mail)的邮件缓冲池支持

mcve

添加MCVE信用卡支付系统支持

memlimit

对于支持内存限制的程序启用内存限制支持

mhash

添加mhash库支持。mhash是一种线程安全的哈希算法库。

migemo

为日语添加migemo支持

mikmod

添加libmikmod支持来播放音轨格式的音频文件

milter

为sendmail添加milter邮件过滤器支持

mime

添加MIME支持。MIME是描述消息内容类型的因特网标准,MIME消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。

minimal

安装一个最小化的build(比如禁止插件/字体/大多数驱动程序/非关键的特性)

mmap

添加mmap(自内存映射)支持[参考文档:内存映射mmap]

mmx

为Pentium MMX和Athlon等级的处理器添加最佳化优化支持

mng

添加libmng库以支持MNG格式的图片

modplug

添加libmodplug支持。Libmodplug是一款用于mod类音乐格式(.mod .s3m .it .xm 等后缀)播放和转换的函数库。

mono

添加Mono支持。Mono是一个Linux上的.NET平台。

motif

添加motif工具集支持。[参考文档:GNOME与KDE的战争]

mozilla

添加Mozilla web浏览器支持

mp3

添加读取mp3文件支持

mp4

添加读取mp4文件支持。mp4并不是一种编码格式,它实际上只是一种容器

mpeg

添加libmpeg3库支持(libmpeg3是一个处理mpeg编码的库)

mpi

添加MPI(Message Passing Interface)支持 (MPI: 消息传递接口,是一套可用于Linux高性能计算集群系统上的数据传送模型,目标是创建一套和程序语言、计算机种类无关的标准,用以撰写收送讯息的程序码)

mplayer

添加mplayer播放/编码支持

msn

添加MSN Messenger通信协议支持

msql

添加MSQL数据库支持

mssql

添加Microsoft SQL Server数据库支持

mtp

添加MTP(Media Transfer Protocol,媒体传输协议)支持。[参考文档:媒体传输协议]

mule

为XEmacs添加多语言支持

multilib

让64bit系统可以同时编译32bit和64bit二进制文件

musepack

添加musepack音频编码支持。musepack据说是比Lame MP3更优秀的有损压缩方案,是目前最适合用于音乐欣赏的有损编码。

musicbrainz

使用MusicBrainz(musicbrainz.org)社区服务查找音频文件的元数据

mysql

添加MySQL数据库支持

mysqli

添加mySQLi库支持(改进版本的MySQL库,用于MySQL4.1以上版本)

nas

添加网络音频(network audio)支持

ncurses

添加ncurses支持添加ncurses控制台显示库支持 (ncurses是curses的改良版本,是一个能提供快捷键、彩色界面、提供鼠标支持的基于文本终端窗口功能的动态库)

neXt

添加neXt工具集支持(??什么玩意??与NeXT软件公司推出的NEXTSTEP操作系统有关吗??)

netboot

添加网络启动支持

netcdf

启用NetCDF数据格式支持 (NetCDF是大气研究大学协会(UCAR)开发的。由于NetCDF是一种灵活的,自描述的,并能表达大量数组数据的格式,因此NetCDF在地球、海洋、大气科学中得到了广泛的应用)

networkmanager

添加net-misc/networkmanager支持

nis

启用NIS/YP服务支持 (NIS/YP: 网络信息服务)

nls

使用GNU gettext启用本地化语言支持 (GNU gettext是一个本地化/国际化函数库)

nntp

添加网络新闻传输协议NNTP(Network News Transfer Protocol)支持。NNTP是一种服务器-客户机流模式(端口119)实现新闻文章的发行、查询、修复及记录等过程的协议。新闻文章只需要存储在一台服务器主机上,而位于其它网络主机上的订户通过建立到新闻主机的流连接阅读到新闻文章。NNTP为新闻组的广泛应用建立了技术基矗

nocd

安装在没有CD-ROM的情况下运行程序所需要的所有文件

nocxx

禁止C++支持(除非你自己知道自己在作什么,否则不要启用该选项)

nptl

添加Native POSIX Thread库支持 (Linux2.6以上的内核POSIX线程的新实现,大大提高了性能并增加了可缩放性)[参考文档:Linux线程库性能测试与分析;应用2.6内核超线程模式]

nsplugin

为支持Netscape插件架构的浏览器编译插件,目前几乎所有浏览器都支持。

ocaml

添加Ocaml语言支持。Ocaml是Caml编程语言的主要实现。

ocamlopt

添加ocamlopt(ocaml本机代码编译器)支持。目的是生成运行速度更快的程序(警告:你必须在全局范围内明确的disable/enable它)

oci8

添加Oracle8支持

oci8-instant-client

使用dev-db/oracle-instantclient-basic作为Oracle服务提供者,而不是安装完整的Oracle服务器。

odbc

添加ODBC(开放数据库互连)支持

offensive

??使用程序包中可能存在的攻击的(讨厌的)项目??

ofx

添加OFX(开放式金融交换)数据文件的导入/导出支持

ogg

添加Ogg多媒体容器格式支持(通常被Vorbis/Theora/flac使用)

old-linux

添加老版本的linux-2.4支持

openal

添加OpenAL(Open Audio Library)支持。OpenAL是跨平台音效API,用于多通道三维位置音效的特效表现,其API风格模仿自OpenGL,也主要用于游戏。

openexr

添加高动态范围/高精度色彩的OpenEXR图形文件格式支持[http://www.openexr.com/]。OpenEXR主要用于全球第一大特效制作公司ILM的电影(变形金刚,侏罗纪公园,加勒比海盗,星球大战…)中。

opengl

添加OpenGL(3D图形API)支持。

openmp

添加OpenMP支持。OpenMP是一个编译器指令和库函数的集合,主要是为共享式存储计算机上的并行程序设计使用的。要求 >=sys-devel/gcc-4.2 并且使用USE=”openmp”编译。

oracle

添加oracle数据库支持

osc

添加OSC(Open Sound Control)协议支持。OSC协议可以用于计算机、声音合成器、各种多媒体设备之间通过网络进行通信,让电子乐器之间也能利用网络的便利。

oscar

添加Oscar(AIM/ICQ)即时通信协议支持

oss

添加OSS支持(Open Sound System起源于Linux kernel的声卡驱动程序,已是昨日黄花,目前让位给ALSA了)

pam

添加PAM支持。切勿武断的使用它!(PAM: 可插入认证模块,是功能十分强大的系统认证模组系统,所有新式的Linux系统皆使用此认证系统,系统可藉由PAM,扩充认证机制)

pch

启用预编译头文件支持(要求 >=sys-devel/gcc-3.4),这将增大内存和磁盘用量,但可以加快编译过程。

pcmcia

添加笔记本上的PCMCIA设备支持

pcntl

Adds support for process creation functions

pcre

添加PCRE(Perl兼容的正则表达式)支持

pda

添加便携式设备支持(PDA??)

pdf

添加PDF文档格式支持

perl

添加Perl语言支持

php

添加php支持

plasma

编译可选的plasma widgets支持(依赖于kde-base/libplasma)

plotutils

添加plotutils支持。plotutils是一个2D矢量图函数库。

png

添加libpng库支持(PNG图片)

policykit

使用sys-auth/policykit获取特权

portaudio

添加跨平台的portaudio音频编程接口支持

posix

添加POSIX兼容函数库支持

postgres

添加PostgreSQL数据库支持

ppds

自动生成打印驱动程序文件

prelude

启用Prelude入侵检测系统支持

prefix

Defines if a Gentoo Prefix offset installation is used

profile

在编译时添加profile支持,主要用于应用程序性能分析和调试。

pulseaudio

添加PulseAudio音频服务支持。[参考文档:Linux声音系统和PulseAudio简介]

python

添加Python语言支持

qdbm

添加qdbm(Quick Database Manager)库支持(QDBM是一个管理数据库的函数库,它参照GDBM为了下述三点而被开发:更高的处理速度,更小的数据库文件大小,和更简单的API)

qmail-spp

添加qmail SMTP插件支持

qt3

添加Qt GUI/Application Toolkit 3.x支持(Qt 3.x是一个多平台的C++图形用户界面应用程序框架,也是KDE 3.x桌面环境的基础)

qt4

添加Qt GUI/Application Toolkit 4.x支持(Qt 4.x是一个多平台的C++图形用户界面应用程序框架,也是KDE 4.x桌面环境的基础)

quicktime

添加OpenQuickTime支持

radius

添加RADIUS认证支持(主要用于对远程拨入的用户进行授权和认证,主要针对的远程登录类型有:LDAP、SLIP、PAP、PPP、telnet和rlogin等)

raw

添加raw image格式支持

rdesktop

添加远程桌面协议支持,主要用于连接到Windows服务器。

readline

使用libreadline库支持 (readline是一个对命令行进行编辑的库,使用命令行的的人一般都需要, 除非你不使用Esc/Alt/Ctrl/Shift键,否则请加上这个参数)

recode

添加GNU recode库支持 (GNU recode库可以在不同的字符集和编码间相互转换)

rss

添加RSS feeds支持

ruby

添加Ruby语言支持

samba

添加SAMBA支持,可以实现与Windows文件共享以及打印共享

sapdb

添加SAP DB数据库支持(也就是MySQL公司的MaxDB)

sasl

添加SASL支持 (SASL: 简单认证和安全层)[参考文档:基于cyrus-sasl的认证]

savedconfig

使用它来恢复保存在/etc/portage/savedconfig ${CATEGORY}/${PN}中的配置信息。你必须确保USE标记包含了正确的依赖关系。

scanner

添加硬件扫描支持(比如做为kdegraphics程序的前端)

sdl

添加Simple Direct Layer支持 (多媒体库)

seamonkey

添加Seamonkey浏览器支持

selinux

提供SELinux支持 !!仅功内部使用,只能由selinux的profile文件设置,其他情况下请勿使用!![参考文档:Linux安全模块简介;SELinux是什么]

semantic-desktop

跨KDE支持语义搜索和信息检索

session

添加持久会话支持(??啥意思??)

sharedext

为php添加创建共享扩展的支持

sharedmem

添加使用共享内存段支持

shorten

添加shorten音频压缩器支持

simplexml

添加SimpleXML支持(SimpleXML是一个处理XML的扩展模块,基于GNOME项目的libxml2库)

skey

启用S/Key认证支持。S/Key是种一次性密码系统。

slang

添加slang文本显示库支持 (很像ncurses)

slp

添加服务定位协议(Service Locator Protocol)支持

smartcard

添加智能卡支持

smp

启用多核CPU以及多CPU支持

sndfile

添加libsndfile支持 (libsndfile是一个通过标准接口来读写声音文件的C库)

snmp

添加SNMP协议支持 (SNMP: 简单网络管理协议)

soap

添加SOAP协议支持 (SOAP: 简单对象访问协议)

sockets

添加tcp/ip套接字支持

socks5

添加socks5袋裡服务器支持

solid

添加Solid数据库引擎支持

source

将源代码打成zip包并安装??

sox

添加音频格式转换软件SoX(Sound eXchange)支持

speex

添加speex音频编码支持。Speex的特点是针对语音压缩的效果非常好,音质不次于iLBC,在丢包和窄带(5-30k)时音质依然非常出色。

spell

添加拼写检查/字典支持

spl

添加PHP标准程序库(Standard PHP Library)支持

sqlite

添加SQLite数据库支持 (一个轻量级数据库)

sqlite3

添加SQLite3数据库支持 (一个轻量级数据库)

sse

为PentiumIII级别以上的cpu启用SSE指令集优化支持

sse2

为兼容SSE2指令集的CPU启用SSE2指令集优化支持

ssl

添加SSL连接支持 (SSL: 安全套接字层)

startup-notification

开启应用程序启动事件反馈机制

static

!!在系统引导过程中切勿使用该参数!! 因为这将导致二进制可执行文件使用静态连接而不是动态连接

subversion

开启subversion(一种版本控制系统)支持

suid

允许具有潜在安全风险的程序具有setuid位

svg

添加SVG支持 (SVG: 可缩放矢量图,那些经常浏览多媒体网站的用户可能需要)

svga

添加SVGAlib库支持。SvgaLib是Linux Console下的VGA驱动函数库。

sybase

添加Sybase数据库支持

sybase-ct

添加Sybase-CT数据库支持

symlink

强制内核ebuilds自动更新/usr/src/linux符号连接

syslog

添加syslog支持

sysvipc

添加与System V兼容的进程间通信支持

szip

使用szip压缩库。Szip是一种无损压缩,对大文本压缩效果较好。

taglib

使用taglib来扩展JSP标记。

tcl

添加Tcl/Tk支持(Tcl/Tk 是一种简明、高效、可移植性好的编程语言)

tcpd

添加TCP包装支持

test

Portage-2.1.2之后此标记已经失去意义了,不要使用它。

theora

添加开源免费的Theora视频编码支持。Theora属于Ogg项目的一部分,主要用于高清影片,具有超越H.264的画质,下一代的Theora编码器将命名为Thusnelda

threads

在内核中添加线程库支持,通常是pthreads(Posix线程库)[参考文档:Linux线程库性能测试与分析;应用2.6内核超线程模式;Linux线程初探]

tidy

添加HTML Tidy支持 (Tidy: 一个将HTML转换为XHTML的开源工具)

tiff

添加tiff图片格式支持

timidity

添加Timidity++(MIDI音序器)支持

tk

添加Tk GUI toolkit支持

tokenizer

添加PHP文件分析器(file parser)支持

truetype

添加FreeType/FreeType2字体支持

uclibc

使用uclibc进行编译和连接 (uClibc是一个针对嵌入式系统替代Glibc的C库,需要的内存比Glibc少)

unicode

添加Unicode支持

usb

添加USB支持

v4l

添加video4linux支持 (内核视频采集接口API)

v4l2

添加video4linux2支持 (新一代内核视频采集接口API)

vanilla

不添加改变默认行为的额外补叮!!切勿在全局范围内使用此标记!!

vcd

添加VCD支持

vhosts

添加为虚拟主机环境安装基于Web的应用程序的支持??

videos

安装一些游戏中可选的视频文件

vim-syntax

加入相关的vim语法脚本

vnc

添加VNC(remote desktop viewer)支持。VNC是一类使用RFB协议的跨平台屏幕分享及远程控制软件,比如:RealVNC, TightVNC, UltraVNC 等。

voodoo3

添加3Dfx的Voodoo3支持,不然将默认支持Voodoo4/5

vorbis

添加OggVorbis音频解码器支持。[参考文档:OggVorbis]

wavpack

添加wavpack音频压缩工具支持。[参考文档:WavPack]

wddx

添加WDDX支持 (WDDX是一种基于XML的Web分布式数据交换技术)

wifi

添加无线网络支持

win32codecs

使用win32编码器动态链接库来支持avi/wmv等文件的解码

wmf

添加wmf矢量图形格式支持。

wxwidgets

添加wxWidgets/wxGTK图形用户界面开发工具支持

wxwindows

反对使用此标记,即将被废除

x264

使用x264来支持h.264编码。h.264是一种高清视频编码标准,而x264是采用这种标准的一种具体实现。

xattr

添加文件系统的扩展属性支持(存储在文件系统内的元数据)。[参考文档:扩展文件属性]

xcb

添加XCB(X protocol C-language Binding)支持。XCB是Xlib的一个替代品,具有精简、延迟隐藏(latency hiding)、直接访问协议、可扩展性、可支持多线程执行的优点。

xcomposite

添加Xorg的复合扩展(composite extension)支持。

xemacs

添加XEmacs支持

xface

添加xface支持 (通过在Email加入X-Face信头来显示一个小头像)

xft

编译XFT字体渲染引擎(x11-libs/libXft)支持。XFT给X应用程序提供了访问FreeType字体光栅化引擎和X渲染扩展的接口,也担负了配置和定制字体的功能。

xine

添加XINE电影播放库支持 (XINE是一个可播放众多流媒体文件的函数库和播放器)

xinerama

添加xinerama X11扩展支持,以支持多个显示器

xinetd

添加xinetd(超级Internet服务器)支持。[参考文档:网络服务和Xinetd]

xml

添加XML文件支持

xmlrpc

添加xml-rpc库支持

xosd

使用X On Screen Display库发送显示信号??

xpm

添加XPM图形格式支持

xprint

添加xprint支持,Xprint是一种高级打印系统。

xscreensaver

添加XScreenSaver扩展支持。XScreenSaver是一个执行在X Window系统下的屏幕保护程序,还能锁定屏幕。

xsl

添加XSL库(v1)支持(XSL文档也是XML文档中一种)

xulrunner

使用xulrunner(而不是firefox/seamonkey)来编译本地浏览器集成。

xv

添加可选的Xvideo扩展支持 (Xvideo是一个X窗口下的视频回放API,可以直接把图像显示在可拖拉的对象里)

xvid

添加xvid.org的开源mpeg-4编码支持

yahoo

添加Yahoo Messenger即时通信协议支持

yaz

添加用于Z39.50协议支持(YAZ)。Z39.50协议是一种在客户/服务器环境下计算机之间进行信息检索的通讯协议。

zeroconf

添加DNS-SD(DNS Service Discovery)支持。DNS-SD是一个浏览网络上的DNS服务的方法。

zlib

添加zlib(解)压缩支持

zsh-completion

添加zsh-completion支持(改进了zsh的自动补全功能)

相关推荐