现在所有的软件都装好了,我们在正常运行一些程序前要做的是创建它们的配置文件。
在默认情况下, vim 是以与 vi 兼容的模式运行。有些人可能喜欢这种模式,但是我们强烈建议使用 vim 模式运行 vim (要不然我们就不必把 vim 包含到这本书里了,用老的 vi 不是更好?)。使用如下命令建立 /root/.vimrc 文件:
cat > /root/.vimrc << "EOF" " Begin /root/.vimrc set nocompatible set bs=2 " End /root/.vimrc EOF |
我们需要建立 /etc/nsswith.conf 文件。虽然如果这个文件丢失或者不正确,glibc会使用默认的配置,但是其默认的配置无法很好地在网络环境下工作(那是我们下一章的问题)。同时我们也需要设置自己的时区。
使用如下命令建立新的 /etc/nsswitch.conf 文件
cat > /etc/nsswitch.conf << "EOF" # Begin /etc/nsswitch.conf passwd: files group: files shadow: files publickey: files hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: db files # End /etc/nsswitch.conf EOF |
你可以使用 tzselect 脚本选择时区,按照顺序回答脚本运行过程中提出的问题,脚本运行完毕,就会给出所需时区文件的位置。
使用如下命令将运行 tzselect 脚本得到的文件连接到/etc/localtime:
ln -sf ../usr/share/zoneinfo/<tzselect's output> /etc/localtime |
tzselect 的输出使用象 EST5EDT 或者 Canada/Eastern 的形式。因此,具体对这两个例子,使用如下命令建立符号连接:
ln -sf ../usr/share/zoneinfo/EST5EDT /etc/localtime |
或:
ln -sf ../usr/share/zoneinfo/Canada/Eastern /etc/localtime |
在默认情况下,动态链接库加载程序 (/lib/ld-linux.so.2)会自动搜索几个默认的目录(/lib 和 /usr/lib)。然而,如果有些库不是放在默认的目录中,你就需要把它们的路径加到 /etc/ld.so.conf 里,这样动态链接库加载程序才能找到它们。有两个目录是包含库文件但又不在默认目录中的,是 /usr/local/lib 和/opt/lib,我们要把它们加到动态链接库加载程序的搜索路径中。
使用如下命令建立 /etc/ld.so.conf 文件:
cat > /etc/ld.so.conf << "EOF" # Begin /etc/ld.so.conf /usr/local/lib /opt/lib # End /etc/ld.so.conf EOF |
使用如下命令建立一个新的文件 /etc/syslog.conf :
cat > /etc/syslog.conf << "EOF" # Begin /etc/syslog.conf auth,authpriv.* -/var/log/auth.log *.*;auth,authpriv.none -/var/log/sys.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log mail.* -/var/log/mail.log user.* -/var/log/user.log *.emerg * # End /etc/syslog.conf EOF |
这个软件包中包括一些工具程序,用来修改用户的密码,加入新的用户或组,删除它们,以及其它用途。在此,我们不想解释影子密码是什么意思,在源代码的doc/HOWTO文件中有详细介绍。这里,你需要记住一点,如果你决定使用影子(shadow)密码,那么所有需要对密码进行校验的程序(例如:xdm、ftp守护进程、pop3守护进程等等)都需要和它兼容,也就是说它们得能够使用影子密码。
下面的命令使 Shadow 密码生效:
/usr/sbin/pwconv |
使用如下命令创建一个新的 /etc/inittab 文件:
cat > /etc/inittab << "EOF" # Begin /etc/inittab id:3:initdefault: si::sysinit:/etc/rc.d/init.d/rc sysinit l0:0:wait:/etc/rc.d/init.d/rc 0 l1:S1:wait:/etc/rc.d/init.d/rc 1 l2:2:wait:/etc/rc.d/init.d/rc 2 l3:3:wait:/etc/rc.d/init.d/rc 3 l4:4:wait:/etc/rc.d/init.d/rc 4 l5:5:wait:/etc/rc.d/init.d/rc 5 l6:6:wait:/etc/rc.d/init.d/rc 6 ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now su:S016:once:/sbin/sulogin 1:2345:respawn:/sbin/agetty tty1 9600 2:2345:respawn:/sbin/agetty tty2 9600 3:2345:respawn:/sbin/agetty tty3 9600 4:2345:respawn:/sbin/agetty tty4 9600 5:2345:respawn:/sbin/agetty tty5 9600 6:2345:respawn:/sbin/agetty tty6 9600 # End /etc/inittab EOF |
没有什么比在Linux中使用错误的键盘映射更让人心烦的了。如果你使用的是US键盘,你可以跳过这一小节。在不改变的情况下,US键盘映射是缺省值。
要设置键盘映射,用下面的命令创建一个 /usr/share/kbd/keymaps/defkeymap.map.gz 的符号链接:
ln -s <path/to/keymap> /usr/share/kbd/keymaps/defkeymap.map.gz |
把 <path/to/keymap> 换成你的键盘映射文件的完整路径。例如,你使用的是荷兰键盘,就要运行:
ln -s i386/qwerty/nl.map.gz /usr/share/kbd/keymaps/defkeymap.map.gz |
配置键盘的另一个选择是把键盘映射编译到内核中去。这样你的键盘就会总能正确使用,即使你是在维护模式中(把`init=/bin/sh' 传给内核),这种模式下,设置键盘的启动脚本是不运行的。 .
用下面的命令把你的键盘映射写到内核代码中,每次解压一个新内核,你都要重复这一步:
loadkeys -m /usr/share/kbd/keymaps/defkeymap.map.gz > \ /usr/src/linux/drivers/char/defkeymap.c |