LILO, Linux Crash Rescue HOW-TO 中译版 作者:Al Dev (Alavoor Vasudevan) [1]alavoor[AT]@yahoo.com 译者:黄国伟 [2]u4561055@cc.ncu.edu.tw v10.8, 25 Jan 2003 翻译日期:04 Feb 2003 _________________________________________________________________ 这份文件探讨从 Linux 系统当机中回复的方法。造成 Linux 系统当机的各种原 因可能是 - LILO 毁损、 linux 无法开机、 硬碟主开机记录(Master Boot Record, MBR)损坏、或是安装其他作业系统例如 Windows NT 而将 LILO 或 MBR 盖写掉所造成 linux 无法开机。 _________________________________________________________________ 1. 简介 * 1.1 小型软碟 Linux 系统 * 1.2 小型 CDROM Linux 系统 2. 当机回复 * 2.1 准备工作建议 * 2.2 使用 Linux 光碟的救援模式 * 2.3 回复系统的快速步骤 * 2.4 预防性措施 * 2.5 移除 LILO * 2.6 常犯错误 3. 相关网站 4. 此份文件的其他格式 * 4.1 Acrobat PDF 格式 * 4.2 将 Linuxdoc 转换成 Docbook 格式 * 4.3 转换成 MS WinHelp 格式 * 4.4 读取各种不同的格式 5. 版权 Copyright _________________________________________________________________ 1. 简介 (此文件的最新版本位於 [3]http://www.milkywaygalaxy.freeservers.com。 您可以从那里得到版本的变动情形。) 您无法避免意外的发生;如果意外发生在 linux 系统, 这可能会损害到硬碟主 开机记录 (MBR) 或是 LILO (Linux boot Loader)。 当 linux 由於硬碟故障而 导致无法开机时,意外就会发生。 假如您不小心重新划分磁碟,或是在 linux 系统的电脑上安装其他作业系统, 例如:Windows 98/NT,LILO 也可能会失效 。 这份文件给您一些建议、秘诀、和快速的指引来快速回复系统, 而不必费心地 研读上百页有关 LILO 或 Linux 的文件。 1.1 小型软碟 Linux 系统 为了回复任何作业系统如 Windows 95/NT/2000、OS/2、BeOS、或 Linux, 您可 能需要装在一片软碟片的小型 linux 系统。 请参考以下所列出的小型软碟 linux 系统 - * 最佳 [4]Tomsrtbt * 次佳的软碟 linux 系统 [5]MuLinux * [6]Trinux * [7]DLX * [8]FloppyFW * [9]Linux Router Proejct floppy * [10]Tiny Linux distributions * [11]TINYLinux 1.2 小型 CDROM Linux 系统 * Linuxcare Bootable Toolbox [12]http://lbt.linuxcare.com * LNX-BBC [13]http://lnxbbc.org * Tom's Root and Boot "the most GNU/Linux on one floppy disk" [14] http://www.toms.net/rb * "Innominate-Linux-Rescue-System" - a CD-based rescue system [15] http://innominate.org/projects/rescueCD * Irish Linux Users Group (ILUG) BBC: A bootable CD ISO [16] ftp://ftp.blackstar.co.uk/pub/ILUG/ * Lubbock: Meant to be the "Tom's Root Boot" of CDs [17] http://lubbock.sourceforge.net * Repairlix: a networked Linux distribution/bootable system intended to fit in 12MB of media. [18]http://repairlix.sourceforge.net * SuperRescue: a Red Hat-based bootable CD [19] http://www.kernel.org/pub/dist/superrescue * Timo's Rescue CD Set: an easy way of generating el Torito Boot Cd's [20]http://rescuecd.sourceforge.net 2. 当机回复 2.1 准备工作建议 在您使用下个章节的 Tomsrtbt 软碟或使用 RedHat 开机光碟 (使用救援选项) 登入之後, 您最好先备分重要的系统档案,像 /etc/fstab、/etc/lilo.conf。 如此在当机时或系统档案发生问题时是、活B□B楚{BBB硗野□满C _________________________________________________________________ bash# cp /etc/fstab /etc/fstab.orig bash# cp /etc/lilo.con etc/lilo.c,,,.orig bash# cp /etc/hosts /etc/hosts.orig bash# cp /etc/hosts.allow /etc/hosts.allow.orig bash# cp /etc/hosts.deny /etc/hosts.deny.orig bash# cp /etc/inetd.conf /etc/inetd.conf.orig bash# cp /etc/inittab /etc/inittab.orig bash# cp /etc/networks /etc/networks.orig _________________________________________________________________ 2.2 使用 Linux 光碟的救援模式 大部份的 Linux 发行套件像是 RedHat、SUSE、Debian, 皆有提供具有救援功 能的光碟。 您应当设定电脑的 BIOS ,使电脑能以 IDE 光碟机为第一开机装置 ,以便使用这类光碟。 设定 BIOS 时 (在开机时按 F8 键),以光碟机为第一开 机装置; 软碟机为第二开机装置;硬碟为第三开机装置。 将 Linux 光碟片放 入光碟机,并重开机。 Linux 套件将会被读取。在提示符号 (prompt) 下选择 「救援操作」。 在救援操作模式下,挂上 (mount) 硬碟并尝试修复它。 _________________________________________________________________ # chroot /mnt/SYSIMAGE # df _________________________________________________________________ 使用 chroot 後,整个系统看起来就像是从硬碟开机一样。 您可以看到硬碟上 的所有分割区,并且可以修复或回复档案。 2.3 回复系统的快速步骤 循著这些步骤执行,以便从 LILO 或系统当机中回复。 1. 状况 1: 假如系统无法开机 - 取得并建立 tomsrtbt 开机磁片 [21]http://www.toms.net/rb, 或 MuLinux 开机磁片 (请参考 [22]Tiny Linux)。 并使用 tomsrtbt 开机磁 片开机。 使用 fdisk 指令找出分割区(partitions)。 试著找出 root 和 boot 分割区。注意! root 分割区自己需拥有 /boot 档案。 Linux 的 root 分割区包含下列资料夹 bin, boot, etc, usr. Linux 的 boot 分割区则包含以下的资料夹: vmlinuz, boot.b, chain.b, map. 使用以下步骤找出 root 分割区: _____________________________________________________________ bash# fdisk /dev/hda Command (m for help): m (显示指令的辅助选单) Command (m for help): p (列出硬碟分割区) Command (m for help): q bash# mkdir /test bash# mount /dev/hda1 /test bash# ls /test 您应该会看到 root 分割区显示如下 - bin fd lib mnt proc sbin usr boot dev etc home lost+found opt root tmp var _____________________________________________________________ 如果此分割区并非 root 分割区,试试下个分割区 /dev/hda2 。 持续□试 hda3, hda4, hda5 等,直到找出 root 分割区为止。 如果您在 hda 上没 有找到 root 分割区, 则重覆以上步骤寻找其他硬碟,像是 hdb、hdc 、hdd等。 接下来您应找出 /boot、/usr、和 /var 分割区。 在建立新的 lilo 配置 时,这些分割区的位置是必需的。 以我的系统为例,root 分割区是在 /dev/hda4: _____________________________________________________________ bash# mkdir /rootpart bash# mount /dev/hda4 /rootpart bash# cat /rootpart/etc/fstab 阅读 fstab 的内容,并且按照 fstab 档案挂上 (mount) 分割区。像下面这样 - bash# mount /dev/hda5 /rootpart/boot bash# mount /dev/hda6 /rootpart/usr bash# mount /dev/hda7 /rootpart/var bash# mount /dev/hda8 /rootpart/opt bash# mount /dev/hda9 /rootpart/root bash# mount /dev/hda10 /rootpart/home _____________________________________________________________ 以我的系统为例,按照 fstab 所显示,hda5 是 boot、hda6 是 usr, hda7 是 var、hda8 是 opt、 hda9 是 root、hda10 是 home、而 hda11 是 windows95 (FAT16 分割区)。 编辑 /etc/fstab (不是 /rootpart/etc/fstab) 并且加入(以下程式码□ 例) _____________________________________________________________ /dev/hda4 /rootpart ext2 defaults 1 1 /dev/hda5 /rootpart/boot ext2 defaults 1 1 /dev/hda6 /rootpart/usr ext2 defaults 1 1 /dev/hda7 /rootpart/var ext2 defaults 1 1 /dev/hda8 /rootpart/opt ext2 defaults 1 1 /dev/hda9 /rootpart/root ext2 defaults 1 1 /dev/hda10 /rootpart/home ext2 defaults 1 1 /dev/hda11 /rootpart/win95part vfat defaults 1 1 在我的电脑中,hda4 为 linux 的 root 分割区、hda5 为 boot 分割区、 hda11 则为 windows 95 的 vfat 系统。 bash# mkdir /rootpart/win95part bash# mount /rootpart/win95part 使用 fsck 或 e2fsck 指令修复有问题的分割区。 bash# man fsck bash# man e2fsck _____________________________________________________________ 2. 状况 2: 如果 LILO 是无效的.. 依照状况 1 的步骤来排除问题。如果无法解决,则参照以下步骤。 在执行 状况 1 的步骤之後,您应该已经挂载上 /rootpart 并且已经建立好 /etc/fstab 档案。 注意:在进行以下步骤时,观察 chroot 如何运作是很重要的。 chroot 所 使用的 /sbin/lilo 档案的正确位置是在 /rootpart/sbin/lilo, 而不是 在 /sbin!!因此请不要混淆。 _____________________________________________________________ bash# mount -a bash# chroot /rootpart /sbin/lilo -q bash# man chroot bash# chroot /rootpart /sbin/lilo _____________________________________________________________ 注意:使用 chroot 的新手可能会被混淆。如果 chroot 抱怨它找不到 /boot/map 档案, 这种情形实际上代表著它无法找到 /rootpart/boot/map 。因为您使用 /rootpart 当作 chroot 的第一引数 (first argument),所 有的化身 (references) 都指向 /rootpart。 您也可以选择直接使用 /sbin/lilo 以代替 chroot。 lilo 加选项 -r 实 际上就和 chroot 指令是一样的。 强烈建议您使用 chroot,而不要使用 lilo -r, 因为使用 chroot 比较方便,且较容易找出错误。 _____________________________________________________________ bash# man lilo bash# /sbin/lilo -r /rootpart _____________________________________________________________ 3. 状况 3: 如果 LILO 是无效的.. 如果使用状况 1 和状况 2 的步骤均无法解决, 假如您有使用 'mkbootdisk' 制作过开机片(於安装时或参考 'man mkbootdisk'自行建立) ,则使用您的开机磁片来开机并修复分割区。 mkbootdisk 存在於 mkbootdisk*.rpm 的套件,您必须安装它。 (译注:随不同发行套件而有所 差异;请洽询您的发行套件厂商或组织) 或者从 [23] http://www.bootdisk.com/ 取得 Linux/NT/Windows/DOS/Mac 的开机磁片 。 其他选择 - 找 Linux 安装光碟来使用。 每个 Linux 套件会在光碟里 提供救援磁片的 image file,在 Linux 环境下,键入 "dd if=/cdrom/disks/rescue of=/dev/fd0" 来建立救援磁片。在 DOS 环境下 , 使用 rawrite.exe (包含在 Linux 光碟里),键入 "rawrite image-name a:" 来建立救援磁片。 4. 状况 4: 如果以上状况 1、2、3 的步骤皆无法解决问题,且您也没有开机 磁片 假如您有其他 linux 系统的电脑,以 root 身份登入并且执行 - 注意:如果您编译您自己的核心(kernel)为 bzImage (例如 bzImage-2.4.4), 您应当使用以下方法对 vmlinuz-2.4.4 建立硬连 结(hard link)。(注意 vmlinuz 的 z,而非 vmlinux) 如果您并未做此步 骤, 则 mkbootdisk 指令可能会失败。 _____________________________________________________________ bash# cd /boot bash# ls -l vmlinuz* bash# ln /boot/bzImage-2.4.4 /boot/vmlinuz-2.4.4 _____________________________________________________________ 现在您已有 bzImage 和 vmlinuz,执行下列指令 - _____________________________________________________________ bash$ man mkbootdisk bash# cp /etc/lilo.conf /etc/lilo-original.conf _____________________________________________________________ 编辑 /etc/lilo.conf 并将您在 '状况 1' 所获得的 root 分割区格式填入 ;之後插入空白磁碟片并执行 - _____________________________________________________________ bash# mkbootdisk --device /dev/fd0 2.2.12-20 (译注:2.2.12-20 为核心版本编号,请自行依照您的 linux 核心版本作改变。) _____________________________________________________________ mkbootdisk 存在於 mkbootdisk*.rpm 的套件,您必须安装它。 (译注:随 不同发行套件而有所差异;请洽询您的发行套件厂商或组织) 您必须确保将 /etc/lilo-original.conf 更改回原来的档名 /etc/lilo.conf!! 再以此开 机磁片进行状况 3 的步骤。 5. 状况 5: 这是最坏的情况,希望您不会走到这个地步。 状况 1 到 4 已包 含了绝大多数的案例,但是如果连状况 1、2、3、和 4 的步骤都无法解决 - 第一步: 使用 tomsrtbt 开机磁片开机, (请参考 [24]Tiny Linux) 挂上 分割区, 并且使用以下指令备份 root 分割区至其他还有磁碟空间的分割 区 - _____________________________________________________________ 编辑 /etc/fstab 并且写入(以下的程式码□例, 您可能必须按照您的磁碟机实际状况作改变) - /dev/hda4 /rootpart ext2 defaults 1 1 /dev/hda11 /b1 vfat defaults 1 1 bash$ mkdir /rootpart; mount /rootpart bash$ mkdir /b1; mount /b1 bash$ cd / bash$ df 查看 /b1 是否有足够的磁碟空间,以便使用 tar 来备份 root 分割区。 bash$ tar cvf /b1/root-hda4.tar /rootpart _____________________________________________________________ 第二步: 放入 Linux 光碟片,重开机并安装 redhat linux (译注:或安 装其他 linux 发行套件) 在 /dev/hda4 (但千万不要安装任何多馀的套件 , 您只需要安装 root、boot 系统,和 LILO 管理者。 也就是说,选择最 小安装即可)。 安装程式也将会安装 LILO 在您的硬碟里。 现在重新启动 linux,以 root 身份登入,并且执行 - _____________________________________________________________ bash$ man mkbootdisk bash# cp /etc/lilo.conf /etc/lilo-original.conf _____________________________________________________________ 注意:您必须记得将 lilo-original.conf 复制回 lilo.conf!! 编辑 /etc/lilo.conf 并将您在 '状况 1' 所获得的 root 分割区格式填入;之 後插入空白磁碟片并执行 - _____________________________________________________________ bash# mkbootdisk --device /dev/fd0 2.2.12-20 (译注:2.2.12-20 为核心版本编号,请自行依照您的 linux 核心版本作改变。) bash# cp /etc/lilo-original.conf /etc/lilo.conf _____________________________________________________________ 测试此开机磁片,检视其是否能运作, 并将第一步中利用 tar 作备分的档 案 /b1/root-hda4.tar 回复。 (译注:您可使用 tar xvf 来回复。详见 tar manpage) 2.4 预防性措施 您应当采取下列的预防性措施来处理未来可能发生的问题。 * 您一定要偶尔制作救援开机磁片,且在您改变分割区时一定要制作。 插入 空白磁碟片并执行 - _____________________________________________________________ bash$ man mkbootdisk mkbootdisk 存在於 mkbootdisk*.rpm 的套件,您必须安装它。 (译注:随不同发行套件而有所差异;请洽询您的发行套件厂商或组织) bash$ mkbootdisk --help bash$ mkbootdisk --device /dev/fd0 2.2.12-20 (译注:2.2.12-20 为核心版本编号,请自行依照您的 linux 核心版本作改变。) _____________________________________________________________ * 您必须将分割表设定 (partition tables setup) 备份至磁片和硬碟里。 您也应将此设定列印并贴至电脑机壳上。 _____________________________________________________________ bash$ su - root bash# man fdisk bash# fdisk -l /dev/sda > partition_table_backup.txt _____________________________________________________________ 如果您需要重新分割硬碟,这样做是非常有帮助的。 从列印出来的分割表 资料,您将会了解分割区磁柱的起始。 回复系统时,在重新分割与格式化 硬碟後,您可以利用备份资料回复原先的分割设定。 * 您手边必须拥有 tomsrtbt 的开机磁片。详见 [25] http://www.toms.net/rb (请参考 [26]Tiny Linux) * 您手边必须拥有 Yard 救援和开机磁片。详见 [27] http://www.linuxlots.com/~fawcett/yard * 备分 /root 与 /boot 目录。使用 Tomsrtbt 开机磁片开机, (请参考 [28]Tiny Linux) 并且执行 _____________________________________________________________ bash# vi /etc/fstab 加入以下数行 - /dev/hda1 /a1 vfat defaults 1 1 /dev/hdb1 /b1 vfat defaults 1 1 以我的系统为例, hda1 为 linux 之 root 分割区 '/' bash# cd / bash# tar cvf /b1/linux-root-partition-hda1.tar a1 bash# tar cvf /b1/linux-boot-partition-hda1.tar a1/boot _____________________________________________________________ 2.5 移除 LILO 您可以使用 DOS 启动载入程式(boot loader)载入启动磁区,并以之取代 LILO 。 在 MS DOS 提示符号下输入以下指令: _________________________________________________________________ FDISK /MBR _________________________________________________________________ 此处的 MBR 代表 "硬碟主开机记录(Master Boot Record)"。 请参考 LILO 文件,取得其他移除 LILO 的方法;这些文件通常放在 linux 系 统上的 /usr/doc/lilo* (译注:或者是 /usr/share/doc/lilo*)。也请参考 'man lilo'。 2.6 常犯错误 在您更改 /etc/lilo.conf 之後,您必须执行 lilo ,使您的改变生效。 忘了 执行是 linux 初学者很常犯的错误。执行 - _________________________________________________________________ bash# lilo -v -v -v _________________________________________________________________ 3. 相关网站 请参阅以下位址,可取得 LILO、Linux 救援、当机回复的相关资讯 - * Mini Lilo HOWTO at [29] http://www.linuxdoc.org/HOWTO/mini/LILO.html * Bootdisk-HOWTO at [30] http://www.metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO/index.html * Pre-made boot disks at [31] http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO/ * Boot disks for Linux/NT/Windows/DOS/Mac at [32] http://www.bootdisk.com * Tomsrtbt boot floppy disk [33]http://www.toms.net/rb (请参阅 [34] Tiny Linux) * Yard rescue and boot floppy disk [35] http://www.linuxlots.com/~fawcett/yard * BootPrompt-HOWTO at [36] http://www.linuxdoc.org/HOWTO/BootPrompt-HOWTO.html * Multiboot with LILO mini HOWTO at [37] http://www.linuxdoc.org/HOWTO/mini/Multiboot-with-LILO.html * Linux+WinNT mini HOWTO at [38] http://www.linuxdoc.org/HOWTO/mini/Linux+WinNT.html * Linux goodies main site [39] http://www.milkywaygalaxy.freeservers.com 映射站如下 - [40] http://aldev0.webjump.com, [41]angelfire, [42]geocities, [43] virtualave, [44]50megs, [45]theglobe, [46]NBCi, [47]Terrashare, [48]Fortunecity, [49]Freewebsites, [50]Tripod, [51]Spree, [52] Escalix, [53]Httpcity, [54]Freeservers. * Vim color text editor for C++, C [55] http://metalab.unc.edu/LDP/HOWTO/Vim-HOWTO.html 4. 此份文件的其他格式 此份文件是以 14 种不同的格式所发行的 - DVI, Postscript, Latex, Adobe Acrobat PDF, LyX, GNU-info, HTML, RTF(Rich Text Format), Plain-text, Unix man pages, single HTML file, SGML (Linuxdoc format), SGML (Docbook format), MS WinHelp format. 此份 howto 文件是在 - * [56]http://www.linuxdoc.org 按下 HOWTOs 连结, 并且在网页浏览器上 使用 CTRL+F 或 ALT+f 来搜寻 howto 文件名称。 您也可从以下的映射站找到此份文件 - * [57]http://www.caldera.com/LDP/HOWTO * [58]http://www.linux.ucla.edu/LDP * [59]http://www.cc.gatech.edu/linux/LDP * [60]http://www.redhat.com/mirrors/LDP * 其他较靠近您的映射站 (网址智慧辨识,network-address-wise) 可以在此 找到 [61]http://www.linuxdoc.org/mirrors.html 选择一个映射站,并且 进入目录 /LDP/HOWTO/xxxxx-HOWTO.html * 您可以从下列连结得到 HTML、DVI、Postscript、或 SGML 格式的 HOWTO 文件单一 tar ball 档案 - [62] ftp://www.linuxdoc.org/pub/Linux/docs/HOWTO/other-formats/ 与 [63] http://www.linuxdoc.org/docs.html#howto * 纯文字格式是在: [64]ftp://www.linuxdoc.org/pub/Linux/docs/HOWTO 与 [65]http://www.linuxdoc.org/docs.html#howto * Single HTML 档案格式是在: [66] http://www.linuxdoc.org/docs.html#howto Single HTML 档案可以使用下列指令来建立 (参见 man sgml2html) - sgml2html -split 0 xxxxhowto.sgml * 其他语言之文件翻译,像是法文、德文、西班牙文、 中文、日文等是在 [67]ftp://www.linuxdoc.org/pub/Linux/docs/HOWTO 与 [68] http://www.linuxdoc.org/docs.html#howto 欢迎您帮忙翻译成其他语言的 版本。 此份文件是以 "SGML-Tools" 工具软体所撰写的,您可以在下面的连结得到此软 体 - [69]http://www.sgmltools.org 您可使用以下指令编译原始档,例如: * sgml2html xxxxhowto.sgml (获取 html 档案) * sgml2html -split 0 xxxxhowto.sgml (获取 single page html 档案) * sgml2rtf xxxxhowto.sgml (获取 RTF 档案 ) * sgml2latex xxxxhowto.sgml (获取 latex 档案) (译注:中译版使用者请至 ftp.linux.org.tw/pub/CLDP/src 下载 zh-sgmltools-1.x-x.tar.gz 并安装之,再以 bg5sgml2html、bg5sgml2rtf、 bg5sgml2latex 或 gbsgml2html、gbsgml2rtf、gbsgml2latex 指令编译原始档 。详见 SGMLtools 中文套件使用说明 [70] http://www.linux.org.tw/CLDP/zh-sgmltools.html) 4.1 Acrobat PDF 格式 PDF 档案可以从 postscript 档案使用 acrobat distill 或 Ghostscript 来取 得。 而 postscript 档案是从 LaTex 档案先转成 DVI, 再转成 postscript 而取得。 您可以从 [71]http://www.adobe.com 下载 distill。 如以下□例所 示: _________________________________________________________________ bash$ man sgml2latex bash$ sgml2latex filename.sgml bash$ man dvips bash$ dvips -o filename.ps filename.dvi bash$ distill filename.ps bash$ man ghostscript bash$ man ps2pdf bash$ ps2pdf input.ps output.pdf bash$ acroread output.pdf & _________________________________________________________________ 或者您可使用 Ghostscript 的指令 ps2pdf。 ps2pdf 是个与 Adobe's Acrobat Distiller 产品作用相似并拥有其大部分功能的指令: 它将 PostScript 档案 转换成可携式文件格式(Portable Document Format, PDF)档案。 ps2pdf是被一 个包含在 Ghostscript 的指令稿 (command script) (批次档 batch file),且 选择一种名叫 pdfwrite 的特殊 "输出装置 (output device)" 来执行。为了要 使用 ps2pdf, 当 Ghostscript 在安装编译时,pdfwrite 装置必须要包含在 makefile 里; 详见安装 Ghostscript 的文件。 4.2 将 Linuxdoc 转换成 Docbook 格式 这份文件是以 linuxdoc SGML 格式所撰写。Docbook SGML 格式 较 linuxdoc 格式更强大,且拥有更多特色。 linuxdoc 非常简单且易用。我们使用 ld2db.sh 程式和一些 perl scripts 来将 linux SGML 档案转换成 Docbook SGML。 ld2db 的输出结果并非 100% 完美,您需要使用 cleanup_ld2db.pl 这 个 perl script。您可能必须手动更改文件中的数行。 * 从 [72]http://www.dcs.gla.ac.uk/~rrt/docbook.html 或从 [73] Milkyway Galaxy site 下载 ld2db 程式 * 从 [74]Milkyway Galaxy site 下载 cleanup_ld2db.pl 这个 perl script 。 ld2db.sh 并非 100% 完美,您在执行以下指令时将会得到许多错误 _________________________________________________________________ bash$ ld2db.sh file-linuxdoc.sgml db.sgml bash$ cleanup.pl db.sgml > db_clean.sgml bash$ gvim db_clean.sgml bash$ docbook2html db.sgml _________________________________________________________________ 而您可能必须在执行完 perl script 後, 手动编辑一些小错误的地方。例如: 您可能需要 < /Para>在每个 < Listitem> 写入封闭标记 (closing tag) 4.3 转换成 MS WinHelp 格式 您可以将 SGML howto 文件转换成 Microsoft Windows Help 档案。 首先使用 以下指令将 sgml 转换成 html: _________________________________________________________________ bash$ sgml2html xxxxhowto.sgml (获取 html 档案) bash$ sgml2html -split 0 xxxxhowto.sgml (获取 single page html 档案) _________________________________________________________________ 然後使用 [75]HtmlToHlp. 您也可使用 sgml2rtf,然後使用 RTF 档案以获取 winhelp 档案。 4.4 读取各种不同的格式 要阅读 dvi 格式的文件,必须使用 xdvi 程式。xdvi 程式在 Redhat Linux 是 存在於 tetex-xdvi*.rpm (译注:随不同发行套件而有所差异;请洽询您的发行 套件厂商或组织)。 您可以从控制面板(ControlPanel) | 应用程 式(Applications) | 出版(Publishing) | Tex 的选单按钮开启之。 要读取 dvi 格式文件,请执行以下指令 - xdvi -geometry 80x90 howto.dvi man xdvi 并且使用滑鼠来重新设定视窗大小。 使用方向键、Page Up、Page Down 来导引 , 您也可使用 'f', 'd', 'u', 'c', 'l', 'r', 'p', 'n' 字母键 来上移、下 移、置中、至下一页、回上一页等。 要关闭专家选单,请按 'x'。 您可以使用 'gv' (ghostview) 或 'ghostscript' 来阅读 postscript 格式的 文件。 在 Redhat Linux 里,ghostscript 存在於 ghostscript*.rpm 套件 ;gv 则存在於 gv*.rpm 套件里。(译注:随不同发行套件而有所差异;请洽询 您的发行套件厂商或组织) 您可以从控制面版(ControlPanel) | 应用程 式(Applications) | 美工绘图(Graphics) 的选单按钮开启之。gv 远比 ghostscript 更人性化。 ghostscript 和 gv 也有其他平台的版本,像是 OS/2 、 Windows 95 和 NT,您甚至在那些平台也可以观看此份文件。 * 您可从以下网址获得 Windows 95、OS/2、 和所有作业系统平台的 ghostscript [76]http://www.cs.wisc.edu/~ghost 要阅读 postscript 格式的文件,执行以下指令 - gv howto.ps ghostscript howto.ps 您可以使用 Netscape Navigator、Microsoft Internet explorer、 Redhat Baron Web browser 或任何其他的 10 种浏览器来阅读 HTML 格式的文件 您可以使用 LyX -- 一种 latex 在 X-Windows 的前端界面,来阅读 latex 格 式的文件。 5. 版权 Copyright 版权政策按照 LDP (Linux 文件计划) 为 GNU/GPL。 LDP 是 GNU/GPL 计划之一 。 额外的请求为您在所有的复制文件中保留作者的姓名、电子邮件信箱位址、 和此份版权声明。假如您对这份文件进行修改或增添, 那麽请您告知此份文件 的所有作者。 在这份文件上所登载的姓名为其各自所有人的所有权 原文 (如中译有误,以原文为主) Copyright policy is GNU/GPL as per LDP (Linux Documentation project). LDP is a GNU/GPL project. Additional requests are that you retain the author's name, email address and this copyright notice on all the copies. If you make any changes or additions to this document then you please intimate all the authors of this document. Brand names mentioned in this document are property of their respective owners. References 1. mailto:alavoor[AT]@yahoo.com 2. mailto:u4561055@cc.ncu.edu.tw 3. http://www.milkywaygalaxy.freeservers.com/ 4. http://www.toms.net/~toehser/rb 5. http://sunsite.dk/mulinux 6. http://www.trinux.org/ 7. http://www.wu-wien.ac.at/usr/h93/h9301726/dlx.html 8. http://www.zelow.no/floppyfw 9. http://www.psychosis.com/linux-router 10. http://www.txdirect.net/users/mdfranz/tinux.html 11. http://tiny.seul.org/en 12. http://lbt.linuxcare.com/ 13. http://lnxbbc.org/ 14. http://www.toms.net/rb 15. http://innominate.org/projects/rescueCD 16. ftp://ftp.blackstar.co.uk/pub/ILUG/ 17. http://lubbock.sourceforge.net/ 18. http://repairlix.sourceforge.net/ 19. http://www.kernel.org/pub/dist/superrescue 20. http://rescuecd.sourceforge.net/ 21. http://www.toms.net/rb 22. file://localhost/tmp/zh-sgmltools.21436/LILO-crash-rescue-HOWTO.txt.html#tiny 23. http://www.bootdisk.com/ 24. file://localhost/tmp/zh-sgmltools.21436/LILO-crash-rescue-HOWTO.txt.html#tiny 25. http://www.toms.net/rb 26. file://localhost/tmp/zh-sgmltools.21436/LILO-crash-rescue-HOWTO.txt.html#tiny 27. http://www.linuxlots.com/~fawcett/yard 28. file://localhost/tmp/zh-sgmltools.21436/LILO-crash-rescue-HOWTO.txt.html#tiny 29. http://www.linuxdoc.org/HOWTO/mini/LILO.html 30. http://www.metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO/index.html 31. http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO/ 32. http://www.bootdisk.com/ 33. http://www.toms.net/rb 34. file://localhost/tmp/zh-sgmltools.21436/LILO-crash-rescue-HOWTO.txt.html#tiny 35. http://www.linuxlots.com/~fawcett/yard 36. http://www.linuxdoc.org/HOWTO/BootPrompt-HOWTO.html 37. http://www.linuxdoc.org/HOWTO/mini/Multiboot-with-LILO.html 38. http://www.linuxdoc.org/HOWTO/mini/Linux+WinNT.html 39. http://www.milkywaygalaxy.freeservers.com/ 40. http://aldev0.webjump.com/ 41. http://www.angelfire.com/country/aldev0 42. http://www.geocities.com/alavoor/index.html 43. http://aldev0.virtualave.net/ 44. http://aldev0.50megs.com/ 45. http://members.theglobe.com/aldev1/index.html 46. http://members.nbci.com/alavoor 47. http://aldev.terrashare.com/ 48. http://members.fortunecity.com/aldev 49. http://aldev.freewebsites.com/ 50. http://members.tripod.lycos.com/aldev 51. http://members.spree.com/technology/aldev 52. http://www.escalix.com/freepage/aldev 53. http://www.httpcity.com/aldev/index.html 54. http://aldev.freeservers.com/ 55. http://metalab.unc.edu/LDP/HOWTO/Vim-HOWTO.html 56. http://www.linuxdoc.org/ 57. http://www.caldera.com/LDP/HOWTO 58. http://www.linux.ucla.edu/LDP 59. http://www.cc.gatech.edu/linux/LDP 60. http://www.redhat.com/mirrors/LDP 61. http://www.linuxdoc.org/mirrors.html 62. ftp://www.linuxdoc.org/pub/Linux/docs/HOWTO/other-formats/ 63. http://www.linuxdoc.org/docs.html#howto 64. ftp://www.linuxdoc.org/pub/Linux/docs/HOWTO 65. http://www.linuxdoc.org/docs.html#howto 66. http://www.linuxdoc.org/docs.html#howto 67. ftp://www.linuxdoc.org/pub/Linux/docs/HOWTO 68. http://www.linuxdoc.org/docs.html#howto 69. http://www.sgmltools.org/ 70. http://www.linux.org.tw/CLDP/zh-sgmltools.html 71. http://www.adobe.com/ 72. http://www.dcs.gla.ac.uk/~rrt/docbook.html 73. http://www.milkywaygalaxy.freeservers.com/ 74. http://www.milkywaygalaxy.freeservers.com/ 75. http://javadocs.planetmirror.com/htmltohlpe.html 76. http://www.cs.wisc.edu/~ghost