<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>人生若只如初見 &#187; 优化</title>
	<atom:link href="http://www.78wd.com/tag/%e4%bc%98%e5%8c%96/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.78wd.com</link>
	<description>i PanGel,and U</description>
	<lastBuildDate>Fri, 27 Aug 2010 13:29:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux的配置与优化</title>
		<link>http://www.78wd.com/linux%e7%9a%84%e9%85%8d%e7%bd%ae%e4%b8%8e%e4%bc%98%e5%8c%96/</link>
		<comments>http://www.78wd.com/linux%e7%9a%84%e9%85%8d%e7%bd%ae%e4%b8%8e%e4%bc%98%e5%8c%96/#comments</comments>
		<pubDate>Thu, 13 Oct 2005 13:41:21 +0000</pubDate>
		<dc:creator>pangel</dc:creator>
				<category><![CDATA[About Works]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[优化]]></category>

		<guid isPermaLink="false">http://www.78wd.com/linux%e7%9a%84%e9%85%8d%e7%bd%ae%e4%b8%8e%e4%bc%98%e5%8c%96/</guid>
		<description><![CDATA[Linux作为一个免费的类似UNIX的操作系统，正日益受到人们的重视。本人作为一名Linux爱好者，出于学习，比较了各种不同的Linux发行套件，安装过各种Linux的发行套件，但是每一次安装完成，大... ]]></description>
			<content:encoded><![CDATA[<p>Linux作为一个免费的类似UNIX的操作系统，正日益受到人们的重视。本人作为一名Linux爱好者，出于学习，比较了各种不同的Linux发行套件，安装过各种Linux的发行套件，但是每一次安装完成，大量的配置与优化工作花费笔者许多时间，并且非常容易遗漏一些细节。本文以安装与使用RedHat 6.1为例，参考了/usr/doc/HOWTO/Config-HOWTO文档，结合自己的工作经验，谈一些自己的做法。以下的做法基本上适合各种liunx发行套件。</p>
<p>一、关于硬盘分区<br />
关于安装Linux如何建立硬盘分区、交换分区等问题，已经超出本文范围，但是我的经验是安装Linux时一定要建立单独的分区，用于存储用户的私人数据，同时可以用于备份系统的配置文件（如像域名服务器，Samba的配置文件等），便于以后配置。</p>
<p>二、编辑/etc/inittab文件<br />
大部分Linux的发行套件都建立六个虚拟控制台，实际上三个已经足够，并且可以节省可贵的内存空间。编辑/etc/inittab文件，在下面三行的前面加上#。<br />
4:2345:respawn:/sbin/mingetty tty4<br />
5:2345:respawn:/sbin/mingetty tty5<br />
6:2345:respawn:/sbin/mingetty tty6<br />
然后执行init q，使系统重新读取/etc/inittab文件，关闭tty4、tty5、tty6虚拟控制台。如果不考虑系统的安全，你可以利用第四个虚拟控制台来查看各种系统信息，编辑/etc/syslog.conf文件，在最后一行加入：<br />
*.* /dev/tty4<br />
最后再执行killall -HUP syslog。</p>
<p>三、建立或者编辑/etc/inputrc、/etc/profile、/etc/bashrc文件<br />
虽然最近几年个人计算机的潮流已经从命令行方式转向图形方式，采用鼠标操作，但是shell在Linux中依然有很强的生命力。shell有好几种，主要有bash、ksh、tcsh、zsh、ash， 用得最多的是bash。只要编辑/etc/inputrc文件，设置INPUTRC的环境变量，利用Tab键的命令补全功能，就可以实现类似于MSDOS的DOSKEY的功能。这样对文件与目录的各种操作，也一样方便与快捷。(附/etc/inputrc文件)<br />
__________________________________________________________________<br />
set bell-style none # don&#8217;t beep<br />
set meta-flag on # allow 8-bit input<br />
set convert-meta off # don&#8217;t strip 8-bit characters<br />
set output-meta on # display 8-bit characters correctly<br />
set horizontal-scroll-mode On # scroll long command lines<br />
set show-all-if-ambiguous On # after TAB is pressed</p>
<p>&#8220;\e[1~": beginning-of-line # home<br />
"\e[2~": insert-last-argument # insert<br />
"\e[3~": delete-char # delete<br />
"\e[4~": end-of-line # end<br />
"\e[5~": backward-kill-word # page up<br />
"\e[6~": kill-word # page down</p>
<p># define F7 F8 like msdos doskey<br />
"\e[18~": history-search-forward # F7<br />
"\e[19~": history-search-backward # F8<br />
__________________________________________________________________</p>
<p>编辑/etc/profile文件，在其尾部插入下面内容：<br />
_________________________________________________<br />
# add by zws<br />
# customize less<br />
#LESS='-M-Q-r'<br />
PS1="[\u@\h \w]\\$ &#8221;<br />
INPUTRC=/etc/inputrc<br />
LESS=&#8217;-M-r&#8217; # -r 为了ls | less 支持彩色。<br />
LESSEDIT=&#8221;%E ?lt+%lt. %f&#8221;<br />
LESSOPEN=&#8221;| lesspipe.sh %s&#8221;<br />
LESSCHARSET=latin1<br />
PAGER=less<br />
export LESS LESSEDIT LESSOPEN LESSCHARSET INPUTRC<br />
_________________________________________________</p>
<p>建立/usr/bin/lesspipe.sh文件，内容如下：<br />
__________________________________________________________________________<br />
#!/bin/sh<br />
# This is a preprocessor for &#8216;less&#8217;. It is used when this environment<br />
# variable is set: LESSOPEN=&#8221;|lesspipe.sh %s&#8221;<br />
lesspipe() {<br />
case &#8220;$1&#8243; in<br />
*.tar.bz2) bzip2 -cd $1 $1 2&gt;/dev/null | tar tvvf &#8211; ;;<br />
*.tar) tar tf $1 2&gt;/dev/null ;; # View contents of .tar and .tgz files<br />
*.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2&gt;/dev/null ;;<br />
*.Z|*.z|*.gz) gzip -dc $1 2&gt;/dev/null ;; # View compressed files correctly<br />
*.zip) unzip -l $1 2&gt;/dev/null ;; # View archives<br />
*.arj) unarj l $1 2&gt;/dev/null ;;<br />
*.rpm) rpm -qpil $1 2&gt;/dev/null ;;<br />
*.cpio) cpio &#8211;list -F $1 2&gt;/dev/null ;;<br />
*.bz2) bzip2 -dc $1 2&gt;/dev/null ;; # View compressed files correctly<br />
*.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.l|*.man) FILE=`file -L $1`<br />
FILE=`echo $FILE | cut -d &#8216; &#8216; -f 2`<br />
if [ "$FILE" = "troff" ]; then<br />
groff -s -p -t -e -Tascii -mandoc $1<br />
fi ;;<br />
*) file $1 | grep text &gt; /dev/null ;<br />
if [ $? = 1 ] ; then # it&#8217;s not some kind of text<br />
strings $1<br />
fi ;;<br />
esac<br />
}<br />
lesspipe $1<br />
_________________________________________________________________这样就可以使用less查看以上文件格式的信息与内容。<br />
注意要利用chmod 755 /usr/bin/lesspipe.sh命令将此文件设置为可执行!<br />
/etc/bashrc文件的例子：<br />
____________________________________________<br />
# /etc/bashrc</p>
<p># System wide functions and aliases<br />
# Environment stuff goes in /etc/profile</p>
<p># For some unknown reason bash refuses to inherit<br />
# PS1 in some circumstances that I can&#8217;t figure out.<br />
# Putting PS1 here ensures that it gets loaded every time.<br />
# PS1=&#8221;[\u@\h \w]\\$ &#8221;</p>
<p>eval `dircolors -b`<br />
alias ls=&#8217;ls &#8211;color=yes -F -N&#8217; # ls 支持彩色<br />
alias l=&#8217;ls &#8211;color=yes -l -F -N&#8217; # l<br />
alias cp=&#8217;cp -i&#8217;<br />
alias mv=&#8217;mv -i&#8217;<br />
alias rm=&#8217;rm -i&#8217;<br />
alias df=&#8217;df -h&#8217;<br />
alias ln=&#8217;ln -i&#8217;<br />
lrpm() # list information on an .rpm file<br />
{<br />
if [ $# != 0 ]; then rpm -qilf `which $1` | less; fi<br />
}<br />
lsrpm() # list information on an .rpm file<br />
{<br />
if [ $# != 0 ]; then rpm -qif `which $1` | less; fi<br />
}<br />
set -o noclobber # 避免覆盖与重写文件<br />
____________________________________________</p>
<p>四、编辑/etc/rc.local文件<br />
如果需要定制自己的登录信息，注意要修改/etc/rc.d/rc.local文件，因为每次执行/etc/rc.d/rc.local文件，都需要修改/etc/issue与/etc/issue.net文件，可以注解掉这些命令，编辑定制自己的/etc/issue文件，加快Linux引导过程，并且加入以下内容：<br />
echo &#8220;base=0xd8000000 size=0&#215;800000 type=write-combining&#8221; &gt;&gt; /proc/mtrr<br />
# Enable NumLock<br />
for tty in /dev/tty[1-3]; do<br />
setleds -D +num &lt; $tty<br />
done<br />
说明：关于第一行命令请看/usr/src/linux/Documentation/mtrr.txt文件。</p>
<p>五、定制vim的环境<br />
在Linux环境中，有许多编辑器，主要有emacs、vim、joe等，对于从没有使用过UNIX或者Linux的人，我的建议是最好找几本有关的参考书，先了解这些编辑器的使用方法，这样安装好Linux后，在编辑与查看一些配置文件时，不至于茫然不知所措。特别是vi，一开始难以掌握，最好开始能够得到高手的指点，一旦上手，简直就像驾驶一辆高速奔驰的赛车，初学者可以到ftp://ftp.cs.pdx.edu/pub/elvis或者http://www.vim.org下载相应的版本，它提供支持MSDOS、Windows 98等操作系统的版本，解压后就可以在自己熟悉的环境学习与使用vi。<br />
以下是/usr/share/vim/vimrc的例子：<br />
___________________________________________________________<br />
&#8220;&#8221; (for Chinese)<br />
&#8221; Set file encoding format as &#8216;prc&#8217; for Simplified Chinese<br />
&#8221; Valid values for &#8217;set fe=&#8217; is ansi, japan, korea, prc, taiwan<br />
&#8221; We set fe to prc for default, if you need single-byte editing,<br />
&#8221; just type &#8216;:set fe=ansi&#8217; will do the work.</p>
<p>set fe=prc</p>
<p>&#8220;&#8221; (for Chinese)<br />
&#8220;&#8221; Set ruler on, you must set this to ensure<br />
&#8220;&#8221; the Chinese functionality of gvim<br />
set ru</p>
<p>&#8220;&#8221; For syntax color<br />
if &amp;term==&#8221;xterm&#8221;<br />
set term=rxvt<br />
set t_Co=8<br />
set t_Sb=^[4%dm<br />
set t_Sf=^[3%dm<br />
endif<br />
syntax on</p>
<p>&#8220;&#8221; Set visual bell and disable screen flash<br />
&#8221; :set vb t_vb=</p>
<p>set bs=2</p>
<p>&#8220;&#8221; Toggle on/off highlightsearch<br />
map &lt;F8&gt; :set hls!&lt;bar&gt;set hls?&lt;cr&gt;</p>
<p>&#8220;&#8221; Toggle on/off paste mode<br />
map &lt;F9&gt; :set paste!&lt;bar&gt;set paste?&lt;cr&gt;</p>
<p>&#8220;&#8221; You can toggle the syntax on/off with this command<br />
if has(&#8220;syntax_items&#8221;) | syntax off | else | syntax on | endif<br />
map &lt;F7&gt; :if has(&#8220;syntax_items&#8221;) &lt;Bar&gt; syntax off &lt;Bar&gt; else &lt;Bar&gt; syntax on &lt;Bar&gt; endif &lt;CR&gt;</p>
<p>&#8220;&#8221; Set non-compatible with vi<br />
set nocompatible</p>
<p>&#8220;&#8221; Set backup extension<br />
&#8221; set backup<br />
&#8221; set backupext=.bak</p>
<p>&#8221; add by zws<br />
set autoindent<br />
set ignorecase<br />
set shiftwidth=4<br />
set showmode<br />
set tabstop=4<br />
set nowrap<br />
&#8220;if &amp;t_Co &gt; 1<br />
&#8221; syntax on<br />
&#8220;endif<br />
&#8220;&#8221; Map for parenthesis matching<br />
map \ %<br />
&#8220;&#8221; search English word<br />
map &lt;F3&gt; &lt;Esc&gt;:set keywordprg=/usr/local/bin/cdict&lt;Esc&gt;K&lt;Esc&gt;:set keyword=man&lt;CR&gt;<br />
map &lt;F6&gt; &lt;Esc&gt;:set keywordprg=man&lt;Esc&gt;K<br />
&#8221; backspace<br />
map &lt;BS&gt; X<br />
___________________________________________________________</p>
<p>六、编辑/etc/mtools.conf文件<br />
一般情况下，都是在自己的机器安装Windows 98与Linux两种操作系统，通过安装mtools包，可以不用安装相应的文件系统，允许在MSDOS、Windows 98与Linux的文件系统之间，实现文件的读、写、移动、显示等操作。假设Windows 98安装在/dev/hda1、/dev/hda5分区下，修改/etc/mstools.conf文件，加入以下内容：<br />
drive c: file=&#8221;/dev/hda1&#8243;<br />
drive d: file=&#8221;/dev/hda5&#8243;<br />
这样就可以执行mdir c:等命令。</p>
<p>七、拷贝各种配置文件<br />
根据机器的用途，编辑拷贝相应的配置文件，例如：samba的配置文件/etc/smb.conf，域名服务器的配置文件，DHCP的配置文件/etc/dhcpd.conf等文件，在一般情况下，这些文件一旦配置好，很少发生改动，这样可以节约许多时间，注意原来的配置文件一定要做好备份，如果配置文件发生改动也要做好备份！</p>
<p>八、编译Linux内核<br />
一般各种Linux系统套件安装的内核，都适合大部分的机器，但缺点是大而全，模块中包含有许多自己根本不需要的模块。只有根据自己的要求及机器硬件配置，来配置内核才能达到最优配置。注意在编译内核前，一定要对自己机器有一个全面的了解，这样才能做到心中有数。</p>
<p>以下是编译内核的简要步骤：(以redhat6.1为例说明)<br />
1.进入/usr/src/linux，编辑Makefile文件，修改EXTRAVERSION= -xx，其中xx表示编译的版本号，最好用数字，并且大于原来的数值。<br />
2.根据自己机器的硬件配置，选择相应的选项来配置内核。<br />
#make menuconfig<br />
3.理顺各文件的依存关系，清理以前生成的目标文件及其他文件。<br />
#make clean ; make dep<br />
4.编译内核与安装，并且安装模块。<br />
#make bzImage<br />
#make modules; make modules_install<br />
5.安装内核。<br />
# cp arch/i386/boot/bzImage /boot/vmlinuz-y.y.yy-xx<br />
将内核复制到/boot目录下，其中y.y.yy表示Linux版本号，xx表示编译的版本号。<br />
# cp System.map /boot/System.map-y.y.yy-xx<br />
# cd /boot<br />
# ln -s System.map-y.y.yy-xx System.map<br />
6.编辑lilo的配置文件/etc/lilo.conf(略)。<br />
注意最好保留原来的内核，这样如果新建的内核引导Linux不成功，可以利用旧的内核引导Linux操作系统。<br />
7.测试新内核。<br />
引导完成后，注意检查/lib/modules/y.y.yy-xx目录下，是否建立modules.dep文件。如果文件存在，可以修改/etc/rc.d/rc.sysinit，将有关执行模块依赖的命令的内容注解掉，这样可以加快Linux的启动过程。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.78wd.com/linux%e7%9a%84%e9%85%8d%e7%bd%ae%e4%b8%8e%e4%bc%98%e5%8c%96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)

Served from: www.78wd.com @ 2010-09-07 01:41:23 -->