系统设置-HOWTO 作者:Guido Gonzato, [1]guido ``at'' ibogeo.df.unibo.it (译者:赵平望 tchao@worldnet.att.net) v1.3.7, 1999年9月6日翻译日期:2000年1月1日 _________________________________________________________________ 编写本文的目的是要使您能更快、更容易地调试刚安装好的 Linux 系统。文内附 有一些最常用的应用软件的设置办法。 _________________________________________________________________ 1. 导言 * 1.1 为什麽要编写这份 HOWTO * 1.2 我们将作何种配置 2. 一般系统设定 * 2.1 安全问题 * 2.2 工作日志 * 2.3 键盘 * 2.4 启动和援救软片 * 2.5 内核 * 2.6 Sendmail停机 * 2.7 硬盘性能 * 2.8 并联埠 Zip 磁碟机 * 2.9 设备驱动程序 * 2.10 声卡 * 2.11 登录信息 * 2.12 主机名称 * 2.13 滑鼠(Mouse) * 2.14 加载位置(Mount Points) * 2.15 lilo(8) 和 LOADLIN.EXE * 2.16 电子邮件 * 2.17 打印机的设置 * 2.18 SVGATextMode 3. 管理员的一般工作 * 3.1 网路设置 * 3.2 分享网际网路 * 3.3 限制网路连接 * 3.4 NFS输出 * 3.5 域名服务器 4. 软件设置 * 4.1 bash(1) * 4.2 ls(1) * 4.3 less(1) * 4.4 emacs(1) 文本编辑器 * 4.5 joe(1) 文本编辑器 * 4.6 jed(1) 文本编辑器 * 4.7 pine(1) 邮件阅读器 * 4.8 minicom(1) * 4.9 efax(1) 软件 * 4.10 Ghostscript * 4.11 TeX 的使用 * 4.12 避免PPP的问题 * 4.13 POP用户端程序 * 4.14 X 视窗系统 (XFree86) * 4.15 使用者的设置文档 * 4.16 制作 .rpm * 4.17 Upgrading 5. 设置软件 6. 结束 * 6.1 版权说明(译者:保留原文) * 6.2 反馈意见 * 6.3 免责声明Disclaimer _________________________________________________________________ 1. 导言 1.1 为什麽要编写这份 HOWTO 我在许多 PC 上都安装过 Linux 系统,发现目前流行的各种 Linux 版本都相当 不错,但感到不便的是缺少一些基本设置文档。多数应用软件在安装後都可立即 使用, 但有些软件却不行。我还注意到同样的问题在 c.o.l.setup 上一再重复 出现。为了弥补这种缺憾,并为了我个人方便,我作了一些笔记,後来加以修改 润色, 终於成为这份 HOWTO。文内附有设置最常用的一些应用软件和程式的诀窍 和实例,这应能节省您不少时间和精力。 文中所列的一些实例有时取决于使用何种 Linux 版本。目前我只有安装 Red Hat 5.2 的 Linux 系统,内核是 2.0.36;因此如果您的 Linux 是其他版本,那 就别把我提供的诀窍视为金科玉律。不过,把我提供的办法略作修改, 改用于其 他版本,倒也并非难事。 这份 HOWTO 不能代替其他 HOWTO,而且它也无意替代 其他 HOWTO 。翻阅相关文件和其他 HOWTO 都会使人获益匪浅,因此如果您想进 一步了解这套系统,就必需勤于查找翻阅。此外, 也不要想在这里占便宜:如果 您知道对某方面不了解,就请查找相关的 HOWTO 。再次提醒:Usenet 的 [2]news:comp.os.linux.setup是寻求 Linux 配置方面的协助的最好地点。我的 工作十分繁忙,务请不要找我解决配置方面的问题。 这份文件以及一些翻译正式存放在 [3]http://metalab.unc.edu/mdw/HOWTO。在 这个网址也可找到我提到的所有其他 HOWTO 。本文的最新版本存放在 [4]http://ibogeo.df.unibo.it/guido/Configuration 1.2 我们将作何种配置 PC的硬件配置种类繁多,但依我的经验,有一种配置十分普遍,即装有一个划分 为三个分割区(一个DOS/Windows区、一个 Linux 区和一个交换(swap partition)区)的大容量硬盘、音效卡、数据机、光盘机、打印机和滑鼠的 PC 。目前,许多 PC 还安装了平行埠的 ZIP 磁碟机。这样设定的 PC 极可能是 Windows-Linux 搭配组成的网络系统的一部分,一般作为服务器之用。 我假定这些设备是您要设置的硬件,不过将设置这些设备的办法转用于不同的硬 件也非难事。此外, 我还假定您在编辑调试硬件时,具有root的权限。 好吧!现在就让我们卷起袖子来干吧! 2. 一般系统设定 2.1 安全问题 在开始启动系统之前,首先应该决定要采用何种级别的安全规□。在作出这项决 定之前,不要将电脑与网络连接。 电脑安全是极其重要的问题,但它不属於这份 HOWTO 的讨论□围。不过,要了解电脑的安全问题可从两方面著手:“ Linux 安 全管理员手册”( Linux Security Administrator's Guide) [5]http://www.seifried.org/lasg 和“ Linux 安全手册”( Linux Security Guide) [6]http://nic.com/ (译注:此处英文原文有漏) 下列步骤:使 用Shadow password(Shadow Password HOWTO )限制网路进入机器(Section [7]限制网路进入Restricting Network Access)、 使用 Secure Shell ( [8]http://www.cs.hut.fi/ssh/) 或使用 Secure Remote Password ( [9]http://srp.stanford.edu/srp/)。祝您好运。 2.2 工作日志 要保证安装顺利,必须确切知道机器里安装了什麽,何时作了修改,何时作了清 除。因此,在动手之前,首先应该建立一本“工作日志”,纪录作为 root 的一 切举动;在我的工作日志中,有一节专门纪录所有改动的系统文档、增加的 .rpms 和安装的 .tar.gz。理论上,往回追溯以往的任何改变,应该可以回复到 最初原始的安装状态。 千万记住,在改动任何系统文件之前,制作备份。更理想的是用 RCS;这样就能 追踪以往的所有改变。作为 root,决不可随意改动系统而不加纪录。 2.3 键盘 如在安装时遗漏了这一步骤,或改用了他种键盘,则需要: * 从/usr/lib/kbd/keymaps/中选取适当的键盘表;例如,it.map 就代表义大 利键盘; * 编辑/etc/sysconfig/keyboard文档,使其读取:KEYTABLE="it"; * 设定键盘的重复率和延迟时间,将以下内容加附到 /etc/rc.d/rc.sysinit (Red Hat) 或 /etc/rc.d/rc.boot (Caldera) 或 /etc/rc.d/boot (S.u.S.E.): /sbin/kbdrate -s -r 16 -d 500 # or whatever you like --或其他设定的数值 要载入键盘表,使用/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 版本可能已经包括了制作这种软片的指令,否则可用下列指令: # # (译注:作者似乎忘了填入指令) 此外,至少也要制作几片援救软片。在 [10]ftp://metalab.unc.edu/pub/Linux/system/recovery可找到各种援救软片; 如果您不知道选用哪一种,我建议您试试 Tomsbtrt。 2.5 内核 IMHO,其次首先要做的工作是编制最适合您的系统的内核。编制工作并不困难, 但无论如何都先看一看/usr/src/Linux/内的README档或内核 HOWTO (Kernel HOWTO )。注意事项: * 仔细想清楚需要电脑完成何种工作。一次选定内核,同时作出必要的修补 (patch),远比每月作一次设置或编译一次内核来得省事;如果把 Linux 作 为伺服器使用,尤应如此。不要忘记把未来可能会增加的硬件(例如,SCSI 、Zip和网路卡等)都先编制在内核内;通常利用模组是最好的办法; * 如果你的电脑用 Cyrix 芯片,而内核对它的支持不足,则应作出必要修补, 以便提高电脑性能。有关资料见: [11]http://www.Linuxhq.com/patch/20-p0591.html; * 使用笔记型电脑的用户应改进屏幕的视觉效果。我曾经建议修补内核, 但SVGATextMode (见 [12]SVGATextMode一节)可能是最理想的解决办法。 不论采用何种办法,在 [13]http://www.Linuxhq.com/patch/20-p0239.html可以找到大型游标的内 核修补软件。 * 此外,不要将笔记型电脑串行 PCMCIA modem/fax 卡作为模组编译;将其作 为内核的一部分编译,否则,PCMCIA modem 就无法运作; * 如果使用 PCMCIA 卡,记住务必编译这些模组;此外,如果使用 PCMCIA 网 路卡,不要忘记修改/etc/pcmcia/network.opts; * 如果屏幕显示来自modprobe的信息,指出不能确定某些模组的位置,这表示 需要修改/etc/conf.modules。例如,如果不使用ipx和appletalk模组,则增 加下列两行: alias net-pf-4 off alias net-pf-5 off * 为了节省下次配置和编译内核的时间,不妨将配置设定作为一个文档妥善保 存。注意: 如果内核升级,则这个配置设定档必然无用,因为它没有包含新 内核的各种要素。 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 同时请参考 [14]Hostname一节 2.7 硬盘性能 如果谨慎使用 hdparm(8)就会大大提高 (E)IDE 硬盘的性能。假设使用的 Linux 中没有包含这个软件,可从 [15]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 磁碟机 共用并联埠时可能会发生冲突,因此最好使用内核模组设置。在 [16]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 的网址在 [17]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死机的问题,可 采用下列步骤(只适用于单机): * 编辑/etc/sysconfig/network和改变其中的主机名称(例 如new_host_name.localdomain); * 相应地编辑/etc/HOSTNAME; * 将新机名编入/etc/hosts; 127.0.0.1 localhost new_host_name.locadomain 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; 以前的内核需要修补。修补软件可从 [18]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 版本均有设置打印机的工具(printtool,yast 或magicfilter); 否则可用基本的手动设定。 假定要用非 PostScript 打印机(也非“Windows-only”的打印机)来打印原始 文件(例如 C 程序的原始码文本)和利用 GhostScript 来打印 PostScript 文 档(此处假定已安装了 GhostScript)。 设定打印机的步骤如下: * 检查并行口的打印机: ~# echo "hello, world" > /dev/lp0 ~# echo "hello, world" > /dev/lp1 记下联机的打印机和端口。 * 设定两个 spool 子目录: /var/spool/lpd/# mkdir raw; mkdir postscript * 如果打印机印出的结果有“台阶”现象(多数 InkJet 打印机都有这种现象 ),则需要一个过滤器。试印下面两列: ~# 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使其成为可执行文档。 * 要制作用于PostScript仿真的过滤器,则将过滤器定名为 /var/spool/lpd/postscript/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内增加下列内容: # /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,就可加快打印的速度。 2.18 SVGATextMode 放在 [19]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”。 3. 管理员的一般工作 要做的工作那麽多,时间又那麽少!尽管有许多工作要完成,但我们还是先从这 一节开始。 这一节主要与网路有关。 网路联网涉及的问题□多,无法在此全部 概括。首先应参考NET-3 HOWTO,此外,多数 Linux 版本也提供了如何设定网路 功能的资料。此处只预备讨论其中几项要点。 假设在 Linux 上预备安装calendar或reminder、Http、Samba、telnet/ssh登录 、匿名 ftp(anonymous ftp)、POP/IMAP服务器和NFS等功能。 3.1 网路设置 设定 Linux 各种版本网路功能的方法可能相当复杂,但下述脚本足够启动网路: #!/bin/sh # net-up.sh: set up network access --设定联网 DEVICE=eth0 #-- 网卡 IPADDR=192.168.1.100 NETMASK=255.255.255.0 NETWORK=192.168.1.0 GATEWAY=192.168.1.1 ifconfig $DEVICE $IPADDR netmask $NETMASK up route add -net $NETWORK netmask $NETMASK $DEVICE route add default gw $GATEWAY 这个脚本在使用解救磁片连接网路时非常有用。当然,它只能使机器通过 ping ,ftp 和 telnet 与外界联络。 3.2 分享网际网路 Linux 服务器的一项最有用的功能就是分享网际网路。目前,大多数现成可用的 内核都已附有 IP firewalling、masquerading 和 forwarding 的功能。如要知 道详细功能,可参看 IP-Masquerade mini-HOWTO。然後安装 ipfwadm(内核 2.0.x; [20]http://www.xos.nl/ Linux /ipfwadm/)或 ipchains(内核2.2.x ; [21]http://www.adelaide.net.au/)。 注意:对需要的功能,启动相应的内核模组。例如,如需要ftp,则应将下行加入 /etc/rc.d/rc.sysconfig: /sbin/modprobe ip_masq_ftp 其他模组通常都放在/lib/modules/KERNEL-VERSION/ipv4档中。 为本地网路的其他机器启动IP masquerading功能的程序非常简单。首先检查网路 初始化脚本/etc/sysconfig/network (应在应该放置的位置)是否有内容 为FORWARD_IPV4=true的一行。通常在网路启动时 /proc/sys/net/ipv4/ip_forward均设为 1。 在/etc/rc.d/rc.sysinit中增加以下数行: # default: packets cannot go reach the outside # 预设为数据包无法发送到网际网路 /sbin/ipfwadm -F -p deny # allow all machines on the local network to reach the Internet # 使本地网路上的所有机器均可连接网际网路 /sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 # alternatively, allow only these two machines # 或只让下面两台电脑连到网际网路 # /sbin/ipfwadm -F -a m -S 192.168.1.100/24 -D 0.0.0.0/0 # /sbin/ipfwadm -F -a m -S 192.168.1.101/24 -D 0.0.0.0/0 如 Linux 已使用 2.2.x 系列内核,以ipfwadm-wrapper代替ipfwadm可加快启动 速度。 现在应使用户端机器拨接ISP;可试用Mserver( [22]http://cpwright.villagenet.com/mserver/)。修改etc/mserver.conf; 只需改动“checkhost”、“shadow”和“cname”三项。然後设定联网参数。 3.3 限制网路连接 假定电脑通过PPP连到网际网路。任何机器连到网际网路就有可能遭到外界的入侵 。在 /etc/hosts.allow中列入以下内容: # only allow access to localhost # 只允许连到localhost ALL: 127. 并在/etc/hosts.deny中列入: # deny access to everyone # 不让任何人进入 ALL: ALL 如果电脑所属的网路直接与网际网路连接,由于安全的理由,最好取消finger 、telnet等功能; 利用ssh替代telnet。此处只要修改/etc/inet.conf档即可。 同时, 也可在/etc/hosts.allow中增加下列内容限制网路连接: in.telnetd: 192.168.1., .另一个.可信的.网路地址 in.ftpd: 192.168.1., .另一个.可信的.网路地址 并在/etc/hosts.deny中增加下列内容: in.telnetd: ALL in.ftpd: ALL 3.4 NFS输出 这种方式用于服务器用户目录的输出;但如果用户的 UID 和 GID 在各台机器上 各不相同,就会发生问题。如果用户 guido 在server上的 UID/GID 为 500, 在client上的 UID/GID 为 512,则可设置如下: # /etc/exports /tmp my.client.machine(rw) /home/guido my.client.machine(rw,map_static=/etc/nfs/client.map) 在/etc/nfs/client.map档中填入: # /etc/nfs/client.map # NFS mapping for client # remote local uid 512 500 gid 512 500 3.5 域名服务器 有待编写 (译注:作者显然忘了编写这部分内容) 4. 软件设置 下列设置档必需加以设定:/etc/profile /etc/bashrc .bashrc .bashrc .bash_profile .bash_logout .inputrc .less .lessrc .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xmodmap.num .Xdefaults .jedrc .abbrevs.sl .joerc .emacs . 在完成系统设定以前不要增添用户;需要将点文档(dot files)放 入/etc/skel。 4.1 bash(1) 有人认为,这个软件是除内核之外最重要的软件。要使bash适合个人口味, 可修 改下列文档: * /etc/bashrc 存有整个系统的别名和功能; * /etc/profile 存有整个系统的环境参数和启动程式; * $HOME/.bashrc 存有用户的的别名和功能; * $HOME/.bash_profile 存有用户的环境参数和启动程式; * $HOME/.inputrc 存有主要绑定数值和其他位元数值; 下文例举对这些文档的修改。首先,最重要的文档是:/etc/profile。以下几节 中可以看到, 修改这个文档可以设定 Linux 的各种功能。 _________________________________________________________________ # /etc/profile # System wide environment and startup programs # --整个系统环境和启动程式 # # Functions and aliases go in /etc/bashrc # --/etc/bashhrc中包含功能和别名 # # This file sets up the following features and programs: # --这个文档设定下列功能: # # o path --路径 # o prompts --提示符 # o a few environment variables --几个环境变数 # o colour ls --ls 的颜色 # o less behaviour --设定less的功能 # o rxvt # # Users can override these settings and/or add others in their # $HOME/.bash_profile # 用户可在 $HOME/.bash_profile 中取消这些设定和(或)增加其他设定 # set a decent path # 设定可行的路径 PATH="$PATH:/usr/X11R6/bin:$HOME/bin:." # notify the user: login or non-login shell. If login, the prompt is # coloured in blue; otherwise in magenta. Root's prompt is red. # See the Colour-ls mini HOWTO for an explanation of the escape codes. # 通知用户:登录(login)或不登录(non-login)的外围程序(shell)。 # 如果登录,则提示符为蓝色,否则为紫红色。Root的提示符为红色。 # 参阅Colour-ls mini HOWTO 中对换码符(escape codes)的使用解释。 USER=`whoami` if [ $LOGNAME = $USER ] ; then COLOUR=44 # blue --蓝色 else COLOUR=45 # magenta --紫红色 fi if [ $USER = 'root' ] ; then COLOUR=41 # red --红色 PATH="$PATH:/usr/local/bin" fi ESC="\033" PROMPT='\h' # hostname --主机名 STYLE=';1m' # bold --粗体 # PROMPT='\u' # username --用户名 # STYLE='m' # plain --一般字体 PS1="\[$ESC[$COLOUR;37$STYLE\]$PROMPT:\[$ESC[37;40$STYLE\]\w\\$ " PS2="> " # no core dumps, please # 请勿转储内存信息 ulimit -c 0 # set umask # 设定umask if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi # a few variables # 几项变数 USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" # sendmail, postfix, smail # MAIL="$HOME/Mailbox" # qmail NNTPSERVER=news.myisp.it # put your own here VISUAL=jed EDITOR=jed HOSTNAME=`/bin/hostname` HISTSIZE=1000 HISTFILESIZE=1000 export PATH PS1 PS2 USER LOGNAME MAIL NNTPSERVER export VISUAL EDITOR HOSTNAME HISTSIZE HISTFILESIZE # enable colour ls # 设定ls的颜色 eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-s -F -T 0 --color=yes' # customize less # 设定less LESS='-M-Q' LESSEDIT="%E ?lt+%lt. %f" LESSOPEN="| lesspipe.sh %s" LESSCHARDEF=8bcccbcc13b.4b95.33b. # show colours in ls -l | less # LESSCHARSET=latin1 PAGER=less export LESS LESSEDIT LESSOPEN VISUAL LESSCHARDEF # fix the backspace key in rxvt/xterm # 设定rxvt/xterm中的退後键 CTRL_H="\010" NULL_STRING=" $CTRL_H" # space + backspace if [ "$NULL_STRING" != "" ] ; then stty erase ^? else stty erase ^H fi # set xterm title: full path case $TERM in xterm*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' ;; esac for i in /etc/profile.d/*.sh ; do if [ -x $i ]; then . $i # beware - variables and aliases might get overridden! fi done # call fortune, if available --如有fortune if [ -x /usr/games/fortune ] ; then echo ; /usr/games/fortune ; echo fi _________________________________________________________________ 此处为 /etc/bashrc: _________________________________________________________________ # /etc/bashrc # System wide functions and aliases # 整个系统的功能和别名 # # Environment stuff goes in /etc/profile # /etc/profile中的环境参数 # # Insert PS1 definitions here if you experience problems. # 如有问题可将PS1的参数放在此处 export CDPATH="$CDPATH: # common aliases --共同别名 alias cp='cp -i' alias l=less alias ls="ls $LS_OPTIONS" alias mv='mv -i' alias rm='rm -i' alias rmbk='/bin/rm -f .* alias u='cd ..' alias which="type -path" alias x=startx # A few useful functions --几项有用的功能 c () # cd to the new directory and list its contents { cd $1 ; ls } inst() # Install a .tar.gz archive in current directory --在当前目录中建立.tar .gz储存库 { if [ $# != 0 ]; then tar zxvf $1; fi } cz() # List the contents of a .zip archive --列出.zip的内容 { if [ $# != 0 ]; then unzip -l $*; fi } ctgz() # List the contents of a .tar.gz archive --列出.tar.gz的内容 { for file in $* ; do tar ztf ${file} done } tgz() # Create a .tgz archive a la zip. --建立压缩档.tgz { if [ $# != 0 ]; then name=$1.tar; shift; tar -rvf ${name} $* ; gzip -9 ${name} fi } crpm() # list information on an .rpm file --列出.rpm档的内容 { if [ $# != 0 ]; then rpm -qil $1 | less; fi } _________________________________________________________________ 此处为 .bashrc: _________________________________________________________________ # $HOME/.bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # this is needed to notify the user that they are in non-login shell # 需要以下设定,以便通知处於不登录(non-login)外围程序(shell)中的用户 if [ "$GET_PS1" = "" ] ; then COLOUR=45; ESC="\033"; STYLE=';1m'; # STYLE='m' USER=`whoami` export PS1="\[$ESC[$COLOUR;37$STYLE\]$USER:\[$ESC[37;40$STYLE\]\w\\$ " fi # personal aliases # 个人别名 alias backup='tar -Mcvf /dev/fd0' alias dial='eznet up myisp' alias f='cd alias hangup='eznet down' alias lyx='lyx -width 580 -height 450' alias restore='tar -M -xpvf /dev/fd0' # personal functions # 几个个人使用的功能 xj() # Launch xjed and a file in background --在背景启动xjed和文档 { xjed $1 & } _________________________________________________________________ 此处为.bash_profile: _________________________________________________________________ # $HOME/.bash_profile # User specific environment and startup programs # 用户特定的环境参数和启动程式 # # This file contains user-defined settings that override # those in /etc/profile # 这个文档中存有用户自订的设置,可取代/etc/profile 中的数值 # # Get aliases and functions # 设定别名和功能 # if [ -f then GET_PS1="NO" # don't change the prompt colour --不改变提示符的颜色 . fi # set a few `default' directories # 设定几个“默认”目录 export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology" _________________________________________________________________ 此处为 .inputrc: _________________________________________________________________ # $HOME/.inputrc # key bindings # 主要绑定 "\e[1 "\e[3 "\e[4 # (F1 .. F5) are "\e[[A" ... "\e[[E" # (F1 .. F5) 分别为 "\e[[A" ... "\e[[E" "\e[[A": "info \C-m" set bell-style visible # please don't beep # 喇叭不发声 set meta-flag On # allow 8-bit input (i.e, accented letters) # 允许8-位元输入(例如重音字符)译注:用于欧洲 set convert-meta Off # don't strip 8-bit characters # 不取消8-位元字符 set output-meta On # display 8-bit characters correctly # 正确显示8-位元字符 set horizontal-scroll-mode On # scroll long command lines # 长指令行自动翻转 set show-all-if-ambiguous On # after TAB is pressed # 按TAB键 _________________________________________________________________ 设定下列参数使 backspace 和 delete 两键在xterm 和其他X11应用中运作正常 : * 在.xinitrc中添加: usermodmap=$HOME/.Xmodmap xmodmap $usermodmap * 在.Xmodmap中添加: keycode 22 = BackSpace keycode 107 = Delete 以上就设定了主控台的参数。要修改xterm,则更改如下: * 在.Xdefaults中增添: xterm*VT100.Translations: #override BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3 Home: string(0x1b) string("[1 End: string(0x1b) string("[4 CtrlPrior: string(0x1b) string("[40 CtrlNext: string(0x1b) string("[41 nxterm*VT100.Translations: #override BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3 Home: string(0x1b) string("[1 End: string(0x1b) string("[4 CtrlPrior: string(0x1b) string("[40 CtrlNext: string(0x1b) string("[41 rxvt的问题比较复杂,因为在编辑时的一些设定会影响它的功能。参看上文 /etc/profile部分。 在bash(1) 和 readline(3) 的 man 说明中有更多这方面的资料。 不要以为这些设定在每种应用中都可正常运作。例如,在xterm中运行joe, 有些 键位就不起作用;运行rxvt也有相同的问题。 4.2 ls(1) ls可用颜色显示目录,突出不同种类的文档。如上文所示,要使用这项功能,只 要在 /etc/profile 增加几行内容即可。不过,这对有些版本的rxvt不起作用; 得使用 xterm 替代。看来一些老版本的rxvt有设计不全之处,以致在有些情况下 无法正确使用环境参数。 Caldera版本的ls不显示颜色,但它有一个类似的color-ls。 将以下内容加到 /etc/bashrc: alias ls="color-ls $LS_OPTIONS" 4.3 less(1) 利用这个优越的页面调度程序不仅能浏览一般文字文档,也能观看压缩的 gzip 文档和以 tar 和 zip 格式储存的档案文档和 man 文档,其设置如下: * 如要配合使用方向键,则将以下以ASCII编写的一般文字档.lesskey 置 于home目录内: ^[[A back-line ^[[B forw-line ^[[C right-scroll ^[[D left-scroll ^[OA back-line ^[OB forw-line ^[OC right-scroll ^[OD left-scroll ^[[6 ^[[5 ^[[1 ^[[4 ^[[7 ^[[8 然後运行指令lesskey。(这是类似vt100型终端机的换码符)。 这会生成绑 定键位的二进制文档 .less。 * 编制下列称为w /usr/local/bin/lesspipe.sh的文档: _____________________________________________________________ #!/bin/sh # This is a preprocessor for 'less'. It is used when this environment # variable is set: LESSOPEN="|lesspipe.sh %s" # 此为‘less’的预处理器。当环境参数定为LESSOPEN="|lesspipe.sh %s" # 时,便起用这个预处理器。 lesspipe() { case "$1" in *.tar) tar tf $1 2>/dev/null ;; # View contents of .tar and .tgz files # 阅读.tar和.tgz档的内容 *.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 ;; *.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 _____________________________________________________________ 然後运行chmod 755 lesspipe.sh,使其成为可执行档。 * 按照上文将必要的变数放入/etc/profile。 4.4 emacs(1) 文本编辑器 由于我不太用emacs,因此心得不多。有些emacs 版本没有预先设置颜色和语法标 示。可在.emacs中增添: (global-font-lock-mode t) (setq font-lock-maximum-decoration t) 这只对X11有用。如需使用重音符号,可增加此行: (standard-display-european 1) 我让您自己从关於emacs的文件资料中寻找设定符合您的需要的方法,有时这需要 几个月的时间。 点文档产生器( [23]设置软件)可以帮些忙。 4.5 joe(1) 文本编辑器 有些joe的版本不在主控台显示颜色,并且有些特殊键位不起作用。解决这项问题 的最快方法是: (译注:原文似乎有漏) 要使特殊键位发生作用,只要修改.joerc、.jstarrc或喜爱的仿真设定; 首先改 变/usr/lib/joe中的设置文档。利用第四部分(键位梆定)设定Home和 End两键 。 bol ^[ [ 1 eol ^[ [ 4 找出ESC的次序,键入cat,然後再键入特殊键。 4.6 jed(1) 文本编辑器 这是相当好用的编辑器:比emacs短小精悍,也宜於设定,使用方式也与其他编辑 器十分类似。 我们大学的许多用户都用jed替代VMS的系统编辑器EDT。 jed的设置文档为 .jedrc和/usr/lib/jed/lib/*;前者可从後者目录中的jed.rc 修改而得。 * 要使jed的特殊键位设置正确,编制/usr/lib/jed/lib/defaults.sl档, 其 内容如下: () = evalfile(" Linux "); * 如果xjed不识别DEL键,则在.jedrc中增加下列内容: #ifdef XWINDOWS x_set_keysym (0xFFFF, 0, "\e[3 setkey (``delete_char_cmd'', "\e[3 #endif * 编辑/usr/lib/jed/lib/ Linux .sl,设定Info_Directory = "/usr/info"; 并在/UCB_Mailer = "/bin/mail";后添加/bin/mail; * 设置jed模拟EDT(或其他编辑器)的工作不难:只须编辑 .jedrc 中的几行 内容。 如果要用小键盘中的‘+’键删字,而不只删一个字母,则在.jedrc 中() = evalfile("edt")(或类似的设定)之後增添下列内容: unsetkey("\eOl"); unsetkey("\eOP\eOl"); setkey("edt_wdel", "\eOl"); setkey("edt_uwdel", "\eOP\eOl"); * 在EDT模拟中,要使xjed使用数字小键盘,则须在 .Xmodmap 中添加下列内容 : keycode 77 = KP_F1 keycode 112 = KP_F2 keycode 63 = KP_F3 keycode 82 = KP_F4 keycode 86 = KP_Separator * 在.Xdefaults中增加以下内容可以更改xjed的颜色: xjed*Geometry: 80x32+150+50 xjed*font: 10x20 xjed*background: midnight blue # and so on... * 设定“简称表”可节省许多时间。编辑一个称为 $HOME/.abbrevs.sl 的程序 (如要改变名称,可在.jedrc中插入variable Abbrev_File = "/usr/lib/jed/abbrev.sl";): create_abbrev_table ("Global", "0-9A-Za-z"); define_abbrev ("Global", "GG", "Guido Gonzato"); create_abbrev_table ("TeX", "\\A-Za-z0-9"); define_abbrev ("TeX", "\\beq", "\\begin{equation}"); define_abbrev ("TeX", "\\eeq", "\\end{equation}"); % and so on... 并键入ESC x abbrev_mode使其运行。如要自动运行简称功能,将下列内容加 入 .jedrc: define text_mode_hook () { set_abbrev_mode (1); } % define fortran_hook () { set_abbrev_mode (1); use_abbrev_table ("Fortran"); } % and so on... 4.7 pine(1) 邮件阅读器 修改/usr/lib/pine.conf中涉及整个系统的设置,特别注意: user-domain 、smtp-server和nntp-server。同时注意 inbox-path取决于使用何种 MTA:如使 用 sendmail 或 postfix,则为 var/spool/mail/$USER;如使用 Qmail,则为 /home/$USER/Mailbox (但 root 使用 /usr/lib/pine.conf)。 4.8 minicom(1) 除非 root 修改影响整个系统的设置,否则用户无法使用 minicom。记住修改。 4.9 efax(1) 软件 可能这是一套最容易收发传真(fax)的软件。只要修改 /usr/bin/fax 内的指令 即可;修改不难,但有些小地方却需注意: * 利用 at+fclass=? 指令找出系统内的数据机的级别为 class 1、2或2.0型。 系统的回覆可能为 0,1,2;1 和 2 表示数据机支持的级别; * DIALPREFIX: 单单使用“T”或“P”可能不适用于有些国家(至少不适用于 义大利)。改用 “ATDT”或“ATDP”拨号; * INIT and RESET: efax 需要起始参数 “-i”和 “-k”。 如需使用 AT 指 令,则将其从指令中消除,并以 “-i” 或 “-k”替代。例如:在 INIT 中 使用 “ATX3” 指令,则加入 “-iX3”即可。 完成这项设置後,还要设置几项使用者的权限设定,这样非 root 的使用者才能 收发传真。首先要使 /var/lock 和 /var/spool/fax 成为可写目录。要完成这项 工作, 不妨设立 faxusers 群组,将使用者加入其中,然後以下列指令改变属性 : chmod g+w /var/spool/fax 4.10 Ghostscript 这个有用的软件有点小问题。因为美国的出口限制,pdf2ps 不能在加密的 .pdf 文档上使用。解决办法是将浏览器接上 [24]http://www.ozemail.com.au/, 把 pdf_sec.ps 文档取代 Ghostscript 中的同名文档即可。 4.11 TeX 的使用 假设 Linux 机上已安装了LeTeX。 * 从最近的镜像站下载其他与LaTeX有关的软件,例如 [25]ftp://ftp.dante.de/pub/tex。将这些文档放在 /usr/share/texmf/tex/latex 目录下,然後运行指令texhash,使 teTeX知 道新软件的存在; * 设置连字符(hyphenation),则可修改 /usr/share/texmf/tex/generic/config/language.dat档,然後运行: texconfig hyphen * 如要设定dvips,则需编辑 /usr/share/texmf/dvips/config/config.ps档。 注意:有关默认分辨率的参数也影响 xdvi的运行;如果每次运行时发现都要 创造字体,则可改动 .Xdefault的内容如下: XDvi*mfmode: 这应有所帮助。 * 扩大TeX的寻找□围可将子目录中的PostScript数字包括再内。将下列指令放 入 .bash_profile: export TEXINPUTS="$HOME/figures::./figures" 这使TeX在查找默认目录之前先查找$HOME/figures,并在查找默认目录之後 查找 ./figures。 4.12 避免PPP的问题 目前 Linux 的内核几乎都已编入了 PPP + TCP/IP 功能,设定了回送地址 (loopback)和正确安装了pppd软件和作为suid root。当然,ISP 得支持PPP。 目前有两种方式可使 PPP 正常运作:(a)手动设定;和(b)利用一个程式自动 设定。不论采用何种方式,均请收集下列资料: * ISP的电话号码 * ISP的名字、邮件和新闻服务器的地址 * ISP的域名 * 用户名字和密码 手动设置是件单调无聊、十分乏味的事。虽然涉及的工作无非是修改文档和编辑 脚本,并不麻烦, 但极易出错,新手往往不敢轻易□试。幸好有 PPP HOWTO 可 以参考。此外,也有工具可以使用,输入上述资料,然後自动为您设置。 Gnome 和KDE两套软件中分别包括了gnome-ppp和kppp两个工具,方便安装PPP, 令人十 分感激。此外,也不妨使用在主控台上操作的工具wvdial和eznet。 只要提 供ISP的电话号码、用户姓名、密码,就联网上路了。它们的网页是 [26]http://www.worldvisions.ca/wvdial和 [27]http://www.hwaci.com/sw/eznet,不妨试用。这两个工具都十分好用,也需 後者更方便一些。 使用eznet 首先,建立一个文档/etc/resolv.conf,内容如下: nameserver w.x.y.z 其中填入您使用的ISP的域名伺服器(nameserver)的地址。要利用eznet建立帐 户, 可使用下列指令: #(译注:原文有漏) 这会产生一个属於root的文档/var/eznet/eznet.conf,使用权限为600; 如要让 大家都能使用,用chmod将其改为666。利用eznet up YOUR_ISP拨号给ISP。如果 数据机一直等待电话的接拨信号,无法接通,试试下列指令: #(译注:原文有漏) 要挂断电话,只要发出eznet down指令。不是十分简单吗! 使用wvdial wvdial的设置甚至更短。键入wvdialconf /etc/wvdial.conf,然後修改这个文档 使其列入用户姓名、密码和电话号码。 用wvdial试拨,希望一切顺利。要断线, 用 Ctrl-C即可。 4.13 POP用户端程序 要从POP伺服器收取邮件,可使用POP用户端程序,如fetchpop或 fetchmail等; 後者比较先进,但需要运行sendmail。这对低档电脑而言, 似乎是多此一举。这 些软件可从 [28]ftp://metalab.unc.edu/pub/ Linux /system/mail/pop得到。 设置用户端的程式如下: * fetchpop:在第一次运行这个软件时会要求输入一些资料。只要回答所有问 题即可。 如果ISP的POP3伺服器不能正确执行LAST指令,在使用fetchpop时 必需加附参数-r * fetchmail:修改.fetchmailrc如下: # $HOME/.fetchmailrc poll mbox.myisp.com with protocol pop3; user john there with password _Loo%ny is john here 有个用户指出在第二行中增加“smtphost localhost”能大大改善运行速度 。 必须运行chmod 600 .fetchmailrc设定此档的使用权限,否则fetchmail 会完全拒绝运行。 这个例子只是一种非常基本的设定,还有其他各种可能设 定的办法, 可参看 [29]http://www.ccil.org/。 4.14 X 视窗系统 (XFree86) 设定X伺服器 归根结底,设定X伺服器已经没有以前那麽困难。所有版本的 Linux 现在都包括 了设定X11的工具(XConfigurator、sax、XF86Setup 或至少有xf86config)。目 前X伺服器的设置几乎完全自动, 只是有少数几种视像卡可能拒绝工作。在设 定X伺服器时如遭遇困难,可用下列简单的方法解决: * 确定安装了通用的VGA伺服器; * 连接到 [30]ftp://ftp.XFree86.org/pub/XFree86/current/binaries,cd到 适当的 Linux 子目录,下载X_version_bin.tgz、X_version_set.tgz和所有 伺服器。 在其他软件中,第一个存档软件内载有最新的SuperProbe; * 将X_version_bin.tgz打开到一个临时目录,cd到该目录,然後运行 ./SuperProbe。如果这个程式测得视像卡,那就有可能设定视像卡。否则就 没有希望; * 从/usr/X11R6/安装各个伺服器和X_version_set.tgz,然後运行 XF86Setup 。 这种方法一般都万无一失,但各人的情况可能不同。X11不开始运行的多数原因是 视像器的参数选择过高。 不妨从比较低的参数开始,例如选800x600和256色,然 後逐步上升。注意: 这些操作应谨慎小心,可能会损坏视像器! 数字小键盘 上文已经示□如何设定几个特别键位。如果使用Xjed,示□文档.Xmodmap就符合 需要, 但缺点是无法使用数字小键盘(keypad)。因此需要.Xmodmap.num另作设 定: ! Definitions can be found in ! 在中可找到各项定义 keycode 77 = Num_Lock keycode 112 = KP_Divide keycode 63 = KP_Multiply keycode 82 = KP_Subtract keycode 86 = KP_Add keycode 79 = KP_7 keycode 80 = KP_8 keycode 81 = KP_9 keycode 83 = KP_4 keycode 84 = KP_5 keycode 85 = KP_6 keycode 87 = KP_1 keycode 88 = KP_2 keycode 89 = KP_3 keycode 90 = KP_0 keycode 91 = KP_Decimal 确定/etc/X11/XF86Config中不得有下列三行: ServerNumLock Xleds XkbDisable 否则用#注销。要重新使用数字小键盘,运行指令xmodmap .Xmodmap.num。 用xdm图像登录 要使用图像登录,不妨修改/etc/inittab,使其包含下列内容: x:5:respawn:/usr/bin/X11/xdm -nodaemon 其中5是X11的运行级别(runlevel)(S.u.S.E. 用4)。按照下列方法修改默认 运行级别(通常为2或3): id:5:initdefault: 颜色的数值设定于/etc/X11/xdm/Xserver: :0 local /usr/X11R6/bin/X :0 -bpp 16 vt07 # first X server, 65k colours :1 local /usr/X11R6/bin/X :1 -bpp 32 vt08 # second X server, true colour 如果已有.xinitrc,将其复制成.xsession,并运行chmod +x .xsession使其成为 可执行档。然後运行指令telinit 5,那就大功告成了。 视窗管理器 一旦X伺服器能够无误地工作,那就有各种组合的设置;当然,这得看用哪种视窗 管理器(window manager),目前就有几十种可选。多数设置都是修改一、两个主 目录内的文本文件(ASCII files);也有根本不需作任何修改的视窗管理器,而用 一个小程式或甚至菜单来管理。 举例如下: * 属於fvwm家族: 拷贝 /etc/X11/fvwm/system.fvwmrc (或类似的程式)到主目 录, 打开试用。用这种方法可能会浪费不少时间,不过这样才会真正知道它 的特性,并了解是否投你所好; * WindowMaker: 它有几个设置文档,都在 $HOME/GNUstep内,并有一个相当不 错的小程式(applet); * KDE 和 Gnome: 没有任何修改之处:任何设定都通过菜单进行。 简言之,如果不在乎修改设置文档,可选用icewm、fvwm*、blackbox等; 否则就 选用目前常见的KDE、Gnome、WindowMaker和XFCE。 应该要有一个好的.xinitrc。举例如下: #!/bin/sh # $HOME/.xinitrc usermodmap=$HOME/.Xmodmap xmodmap $usermodmap xset s noblank # turn off the screen saver -- 关闭屏幕保护软件 xset s 300 2 # screen saver start after 5 min -- 5分钟之後启动屏幕保护 xset m 10 5 # set mouse acceleration -- 设定鼠标的速度 rxvt -cr green -ls -bg black -fg white -fn 7x14 \ -geometry 80x30+57+0 & if [ "$1" = "" ] ; then # default WINMGR=wmaker else WINMGR=$1 fi $WINMGR 虽然并非必需,但将其变成可执行档chmod +x .xinitrc。 这个 .xinitrc 让你选用视窗管理器: $ startx startkde # or other w.m. -- 或其他视窗管理器 (不过它不适用于有些版本的 S.u.S.E.) X11 应用软件的默认值 找出app-defaults的所在位置(应该在/usr/X11R6/lib/X11/app-defaults)。 有 几个应用软件的设置文档都在这个目录内。 4.15 使用者的设置文档 完成 Dot 文档的编辑後,将这些设置文档按 [31]软件设置的方法抄到 /etc/skel。 4.16 制作 .rpm rpm是一种管理整套软件的好方法,除非在特殊情况下(安全理由), 一般我都不 太愿意安装.tar.gz软件。要安装.tar.gz软件时,不妨将其转换成.rpm档, 然後 再安装;参考RPM HOWTO。此外,在使用比较新的gcc版本时,例如 egcs或pgcc, 不妨将下列内容加入/etc/rpmrc: optflags: i386 -O2 -mpentium 4.17 Upgrading 在机器升级时,应首先制作备份,并保存一些重要文档,其中应包括 /etc/X11/XF86Config、/usr/bin/fax和/usr/local 中的所有文档以及内核设置 、全套/etc和/var/spool/mail中的所有邮件。 然後应该升级(极少降级)软件版本附带的应用软件,和增加应用软件。 5. 设置软件 有一些程式使 Linux 易于安装和设置。有些程式已经成为标准: Red Hat 和 Caldera 以及一些附带 setup、printtool、netcfg、usertool的版本, S.u.S.E.奉送整套设置程序Yast。其他有用的程序包括: * The Dotfile Generator: X视窗的应用软件和模组,以便设置emacs、bash 、procmail等软件。 其网址为 [32]http://www.imada.ou.dk/ * Linux conf: 最有用的设置工具。它能在主控台和X下均可运行。要查找资料 ,不妨利用 [33]http://www.solucorp.qc.ca/ Linux conf网址。 6. 结束 6.1 版权说明(译者:保留原文) Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTO s. If you have questions, please contact Tim Bynum, the Linux HOWTO coordinator, at [34]Linux-HOWTO@metalab.unc.edu via email. 6.2 反馈意见 这份 HOWTO 也许比其他 HOWTO 更需要您提出意见和作出评论。我不仅对此表示 欢迎,事实上,这还是必需的。如果您发现遗漏或错误, 请务必通知我。如果您 使用的版本不同于 Red Hat/Mandrake,并且设置文档放置在不同的目录内,请通 知我,我会列入您的使用心得。 我希望大家使用 Linux 能越方便越好。 Linux 的版本很多,因此不可能罗列所有各种说明。 请将您的要求和建议尽量符 合最“合理”的程式 - 我留待您自己决定何者为合理的程度。 6.3 免责声明Disclaimer “系统设置 HOWTO ”是我 Guido Gonzato [35]guido@ibogeo.df.unibo.it编写 的,在此我要感谢所有其他 HOWTO 的作者和 man 说明的作者和(或)管理人员 ,因为我时常剽窃他们的心得,实感汗颜。 我并要感谢所有对我的文章提出批评 和建议的同好。 这份文件就以以上的内容提供给大家。我已尽力使内容正确,请各位斟酌使用, 但我对大家使用这份文件可能造成的後果不负任何责任。 我衷心希望这篇文章对您有用,因为我在安装新 Linux 系统时,也都时时借 助.... 希望您用得得心应手。 Guido =8-) References 1. file://localhost/tmp/zh-sgmltools.21377/guido``at''ibogeo.df.unibo.it 2. news:comp.os.linux.setup 3. http://metalab.unc.edu/mdw/HOWTO 4. http://ibogeo.df.unibo.it/guido/Configuration 5. http://www.seifried.org/lasg 6. http://nic.com/ 7. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#Restricting 8. http://www.cs.hut.fi/ssh/ 9. http://srp.stanford.edu/srp/ 10. ftp://metalab.unc.edu/pub/Linux/system/recovery 11. http://www.Linuxhq.com/patch/20-p0591.html 12. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#SVGA 13. http://www.Linuxhq.com/patch/20-p0239.html 14. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#Hostname 15. ftp://metalab.unc.edu/pub/Linux/system/hardware 16. http://www.torque.net/ 17. http://Linux.wauug.org/pub/knaff/mtools 18. http://bmrc.berkeley.edu/people/chaffee/fat32.html 19. ftp://tsx-11.mit.edu/pub/Linux/sources/sbin 20. http://www.xos.nl/Linux/ipfwadm/ 21. http://www.adelaide.net.au/ 22. http://cpwright.villagenet.com/mserver/ 23. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#Config sw 24. http://www.ozemail.com.au/ 25. ftp://ftp.dante.de/pub/tex 26. http://www.worldvisions.ca/wvdial 27. http://www.hwaci.com/sw/eznet 28. ftp://metalab.unc.edu/pub/Linux/system/mail/pop 29. http://www.ccil.org/ 30. ftp://ftp.XFree86.org/pub/XFree86/current/binaries 31. file://localhost/tmp/zh-sgmltools.21377/Config-HOWTO.txt.html#config 32. http://www.imada.ou.dk/ 33. http://www.solucorp.qc.ca/Linuxconf 34. file://localhost/tmp/zh-sgmltools.21377/Linux-HOWTO@metalab.unc.edu 35. file://localhost/tmp/zh-sgmltools.21377/guido@ibogeo.df.unibo.it