百度空间 | 百度首页 
 
查看文章
 
安装Gentoo(二)
2008年06月09日 星期一 22:12
经过上一篇安装Gentoo(一)的介绍一个基本的Gentoo系统已经搭建完成,下面完善之。

安装软件很多选项相对固定,贴出我的/etc/make.conf作参考:
出于稳定考虑,CFLAGSCXXFLAGS选择最安全最保守的选项,如果你对硬件足够熟并且喜欢冒险,其它优化选项不妨试试,详细见man gcc。MAKEOPTS表示CPU数目+1,在分布式编译(distcc)时需要修改它。GENTOO_MIRRORSSYNC我都选择台湾,大陆没有境象(反正官网没有)。输入设备和显卡根据你的电脑选择,USE选择最基本的,以后再根据需要添加,AUTOCLEAN自动清理/var下编译中生成的临时文件,FEATURES添加ccache,下次编译同一个软件可以节省时间,CCACHE_DIR指定cache目录,CCACHE_SIZE默认2G,parallel-fetch在编译的时候在后台继续下载后面的软件包,使下载和编译并行化。

一、X-Windows
安装X之前需要先设置好VIDEO_CARDSINPUT_DEVICES,可以通过emerge -pv xorg-server看这两个变量支持的参数,我的显卡是Intel X3100,故VIDEO_CARDS=“i810”,笔记本输入设备就键盘、鼠标和触摸板,故INPUT_DEVICES=”keyboard mouse synaptics“,然后安装xorg-server,我按照自己习惯设置成USE=”dri nptl xorg sdl“,安装完后emerge xorg-x11 && env-update && source /etc/profile

开始配置/etc/X11/xorg.conf,可以通过Xorg -configure自动创建xorg.conf,当Xorg检测完硬件,如果某个地方检测失败,会在屏幕输出,然后就手工编辑,如果没错,可以输入X -config /root/xorg.conf.new
测试一下,如果一切顺利,你会看到一个简单的黑白模式,检查鼠标和分辨率,然后Ctrl-Alt-Backspace退出;Xorg还提供了一个半自动工具xorgconfig,它询问有关系统的各种信息,根据输入信息创建创建xorg.conf,拷贝新创建的xorg.conf.new到/etc/X11目录,命名为xorg.conf。现在可以使用startx(或者X)启动x-server,正常会看到一个奇丑无比的窗口管理器twm。关于xorg.conf里面的参数,可参看man xorg.conf(嗷嗷长),我是简单从Debian下面的拷过来的(lazy boy)

二、Xfce和slim
Xfce的安装和使用在
Xfce初体验已经提过,Gentoo下也是一样简单,emerge xfce4直接安装桌面,默认会把xfce提供的小工具也装上,我会把portage提供的所有xfce小工具都装上,xfce-notes比较常用,记录个小东西什么的,然后env-update && soure /etc/profile更新一下环境;最后把hald启动并设置启动自动加载/etc/init.d/hald start && rc-update add hald default,这样输入startx就可看到漂亮的桌面。

Gnome使用gdm作为图形登陆管理器,Xfce追求的是小巧快速,安装轻量级登陆管理器slimemerge slim后,修改/etc/conf.d/xdm中的DISPLAYMANAGER=“slim”,xdm将slim作为默认登陆管理器,修改/etc/rc.conf中的XSESSION=”Xfce4“,这样在slim中输入用户名和密码自动加载Xfce会话,最后设置slim为系统启动时自动加载,rc-update add xdm default,重启就看到简洁的界面了,slim默认主题不太好看,下载主题包Slim Themes,放到/usr/share/slim/themes/default/下即可:


三、简化开机过程
修改/etc/conf.d/rc中变量RC_PARALLEL_STARTUP="yes",这样可以使init进程并行启动服务;在/boot/grub/grub.conf中kernel中添加quiet选项阻止内核显示状态信息;关于Debian/Ubuntu关闭不需要的服务(Window下80%服务都可以关闭),Gentoo可以跳过去,因为从一开始装系统,我们添加的服务都是我们确实需要的,当然了,如果后来发现一些服务鸡肋,rc-update del掉就干净了。

四、中文字体(“美化”?-_-``)和输入法
网上一堆这方面的文章,非要跟Window一较高下,这些都是成套东西,按部就班,没什么值得深究,可往往这是国内论坛所津津乐道的。

安装必要工具cairo fontconfig libXft freetype,然后是开源字体arphicfonts wqy-bitmapfont corefonts ttf-bitstream-vera,这些字体是我最喜欢的,尤其是文泉驿,创建/etc/fonts/local.conf为如下:

