LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1144|回复: 10

关于USE的想法,不知对不对

[复制链接]
发表于 2006-4-24 10:15:05 | 显示全部楼层 |阅读模式
我觉得,几乎所有的USE都可以不要。以下是我USE:

  1. # emerge info
  2. Portage 2.0.51.22-r3 (default-linux/x86/2006.0, gcc-3.3.6, glibc-2.3.5-r2, 2.6.13-gentoo-r5 i686)
  3. =================================================================
  4. System uname: 2.6.13-gentoo-r5 i686 AMD Athlon(tm) XP 2500+
  5. Gentoo Base System version 1.6.13
  6. ccache version 2.3 [enabled]
  7. dev-lang/python:     2.3.5, 2.4.2
  8. sys-apps/sandbox:    1.2.11
  9. sys-devel/autoconf:  2.13, 2.59-r6
  10. sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
  11. sys-devel/binutils:  2.16.1
  12. sys-devel/libtool:   1.5.20
  13. virtual/os-headers:  2.6.11-r2
  14. ACCEPT_KEYWORDS="x86"
  15. AUTOCLEAN="yes"
  16. CBUILD="i686-pc-linux-gnu"
  17. CFLAGS="-march=athlon-xp -pipe -O2"
  18. CHOST="i686-pc-linux-gnu"
  19. CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"
  20. CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
  21. CXXFLAGS="-march=athlon-xp -pipe -O2"
  22. DISTDIR="/usr/portage/distfiles"
  23. FEATURES="autoconfig ccache distlocks sandbox sfperms strict"
  24. GENTOO_MIRRORS="http://gentoo.139pay.com http://ftp.gentoo.or.kr"
  25. LANG="zh_CN.gbk"
  26. MAKEOPTS="-j2"
  27. PKGDIR="/usr/portage/packages"
  28. PORTAGE_TMPDIR="/var/tmp"
  29. PORTDIR="/usr/portage"
  30. PORTDIR_OVERLAY="/usr/local/portage"
  31. SYNC="rsync://gentoo.139pay.com/gentoo-portage"
  32. USE="x86 X alsa apache2 apm arts audiofile avi bash-completion berkdb bitmap-fonts bzip2 cli crypt cups dri eds emboss encode esd exif expat fam foomaticdb fortran gd gdbm gif glut gnome gpm gstreamer gtk gtk2 idn imlib ipv6 isdnlog java jpeg junit kde lcms libg++ libwww mad mikmod mng motif mp3 mpeg mysql ncurses nls nptl ogg opengl oss pam pcre pdflib perl png pppd python qt quicktime readline recode reflection sdl session spell spl ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts udev usb vorbis xml xml2 xmms xorg xv zlib userland_GNU kernel_linux elibc_glibc"
  33. Unset:  ASFLAGS, CTARGET, INSTALL_MASK, LC_ALL, LDFLAGS, LINGUAS
复制代码


我觉得可以在make.conf中把这些USE全部减掉,即USE里不是有X么,那么在make.conf里写USE="-X,-alsa,-apache2。。。。。。"
有这想法是因为反复看了
[HTML]http://www.gentoo.org/dyn/use-index.xml[/HTML]
比如说对X的解释:

  1. X [color="Red"]Adds support [/color]for X11  
复制代码


我是这样理解的,一些软件有字符界面,也有X界面,如果USE里没有X,那么这个软件的X界面的支持就不会被编译进来,这就是adds support的含义,也就是说这个软件只能在字符界面运行,当然,前提是emerge这个软件时候用默认的USE。如果需要让他在X下运行,那么就:

  1. USE="X" emerge abc
复制代码



  1. bzip2 Use the bzlib compression library  
复制代码

就不是加入某种支持了,而是是否使用这种bzip2的压缩库了,如果USE中没有这个的话,就不能创建和解压缩这种文件了,相应的软件也很可能无法emerge了
这样的好处是,最低限度的裁减gentoo的尺寸,有些软件如links,我不会在X下用它,那么安装这个软件时USE里无需X。

当然有些USE应该是必须要的,比如说x86,这就需要一个一个的对比了。

摘要:[color="Red"]几乎所有描述中有“support”字眼的USE和其他的部分USE都可以不要

不知我这想法对不对
 楼主| 发表于 2006-4-24 10:16:53 | 显示全部楼层
