在开始启动系统之前,首先应该决定要采用何种级别的安全规范。在作出这项决定之前,不要将电脑与网络连接。 电脑安全是极其重要的问题,但它不属于这份 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/)。祝您好运。
要保证安装顺利,必须确切知道机器里安装了什么,何时作了修改,何时作了清除。因此,在动手之前,首先应该建立一本“工作日志”,纪录作为 root 的一切举动;在我的工作日志中,有一节专门纪录所有改动的系统文档、增加的 .rpms 和安装的 .tar.gz。理论上,往回追溯以往的任何改变,应该可以回复到最初原始的安装状态。
千万记住,在改动任何系统文件之前,制作备份。更理想的是用 RCS;这样就能追踪以往的所有改变。作为 root,决不可随意改动系统而不加纪录。
如在安装时遗漏了这一步骤,或改用了他种键盘,则需要:
it.map
就代表义大利键盘;
KEYTABLE="it"
;
/sbin/kbdrate -s -r 16 -d 500 # or whatever you like --或其他设定的数值
要在开机时自动设定 NumLock,则在/etc/rc.d/rc.sysinit中加入以下内容:
for tty in /dev/tty[1-9]*; do
setleds -D +num < $tty
done
为刚安装好的系统,应该制作两、三张启动软片,以备不时之需。您使用的 Linux 版本可能已经包括了制作这种软片的指令,否则可用下列指令:
#
#
(译注:作者似乎忘了填入指令)
此外,至少也要制作几片援救软片。在 ftp://metalab.unc.edu/pub/Linux/system/recovery可找到各种援救软片; 如果您不知道选用哪一种,我建议您试试 Tomsbtrt。
IMHO,其次首先要做的工作是编制最适合您的系统的内核。编制工作并不困难,但无论如何都先看一看/usr/src/Linux/内的README
档或内核 HOWTO (Kernel HOWTO )。注意事项:
SVGATextMode
(见
SVGATextMode一节)可能是最理想的解决办法。不论采用何种办法,在
http://www.Linuxhq.com/patch/20-p0239.html可以找到大型游标的内核修补软件。
modprobe
的信息,指出不能确定某些模块的位置,这表示需要修改/etc/conf.modules。例如,如果不使用ipx和appletalk模块,则增加下列两行:
alias net-pf-4 off
alias net-pf-5 off
有些系统的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一节
如果谨慎使用 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.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。
列在/dev
中(或连接到实际设备驱动程序)的设备可能并不确切。检查鼠标、数据机和光碟驱动程序对应的设备为何,然后作出下列设定:
/dev# ln -s ttyS0 mouse; ln -s ttyS1 modem; ln -s hdb cdrom; ln -s sda4 zip
在多数笔记本电脑上,鼠标的设置是/dev/psaux:在设置 X11 时应将此列入考虑。
不妨将这些设置都通过 chmod 666
改变属性,使所有使用者均可使用这些设备。
我只有一张旧声卡 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
。
如要自设登录信息,首先检查/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
只运行hostname new_host_name
指令也许不够。要解决sendmail
死机的问题,可采用下列步骤(只适用于单机):
new_host_name.localdomain
);
127.0.0.1 localhost new_host_name.locadomain
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
。
为方便使用,应对软盘、其他设备和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
也是相当好用的工具。
许多使用者在电脑上同时运行 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
。
如何阅读以 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
就我所知,各种 Linux 版本均有设置打印机的工具(printtool
,yast
或magicfilter
);
否则可用基本的手动设定。
假定要用非 PostScript 打印机(也非“Windows-only”的打印机)来打印原始文件(例如 C 程序的原始码文本)和利用 GhostScript 来打印 PostScript 文档(此处假定已安装了 GhostScript)。
设定打印机的步骤如下:
~# echo "hello, world" > /dev/lp0
~# echo "hello, world" > /dev/lp1
记下联机的打印机和端口。
/var/spool/lpd/# mkdir raw; mkdir postscript
~# echo "first line" > /dev/lp1 ; echo "second line" > /dev/lp1
如果印出的结果如下:
first line
second line
将此文档作为/var/spool/lpd/raw/filter
保存:
#!/bin/sh
# 这个过滤器可消除“台阶”现象
awk '{print $0, "\r"}'
运行chmod 755 /var/spool/lpd/raw/filter
使其成为可执行文档。
#!/bin/sh
DEVICE=djet500
RESOLUTION=300x300
PAPERSIZE=a4
SENDEOF=
nenscript -TUS -ZB -p- |
if [ "$DEVICE" = "PostScript" ]; then
cat -
else
gs -q -sDEVICE=$DEVICE \
-r$RESOLUTION \
-sPAPERSIZE=$PAPERSIZE \
-dNOPAUSE \
-dSAFER \
-sOutputFile=- -
fi
if [ "$SENDEOF" != "" ]; then
printf "\004"
fi
(上例使用 HP DeskJet 打印机。如为他种打印机,则作出相应修改。)
# /etc/printcap
lp|ps|PS|PostScript|djps:\
:sd=/var/spool/lpd/postscript:\
:mx#0:\
:lp=/dev/lp1:\
:if=/var/spool/lpd/postscript/filter:\
:sh:
raw:\
:sd=/var/spool/lpd/raw:\
:mx#0:\
:lp=/dev/lp1:\
:if=/var/spool/lpd/raw/filter:\
:sh:
其他更为复杂或少见的打印设置,请参考 Printing-HOWTO。
注意:如使用printtool
,Printtool选取的 GSDEVICE 可以用于打印,但不一定是最好的选择。不妨对postscript.cfg
档作些修改;例如,把 GSDEVICE 内cdj500
改为 djet500
,就可加快打印的速度。
放在 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”。