<?xml version="1.0"?>
<fontconfig>
        <alias>
                <family>serif</family>
                <prefer>
                        <family>Bitstream Vera Serif</family>
                        <family>DejaVu Serif</family>
                        <family>AR PL ShanHeiSun Uni</family>
                        <family>WenQuanYi Bitmap Song</family>
                        <family>AR PL ZenKai Uni</family>
                </prefer>
        </alias>
        <alias>
                <family>sans-serif</family>
                <prefer>
                        <family>Bitstream Vera Sans</family>
                        <family>DejaVu Sans</family>
                        <family>AR PL ShanHeiSun Uni</family>
                        <family>WenQuanYi Bitmap Song</family>
                        <family>AR PL ZenKai Uni</family>
                </prefer>
        </alias>
        <alias>
                <family>monospace</family>
                <prefer>
                        <family>Bitstream Vera Sans Mono</family>
                        <family>DejaVu Sans Mono</family>
                        <family>AR PL ShanHeiSun Uni</family>
                        <family>WenQuanYi Bitmap Song</family>
                        <family>AR PL ZenKai Uni</family>
                </prefer>
        </alias>
    <match target="font" >
            <edit name="rgba" mode="assign">
            <const>none</const>
        </edit>
        <edit mode="assign" name="antialias" >
            <bool>true</bool>
        </edit>
        <edit mode="assign" name="autohint" >
            <bool>false</bool>
        </edit>
        <edit name="hinting">
            <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign" >
            <const>hintmedium</const>
        </edit>
    </match>
    <match target="font" >
                <test name="family" compare="contains" >
                        <string>Song</string>
                        <string>Sun</string>
                        <string>Kai</string>
                        <string>Ming</string>
                </test>
        <test name="weight" compare="less_eq">
            <int>100</int>
        </test>
                <test compare="more_eq" target="pattern" name="weight" >
                        <int>180</int>
                </test>
                <edit mode="assign" name="embolden" >
                        <bool>true</bool>
                </edit>
        </match>
        <match target="font" >
                <test name="family" compare="contains" >
                        <string>Song</string>
                        <string>Sun</string>
                        <string>Kai</string>
                        <string>Ming</string>
                </test>
                <edit name="globaladvance">
                        <bool>false</bool>
                </edit>
                <edit name="spacing">
                        <int>0</int>
                </edit>
                <edit name="hinting">
                        <bool>true</bool>
                </edit>
                <edit name="autohint">
                        <bool>false</bool>
                </edit>
                <edit name="antialias" mode="assign">
                        <bool>true</bool>
                </edit>
                <test name="pixelsize" compare="less_eq">
                        <int>18</int>
                </test>
                <edit name="antialias" mode="assign" >
                        <bool>false</bool>
                </edit>
        </match>
</fontconfig>

在Xfce设置管理器中设置“用户界面”字体为文鼎PL新宋,设置“窗口管理器”标题字体为Verdana,Firefox选文泉驿,Terminal选Bitstream Vera Sans Mono,再配合Xfce反锯齿,效果看图:

接着装输入法fcitx,添加USE=“truetype”,emerge fcitx后,配置文件为~/.fcitx/config如下:

显示字体(中)=WenQuan Yi Bitmap Song
显示字体(英)=WenQuan Yi Bitmap Song
显示字体大小=16
主窗口字体大小=14
字体区域=zh_CN.gb2312
主窗口隐藏模式=1
是否自动隐藏输入条=1
中英文快速切换键=L_SHIFT
上一页=,
下一页=.
使用拼音=1
使用双拼=0
使用区位=0
使用码表=0
提示词库中的词组=1

里面还有很多项,根据自己需要修改。如果config文件打开后是乱码(记得不要修改),应该是自己locale编码问题,我的/etc/locale.gen如下:

zh_CN.UTF-8 UTF-8
en_US.UTF-8 UTF-8
zh_CN.GB2312 GB2312
zh_CN.GBK GBK

输入iconv -f gbk -t utf8 config转换成UTF8,然后修改后再还原成gbk。最后设置fcitx自启动,在/etc/X11/Sessions/Xfce添加:

/usr/bin/fcitx
startxfce4

/etc/profile最后添加:

export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
export LC_CTYPE="zh_CN.UTF-8"

这里
LC_CTYPE与使用的locale要设置一致,通过输入locale确定系统使用的LC_CTYPE。

五、colorful man-db instead of black-and-white man

