作者:张文胜
Linux作为一个免费的类似UNIX的操作系统,正日益受到人们的重视。本人作为一名Linux爱好者,出于学习,比较了各种不同的Linux发行套件,安装过各种Linux的发行套件,但是每一次安装完成,大量的配置与优化工作花费笔者许多时间,并且非常容易遗漏一些细节。本文以安装与使用RedHat 6.1为例,参考了/usr/doc/HOWTO/Config-HOWTO文档,结合自己的工作经验,谈一些自己的做法。以下的做法基本上适合各种liunx发行套件。
一、关于硬盘分区
关于安装Linux如何建立硬盘分区、交换分区等问题,已经超出本文范围,但是我的经验是安装Linux时一定要建立单独的分区,用于存储用户的私人数据,同时可以用于备份系统的配置文件(如像域名服务器,Samba的配置文件等),便于以后配置。
二、编辑/etc/inittab文件
大部分Linux的发行套件都建立六个虚拟控制台,实际上三个已经足够,并且可以节省可贵的内存空间。编辑/etc/inittab文件,在下面三行的前面加上#。
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
然后执行init q,使系统重新读取/etc/inittab文件,关闭tty4、tty5、tty6虚拟控制台。如果不考虑系统的安全,你可以利用第四个虚拟控制台来查看各种系统信息,编辑/etc/syslog.conf文件,在最后一行加入:
*.* /dev/tty4
最后再执行killall -HUP syslog。
三、建立或者编辑/etc/inputrc、/etc/profile、/etc/bashrc文件
虽然最近几年个人计算机的潮流已经从命令行方式转向图形方式,采用鼠标操作,但是shell在Linux中依然有很强的生命力。shell有好几种,主要有bash、ksh、tcsh、zsh、ash, 用得最多的是bash。只要编辑/etc/inputrc文件,设置INPUTRC的环境变量,利用Tab键的命令补全功能,就可以实现类似于MSDOS的DOSKEY的功能。这样对文件与目录的各种操作,也一样方便与快捷。(附/etc/inputrc文件)
__________________________________________________________________
set bell-style none # don't beep
set meta-flag on # allow 8-bit input
set convert-meta off # don't strip 8-bit characters
set output-meta on # display 8-bit characters correctly
set horizontal-scroll-mode On # scroll long command lines
set show-all-if-ambiguous On # after TAB is pressed
"\e[1~": beginning-of-line # home
"\e[2~": insert-last-argument # insert
"\e[3~": delete-char # delete
"\e[4~": end-of-line # end
"\e[5~": backward-kill-word # page up
"\e[6~": kill-word # page down
# define F7 F8 like msdos doskey
"\e[18~": history-search-forward # F7
"\e[19~": history-search-backward # F8
__________________________________________________________________
编辑/etc/profile文件,在其尾部插入下面内容:
_________________________________________________
# add by zws
# customize less
#LESS='-M-Q-r'
PS1="[\u@\h \w]\\$ "
INPUTRC=/etc/inputrc
LESS='-M-r' # -r 为了ls | less 支持彩色。
LESSEDIT="%E ?lt+%lt. %f"
LESSOPEN="| lesspipe.sh %s"
LESSCHARSET=latin1
PAGER=less
export LESS LESSEDIT LESSOPEN LESSCHARSET INPUTRC
_________________________________________________
建立/usr/bin/lesspipe.sh文件,内容如下:
__________________________________________________________________________
#!/bin/sh
# This is a preprocessor for 'less'. It is used when this environment
# variable is set: LESSOPEN="|lesspipe.sh %s"
lesspipe() {
case "$1" in
*.tar.bz2) bzip2 -cd $1 $1 2/dev/null | tar tvvf - ;;
*.tar) tar tf $1 2/dev/null ;; # View contents of .tar and .tgz files
*.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2/dev/null ;;
*.Z|*.z|*.gz) gzip -dc $1 2/dev/null ;; # View compressed files correctly
*.zip) unzip -l $1 2/dev/null ;; # View archives
*.arj) unarj l $1 2/dev/null ;;
*.rpm) rpm -qpil $1 2/dev/null ;;
*.cpio) cpio --list -F $1 2/dev/null ;;
*.bz2) bzip2 -dc $1 2/dev/null ;; # View compressed files correctly
*.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.l|*.man) FILE=`file -L $1`
FILE=`echo $FILE | cut -d ' ' -f 2`
if [ "$FILE" = "troff" ]; then
groff -s -p -t -e -Tascii -mandoc $1
fi ;;
*) file $1 | grep text /dev/null ;
if [ $? = 1 ] ; then # it's not some kind of text
strings $1
fi ;;
esac
}
lesspipe $1
_________________________________________________________________这样就可以使用less查看以上文件格式的信息与内容。
注意要利用chmod 755 /usr/bin/lesspipe.sh命令将此文件设置为可执行!
/etc/bashrc文件的例子:
____________________________________________
# /etc/bashrc
# System wide functions and aliases
# Environment stuff goes in /etc/profile
# For some unknown reason bash refuses to inherit
# PS1 in some circumstances that I can't figure out.
# Putting PS1 here ensures that it gets loaded every time.
# PS1="[\u@\h \w]\\$ "
eval `dircolors -b`
alias ls='ls --color=yes -F -N' # ls 支持彩色
alias l='ls --color=yes -l -F -N' # l
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
alias df='df -h'
alias ln='ln -i'
lrpm() # list information on an .rpm file
{
if [ $# != 0 ]; then rpm -qilf `which $1` | less; fi
}
lsrpm() # list information on an .rpm file
{
if [ $# != 0 ]; then rpm -qif `which $1` | less; fi
}
set -o noclobber # 避免覆盖与重写文件
____________________________________________
四、编辑/etc/rc.local文件
如果需要定制自己的登录信息,注意要修改/etc/rc.d/rc.local文件,因为每次执行/etc/rc.d/rc.local文件,都需要修改/etc/issue与/etc/issue.net文件,可以注解掉这些命令,编辑定制自己的/etc/issue文件,加快Linux引导过程,并且加入以下内容:
echo "base=0xd8000000 size=0x800000 type=write-combining"
/proc/mtrr
# Enable NumLock
for tty in /dev/tty[1-3]; do
setleds -D +num
done
说明:关于第一行命令请看/usr/src/linux/Documentation/mtrr.txt文件。
五、定制vim的环境
在Linux环境中,有许多编辑器,主要有emacs、vim、joe等,对于从没有使用过UNIX或者Linux的人,我的建议是最好找几本有关的参考书,先了解这些编辑器的使用方法,这样安装好Linux后,在编辑与查看一些配置文件时,不至于茫然不知所措。特别是vi,一开始难以掌握,最好开始能够得到高手的指点,一旦上手,简直就像驾驶一辆高速奔驰的赛车,初学者可以到ftp://ftp.cs.pdx.edu/pub/elvis或者http://www.vim.org下载相应的版本,它提供支持MSDOS、Windows 98等操作系统的版本,解压后就可以在自己熟悉的环境学习与使用vi。
以下是/usr/share/vim/vimrc的例子:
___________________________________________________________
"" (for Chinese)
" Set file encoding format as 'prc' for Simplified Chinese
" Valid values for 'set fe=' is ansi, japan, korea, prc, taiwan
" We set fe to prc for default, if you need single-byte editing,
" just type ':set fe=ansi' will do the work.
set fe=prc
"" (for Chinese)
"" Set ruler on, you must set this to ensure
"" the Chinese functionality of gvim
set ru
"" For syntax color
if &term=="xterm"
set term=rxvt
set t_Co=8
set t_Sb=^[4%dm
set t_Sf=^[3%dm
endif
syntax on
"" Set visual bell and disable screen flash
" :set vb t_vb=
set bs=2
"" Toggle on/off highlightsearch
map :set hls!set hls?
"" Toggle on/off paste mode
map :set paste!set paste?
"" You can toggle the syntax on/off with this command
if has("syntax_items") | syntax off | else | syntax on | endif
map :if has("syntax_items") syntax off else syntax on endif
"" Set non-compatible with vi
set nocompatible
"" Set backup extension
" s