非原创,只是汇总一下网上比较杂乱的资料,希望对刚接触的朋友有帮助 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的自动补全功能)
|
请发表评论