如果看过
what is your 10 common linux commands,应该知道我经常阅读手册(年纪大,记性不好),通常我都会先查找,然后根据分类阅读,但是默认man不好使(没建索引),用基于berkeley db的man-db取代man绝对是明智之举,为了幸福请把man干掉吧,unmerge man,系统提示man是系统核心软件,不吊,继续emerge man-db,如果你使用和我一样的keyword=x86,man-db是被mask的(可能因为没有完全测试吧,但稳定性应该还行,我在Debian下一直用它),解决方式很简单,修改/etc/make.conf,添加ACCEPT_KEYWORDS="~x86",这样就允许emerge非稳定版本的软件了,但我推荐还是在/etc/portage/pachage.keywords中添加sys-apps/man-db

这样一方面,管理很方便,不用改来改去make.conf,直接在/etc/portage/package.keywords添加就是,并且以后升级也不会出现downgrade或冲突问题,另一方面,也作为一种备忘,到底系统使用了哪些不稳定的软件?想想如果没有这个,等你emerge N个这样软件的时候,你还能记得man-db是masked软件吗,以及当时如何处理的吗?

安装完man-db,手动建立索引mandb -c,可是在我系统中提示我没有权限?!我可是root,去/var/cache/man瞅瞅,权限是drwxr-xr-x,把/var/cache/man目录权限改成drwxrwxr-x,再mandb -c就没有问题了,原来mandb使用root组权限,诡异!

我在
如何向男人求助提到how to make a colorful man,不过后来发现一种更好的方法,那就是most,most is more stronger than less,呵呵,most类似less但支持彩色,安装完most,配置/etc/most.conf如下(为了让快捷键跟less统一并设置颜色):

% Color settings

color normal lightgray black
color status yellow blue
color underline yellow black
color overstrike brightblue black

% less-like keybindings

unsetkey "^K"
unsetkey "g"
unsetkey "G"
unsetkey ":"

setkey next_file ":n"
setkey find_file ":e"
setkey next_file ":p"
setkey toggle_options ":o"
setkey toggle_case ":c"
setkey delete_file ":d"
setkey exit ":q"

setkey bob "g"
setkey eob "G"
setkey down "e"
setkey down "E"
setkey down "j"
setkey down "^N"
setkey up "y"
setkey up "^Y"
setkey up "k"
setkey up "^P"
setkey up "^K"
setkey page_down "f"
setkey page_down "^F"
setkey page_up "b"
setkey page_up "^B"
setkey other_window "z"
setkey other_window "w"
setkey search_backward "?"
setkey bob "p"
setkey goto_mark "‘"
setkey find_file "E"
setkey edit "v"

然后在.bashrc中添加PAGER和BROWSER如下:
export PAGER=’/usr/bin/most -s’
export BROWSER=’/usr/bin/most -s’
再将/etc/man.conf中的PAGER和BROWSER改成/usr/bin/most -s,最后source ~/.bashrc,看图:

六、bash补全
首先需要在/etc/make.conf加入bash-completion USE标记,让所有软件包尽量可以tab补全,然后重编译所有含有bash-completion标记的软件,安装bash-completion、gentoo-bashcomp和eselect,然后在/etc/bash/bashrc和.bashrc中加入
[[ -f /etc/profile.d/bash-completion ]] && source /etc/profile.d/bash-completion,为了给gentoo相关命令加上tab补全所以装上gentoo-bashcomp,然后输入eselect bashcomp enable gentoo && source ~/.bashrc就可以启用,这样emerge按tab就可以自动补全,甚至是选项(options),刚接触Linux学习使用bash,第一印象--Linux下的用户怎么这么懒啊?!现在用gentoo-bashcomp才发现最懒的当属Gentoo用户,命令不用记,命令选项也不用记,参数更不用记!

由于bash补全的东西很多,需要手动选择哪些需要补全哪些不需要,用eselect的模块bashcomp来管理非常方便,比如eselect bashcomp enable gentoo --global使gentoo补全全局有效,以后所有用户都可以享受补全待遇,例如我使用find查找目录文件,但是忘了到底哪个选项是关于文件类型的了,可以这样:

按完tab键自动会提示所有find的选项,类似emacs的补全,很人性化^_^;还可以通过eselect bashcomp list查看当前哪些已经开启补齐,哪些没有,然后根据自己需要enable或disable

七、ccache && distcc
ccache是一个使用gcc -E 选项和散列技术的编译cache,使用之后的编译速度一般是没使用之前的5~10倍。安装和配置完ccache之后,对某个软件包的第一次编译,并没有起到加速效果,但之后因为编译被缓存起来,情况将大大改观。 执行emerge ccache && ccache-config --install-links $CHOST,这样就在/usr/lib/ccache/bin下创建了代替通常编译器的文件(其实是指向/usr/bin/ccache的软链接),配置完后输入CCACHE_DIR="/var/tmp/ccache" ccache -s检查缓存使用情况。

