Next Previous Contents

2. 一般系统设定

2.1 安全问题

在开始启动系统之前,首先应该决定要采用何种级别的安全规范。在作出这项决定之前,不要将电脑与网络连接。 电脑安全是极其重要的问题,但它不属于这份 HOWTO 的讨论范围。不过,要了解电脑的安全问题可从两方面著手:“ Linux 安全管理员手册”( Linux Security Administrator's Guide) http://www.seifried.org/lasg 和“ Linux 安全手册”( Linux Security Guide) http://nic.com/ (译注:此处英文原文有漏) 下列步骤:使用Shadow password(Shadow Password HOWTO )限制网路进入机器(Section 限制网路进入Restricting Network Access)、 使用 Secure Shell ( http://www.cs.hut.fi/ssh/) 或使用 Secure Remote Password ( http://srp.stanford.edu/srp/)。祝您好运。

2.2 工作日志

要保证安装顺利,必须确切知道机器里安装了什么,何时作了修改,何时作了清除。因此,在动手之前,首先应该建立一本“工作日志”,纪录作为 root 的一切举动;在我的工作日志中,有一节专门纪录所有改动的系统文档、增加的 .rpms 和安装的 .tar.gz。理论上,往回追溯以往的任何改变,应该可以回复到最初原始的安装状态。

千万记住,在改动任何系统文件之前,制作备份。更理想的是用 RCS;这样就能追踪以往的所有改变。作为 root,决不可随意改动系统而不加纪录。

2.3 键盘

如在安装时遗漏了这一步骤,或改用了他种键盘,则需要:

要载入键盘表,使用/etc/rc.d/init.d/keytable start指令。其他特殊键位将在以下各节再作说明。

要在开机时自动设定 NumLock,则在/etc/rc.d/rc.sysinit中加入以下内容:

for tty in /dev/tty[1-9]*; do
  setleds -D +num < $tty
done

2.4 启动和援救软片

为刚安装好的系统,应该制作两、三张启动软片,以备不时之需。您使用的 Linux 版本可能已经包括了制作这种软片的指令,否则可用下列指令:

#
#
(译注:作者似乎忘了填入指令)

此外,至少也要制作几片援救软片。在 ftp://metalab.unc.edu/pub/Linux/system/recovery可找到各种援救软片; 如果您不知道选用哪一种,我建议您试试 Tomsbtrt。

2.5 内核

IMHO,其次首先要做的工作是编制最适合您的系统的内核。编制工作并不困难,但无论如何都先看一看/usr/src/Linux/内的README档或内核 HOWTO (Kernel HOWTO )。注意事项:

2.6 Sendmail停机

有些系统的sendmail会使机器在启动时停顿两、三分钟。原因有二: (1)机器没有与网际网路直接连接;(2)直接连接网际网路,并有永久的IP地址。

立即解决第一种问题的办法是确定/etc/hosts内有下列一行:

127.0.0.1   localhost

造成停顿的第二种原因是往往在/etc/hosts内有内容如下的一行:

127.0.0.1   localhost   your_host_name

可将其分成以下两行:

127.0.0.1    localhost
w.x.y.z      your_host_name

同时请参考 Hostname一节

2.7 硬盘性能

如果谨慎使用 hdparm(8)就会大大提高 (E)IDE 硬盘的性能。假设使用的 Linux 中没有包含这个软件,可从 ftp://metalab.unc.edu/pub/Linux/system/hardware查找;设法在这个网址上找一个称为hdparm-X.Y.tar.gz的软件。

由于使用这个软件的细节取决于硬盘的种类和控制程序,因此在此无法提出通则。使用不当, 可能会损及文档系统,因此使用之前,务必详细阅读 man 说明。以最简单的例子而言,在/etc/rc.d/rc.sysinit内可增加一行,内容如下:

/sbin/hdparm -c1 /dev/hda  #  -- 假定为第一个 IDE 硬盘

这行提供了 (E)IDE 32-bit I/O 的支持。关于 -m 选项,hdparm的作者 Mark Lord 告诉我:

(...) 如果系统内的组件是前几年的产品 [< 1997],一般都没有问题。如果是老旧的设备,可能不行(但也许没问题)。真正发生问题的是 2 - 3 年前在 486 和 (早期)586 主板上广泛使用的 CMD0646 和 RZ1000 这两种蕊片。

下列设置应可使用于最近的电脑:

/sbin/hdparm -c1 -A1 -m16 -d1 /dev/hda

2.8 并联埠 Zip 磁盘机

利用最近内核(2.x.x)所带的驱动程序就可使用并联埠的 Zip 磁盘机。在设置内核时,务必加装使用 SCSI 和 SCSI 磁盘的功能。注意:打印机和 Zip 磁盘机共用并联埠时可能会发生冲突,因此最好使用内核模块设置。在 http://www.torque.net/ 上还有一个代用的 ppa 驱动程序。

Zip 磁片出售时已经格式化,其分割为 /dev/sda4。在设定 Zip 磁盘机时,在 /etc/rc.d/rc.sysinit 档中加附下列内容:

# Enable the Zip drive  -- 设定 Zip 磁盘机
/sbin/modprobe ppa

Zip 磁片可在/etc/fstab中加列以下内容或通过 Mtools 在/etc/mtools.conf中增加下列内容加载:

drive z: file="/dev/sda4" exclusive

此外,mzip指令也可用于弹出、查询机况、读写和附加密码于 Zip 磁片;详情请查阅man mzip。 Mtools 的网址在 http:// Linux .wauug.org/pub/knaff/mtools

2.9 设备驱动程序

列在/dev中(或连接到实际设备驱动程序)的设备可能并不确切。检查鼠标、数据机和光碟驱动程序对应的设备为何,然后作出下列设定:

/dev# ln -s ttyS0 mouse; ln -s ttyS1 modem; ln -s hdb cdrom; ln -s sda4 zip
在多数笔记本电脑上,鼠标的设置是/dev/psaux:在设置 X11 时应将此列入考虑。

不妨将这些设置都通过 chmod 666 改变属性,使所有使用者均可使用这些设备。

2.10 声卡

我只有一张旧声卡 Sound Blaster 16;即使您的声卡与我的不同,不过下列方法也可引导您如何设置声卡。

我将声卡的驱动程序作为模块(sb.o)编入内核。然后将下列内容列入/etc/conf.modules:

options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
alias sound sb

要启动声卡,首先运行modprobe sound,或者使用 RedHat 的工具sndconfig

2.11 登录信息

如要自设登录信息,首先检查/etc/rc.d/rc.local是否覆盖/etc/issue和/etc/motd的内容。(RedHat 覆盖内容)如属肯定,请打开文本编辑器。

如要使登录信息带有颜色,可在rc.local中列入下列内容:

# put a real escape character instead of ^[. To do this:
# emacs: ^Q ESC   vi: ^V ESC   joe:  ` 0 2 7   jed: ` ESC
ESC="^["  # a real escape character
BLUE="$ESC[44;37m"
NORMAL="$ESC[40;37m"
CLEAR="$ESC[H$ESC[J"

> /etc/issue
echo "$CLEAR" >> /etc/issue
echo "$BLUE   Welcome to MyServer (192.168.1.1)   " >> /etc/issue
echo "$NORMAL " >> /etc/issue
echo "" >> /etc/issue

2.12 主机名称

只运行hostname new_host_name指令也许不够。要解决sendmail死机的问题,可采用下列步骤(只适用于单机):

2.13 鼠标(Mouse)

gpm 的鼠标功能对在主控台进行剪贴至为有用,也可在一些应用中使用鼠标。在 Red Hat 系统中,检查有否一个称为/etc/sysconfig/mouse 的文档,内容如下:

MOUSETYPE="Microsoft"
XEMU3=yes

此外,还得有一个/etc/rc.d/init.d/gpm档,其中还可设定一些指令。我设定的指令如下:

...
       daemon gpm -t $MOUSETYPE -d 2 -a 5 -B 132 # two-button mouse -- 双按钮鼠标
...

显而易见,其中设置当然得与鼠标的类型相符。在多数笔记型型电脑中, MOUSETYPE 应设为 “PS/2”

在Caldera系统中,只要在/etc/rc.d/rc.boot中加入此行即可:

/usr/bin/gpm

在S.u.S.E.中,在/etc/rc.config中加入gpm部分;在Debian系统中,则需修改 /etc/gpm.conf。

如果喜欢用Ctrl按钮使用主控台的菜单,则需设置gpm-root。修改 /etc/gpm-root.conf中的预设菜单,然后从/etc/rc.d/rc.local启动 gpm-root

2.14 加载位置(Mount Points)

为方便使用,应对软盘、其他设备和NFS的输出目录设定加载位置。例如,可采用下列办法:

/mnt# mkdir floppy; mkdir cdrom; mkdir win; mkdir zip; mkdir server

此行设定了 DOS/Win 软盘(ext2磁片)、CD-ROM、Windows 分割区、平行口 Zip 驱动器和 NFS 目录的加载位置。

然后修改 /etc/fstab 档,并增加下列内容:

/dev/fd0        /mnt/floppy     auto            user,noauto 0 1
/dev/cdrom      /mnt/cdrom      iso9660         ro,user,noauto 0 1
/dev/zip        /mnt/zip        vfat            user,noauto,exec 0 1
/dev/hda1       /mnt/win        vfat            user,noauto 0 1
server:/export  /mnt/server     nfs             defaults

显而易见,第一栏必须使用正确的设备名称。最近发表的内核已经支持 fat32;以前的内核需要修补。修补软件可从 http://bmrc.berkeley.edu/people/chaffee/fat32.html取得。有关这方面的进一步资料,可查询 man mount

注意第一行中的“auto”文档系统格式;这表示可加载 ext2 和 vfat(DOS/Windows)两种系统格式制作的磁片。mtools也是相当好用的工具。

2.15 lilo(8) 和 LOADLIN.EXE

许多使用者在电脑上同时运行 Linux 和 DOS/Windows 两套操作系统,并在开机时选用其中之一;这应在安装时作出设定,如果当时没有设定, 可采取下列办法解决。首先假定 /dev/hda1中装有 DOS/Windows, /dev/hda2 中装有 Linux .

将 /dev/hda 作为默认设备!

Command (m for help):a
Partition number (1-4): 2

Command (m for help):w

经过这项设定, Linux 分割区成为启动操作系统。然后在/etc/lilo.conf中作出设定:

boot = /dev/hda2
compact                # may conflict with "linear"  --可能与“linear”冲突
delay = 100            # 10 seconds  --等待10秒
linear                 # gets rid of the "1024 cylinder" problem --解决1024磁圈的问题
# message = /boot/bootmesg.txt  # write your own, if you will --自订开机信息
root = current
image = /boot/vmlinuz  # boot  Linux  by default as this entry comes first --默认的内核
  label =  Linux 
  read-only
#  append="mem=128M"   # to see more memory than 64M  --如果记忆内存大于64M
other = /dev/hda1
  table = /dev/hda
  label = dos

运行/sbin/lilo后就大功告成。由于lilo是安装中极其重要的部分, 无论如何应该详细阅读有关这方面的资料。

如果不打算重作设定,而要从 DOS/Windows 内启动 Linux ,可把 LOADLIN.EXE 放入一个属于 DOS 路径的子目录(DOS 分割区);然后将内核拷贝到该子目录,例如C:\TEMP\VMLINUZ。利用下面简单的 .BAT档就可启动 Linux:

rem    Linux .bat
smartdrv /C
loadlin c:\temp\vmlinuz root=/dev/hda2 ro

如使用 Windows 9X,则设定这个.BAT档的特性,使其从 MS-DOS 状态启动。

安全考量

在安装 Linux 之前,先制作一张 MBR 区的备份磁片,以防不测。先运行restorrb(包括在FIPS的软件包内), 或以下面的指令制作 Linux 的死机解救磁片:

rescue:

然后至少制作两片有MBR档的磁片。如果一旦故障停机, 可用下列指令恢复原先的 MBR:

rescue:

当然,这要在/mnt已加载包含MBR的磁片。否则,利用 DOS 的解救磁片运行FDISK /MBR

2.16 电子邮件

如何阅读以 HTML 格式或含有其他各种文件格式的电子邮件呢?首先要有两个文档:/etc/mime.types 和/etc/mailcap。第一个文档列出文件的格式及其扩展名:

application/postscript          ps eps
image/jpeg                      jpe jpeg jpg
text/html                       html

而第二个文档规定如何显示这种文档的格式。

有时有的电子邮件使用 Microsoft Outlook 发送,其内容含有多重 MIME 格式。阅读这类电子邮件需要在etc/mailcap中加入下列两行:

text/plain; less %s; needsterminal
text/html; lynx -force_html %s; needsterminal

2.17 打印机的设置

就我所知,各种 Linux 版本均有设置打印机的工具(printtoolyastmagicfilter); 否则可用基本的手动设定。

假定要用非 PostScript 打印机(也非“Windows-only”的打印机)来打印原始文件(例如 C 程序的原始码文本)和利用 GhostScript 来打印 PostScript 文档(此处假定已安装了 GhostScript)。

设定打印机的步骤如下:

其他更为复杂或少见的打印设置,请参考 Printing-HOWTO。

注意:如使用printtool,Printtool选取的 GSDEVICE 可以用于打印,但不一定是最好的选择。不妨对postscript.cfg档作些修改;例如,把 GSDEVICE 内cdj500 改为 djet500,就可加快打印的速度。

2.18 SVGATextMode

放在 ftp://tsx-11.mit.edu/pub/ Linux /sources/sbin上的工具软件对改变主控台的屏幕分辨率、字体和游标的形状非常有用。 在主控台上工作时,需要使用重音字体的文字(译注:如欧洲文字) 或需要改变笔记本电脑游标的大小都可使用这套软件。

从默认的 VGA 参数开始,首先编辑/etc/TextConfig或/etc/TextMode。 使用欧洲文字的用户应该对其中含有“LoadFont”一节感到庆幸。

Option "LoadFont"
FontProg "/usr/bin/setfont"
FontPath "/usr/lib/kbd/consolefonts"
FontSelect "lat1u-16.psf"   8x16 9x16 8x15 9x15
FontSelect "lat1u-14.psf"   8x14 9x14 8x13 9x13
FontSelect "lat1u-12.psf"   8x12 9x12 8x11 9x11
FontSelect "lat1u-08.psf"   8x8  9x8  8x7  9x7

完成这项设定之后,运行SVGATextMode "80x34x9"。如果觉得一切运行顺利,从/etc/TextMode中删除警告,并将下行写入 etc/rc.d/rc.sysinit:

# SVGATextMode
/usr/sbin/SVGATextMode "80x34x9"

注意:方块游标只在有些模式下有效;在我的笔记本电脑上,其数值为“80x32x9”。


Next Previous Contents