准备upgrade系统了,在upgrade之前想调整一下我的USE,所以先来问问。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-24 10:19:22 | 显示全部楼层
我把USE变量分为两种,一种是显然可以不要的,比如说3dfx,因为我没这显卡,所以不需要。
另外一种是隐式可以不要的,就是我上面说的那些,看起来需要,但我觉得不需要,包括X,gnome(即使我要装的窗口管理系统是gnome)等等。
之所以有这样的想法是基于这种观点:一个软件必然有一个首要功能,另外还有一些附加功能,而无论怎么设置USE,首要功能必然会安装,而附加功能取决于USE的设置。我们使用软件的时候绝大部分都只用它的首要功能,很少用到附加功能,因此可以不把这些附加功能编译进来。如果真要用到那功能,可以临时增加USE,然后重新emerge这个软件。

比如说mysql这个USE选项,如果我的USE里没有mysql,并不说明我安装不了mysql,我无法使用mysql了,而是指其他的软件,没有对mysql的支持了。即使USE里没有mysql,我照样可以安装mysql,照样使用它的绝大部分功能(数据库启动,停止,连接,插入修改删除查询等)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-24 11:04:57 | 显示全部楼层
我在make.conf中准备如下设置USE;

  1. USE="-X -apache2 -arts -audiofile -berkdb -crypt -cups -eds -emboss -encode -esd -exif -expat -fam -foomaticdb -fortran -gd -gdbm -gif -gnome -gpm -gstreamer -gtk -imlib -ipv6 -isdnlog -java -jpeg -junit -kde -lcms -libg++ -libwww -mad -mikmod -mng -motif -mp3 -mpeg -mysql -ncurses -ogg -oss -pam -pcre -pdf -perl -png -pppd -python -qt -xml2 -xmms -xv -zlib"
复制代码


这样emerge info后就是:

  1. USE="x86 alsa apm avi bash-completion bitmap-fonts bzip2 cli dri glut gtk2 idn nls nptl opengl pdflib quicktime readline recode reflection sdl session spell spl ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts udev usb vorbis xml xorg userland_GNU kernel_linux elibc_glibc"
复制代码


有问题否?
回复 支持 反对

使用道具 举报

发表于 2006-4-24 11:24:08 | 显示全部楼层
这确实是个让人头大的问题。有些USE flag不放,又怕出什么问题。象scim,编译qt/kde时我没放(我那时是看着gentoo英文网站上的手册装的),还没看到scim,结果装scim后又不得不重新编译qt/kde。

现在我的USE flag里有一堆有的没的,反正硬盘大,CPU也比较快(AMD 64x2 3800),就放这些,包大一点无所谓,编译时间长一点也没关系……
回复 支持 反对

使用道具 举报

发表于 2006-4-24 15:17:42 | 显示全部楼层
USE变量是完全根据你自己的需要来设置,每个人的需要都是不一样的。

例如我的USE设置是:USE="gtk -gnome -qt -kde dvd alsa cdr acpi mmx sse sse2 -doc -ipv6 cjk unicode tetex bitmap-fonts truetype-fonts type1-fonts mozdevelop nsplugin real win32codecs curl gd iconv imap mysql pcre"

其中,acpi mmx sse sse2是我的CPU支持的,所以我希望编译出来的软件也利用我的CPU的这些能力。
cjk unicode是我希望的中文支持。
bitmap-fonts truetype-fonts type1-fonts是我希望安装的字体。
mozdevelop是我希望firefox能运行javascript debuger。
nsplugin是我希望realplay等安装firefox插件。
real win32codecs是为了让mplayer能支持所有的视频格式。
curl gd iconv imap mysql pcre是我的php必需用到的支持。
......

也就是说,USE变量的设置应完全按照自己的需要来定。但不管怎样,就算什么支持都不需要,至少也应把/proc/cpuinfo中flags的一些信息设置到USE变量中,让编译出来的软件充分利用CPU的能力。
回复 支持 反对

使用道具 举报

发表于 2006-4-25 09:17:33 | 显示全部楼层
我觉得还是看需要,如果希望Mplayer/Xine能播放进可能多的媒体文件,最好还是修改一下USE。
回复 支持 反对

使用道具 举报

发表于 2006-4-25 10:15:28 | 显示全部楼层
顺便讨教一下安装某个软件,使他不计入world的命令。
我只是增加了mysql这个USE参数,却要我生计时编译koffice这个庞然大物................
回复 支持 反对

使用道具 举报

发表于 2006-4-25 19:30:33 | 显示全部楼层
楼主可以使用这样:USE="-*,xxx,xxx",先屏蔽所有选项,再逐个添加,我曾经跟一个网友提出这样的建议,他回复是有些地方不对劲,具体没有深究,如果你有时间试试,写一份报告,说说经验,我的系统还用其他用,不敢也没时间去做这个实验.
回复 支持 反对

使用道具 举报

发表于 2006-4-25 22:23:22 | 显示全部楼层
Gentoo好麻烦啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表