distcc是一个分布式编译程序,可以把编译任务分配给同一网络中的不同机器,这些机器的配置不必完全相同。distcc客户端发送所有必须的信息给所有可利用的distcc服务器(运行distccd的机器),这样它们每一个都能为客户端编译一部分源码。安装完distcc后,将distcc添加到/etc/make.conf中的FEATURES变量,设置合适的MAKEOPTS=“-jx”,其中x位运行distccd的主机(包括自己)数加1,运行distcc-config配置distcc主机,比如:distcc-config --set-hosts "192.168.1.2 192.168.1.3 192.168.1.4",设置3台主机(其中192.168.1.2是本机),最后启动distccd服务并设置开机自动启动:/etc/init.d/distccd start && rc-update add distccd default

八、stardict
安装stardict,下载词典http://stardict.sourceforge.net/Dictionaries_zh_CN.php,通常这样就OK了,一个快速小巧的“金山词霸”已经满足我们的需要了,不过官网还提供了很多有意思的词典,比如WikiPedia,去http://stardict.sourceforge.net/Dictionaries_WikiPedia.php下载。

WordNet,去http://stardict.sourceforge.net/Dictionaries_special.php下载,WordNet是Princeton大学的心理学家、语言学家和计算机工程师联合设计的一种基于认知语言学的英语词典,它不仅把单词以字母顺序排列,而且按照单词的意义组成一个“单词的网络”,stardict对WordNet的词条信息实现动态树状图形渲染,查询单词时,会在窗口主区域显示单词树状结构,在单词树中,粗体显示的即为所查询单词,树中带有颜色的结点包含了单词的某一种释义,将鼠标移至结点上就可以在提示窗口中显示释义。另外结点的颜色也可以表示着单词的某种词性,譬如蓝色结点表示的是名词词性,橙色结点表示副词词性。单词树的叶结点层表示的是一些意义相关的单词,将鼠标移到这些单词上,左键双击之,即可将所点击的单词作为 WordNet 当前查询词条,并生成与之相关的单词树,看图吧:

九、eix && esearch
快速搜索想要的程序,通常emerge -s|-S或者qsearch,但是太慢,使用esearch,它对portage建立索引来加速查找,但安装esearch后需要先eupdatedb建立索引,一般在 emerge --sync 之后才 eupdatedb 一下,这需要很长时间:(。还有一个更好的查找软件包的工具eix,使用update-eix来建立cache,比esearch建立索引要快速多了,经常使用的-s(匹配包名)和-S(匹配包的描述信息),eix默认使用正则表达式匹配搜索,可以改成通配符匹配等等:

十、firefox && w3m && lftp && gftp && svn
mozilla-firefox-bin会比mozilla-firefox快一下,不过chmsee还依赖于Gecko,故安装完整版;w3m是文本终端浏览器,对中文支持最好,命令行上网必备;gftp我一直不太喜欢,不过ftp现在很少用,lftp感觉是最完美的,相当年在实验室导数据全靠它呢;svn主要用来下载一些源码,比如google-code。下面是w3m的贴图:


十一、多媒体
听音乐参考
终端音乐播放器moc
看电影选择mplayer+realplayer+win32codecs

抓图片参考scrot安装日记
查看图片选择mirage


十二、doc、chm、pdf
轻量级的abiword作文字处理器再好不过

chm还是我钟爱的chmsee

pdf继续acroread,上网下中文插件


十三、任务管理
参考高效管理任务 && 避开老板监视

十四、IM
聊天==聊天,别想太多,也不必鄙视什么,公司为了赢利考虑很多方案,而这些可能不是我们所希望的。我一直pidgin,集合所有IM于一身,呵呵,贴图吧:

十四、自动挂载
自动挂载U盘等
可移动设备和CD-ROM需要hal+dbus支持,默认我在/etc/make.conf全都支持了也已经添加到daemon进程,系统默认对于普通用户没有自动挂载权限的,不过可以修改/etc/dbus-1/system.d/hal.conf,找到下面这块将0改成用户名david就行了:

      <!-- You can change this to a more suitable user, or make per-group -->
<policy user="0">


PS:ps aux | awk -F ' *' 'BEGIN{sum=0}{sum+=$6}END{printf("%d\n",sum)}',linux的基本原则是没有资源被浪费,因此核心会使用尽可能多的RAM,但才占100M+ ^}^


类别:Gentoo | 添加到搜藏 | 浏览() | 评论 (1)
 
最近读者:
 
网友评论:
1
2008年06月28日 星期六 09:13 | 回复
看来是玩linux的
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu