很多 Linux? 发行版本已经被设计为所谓的“LiveCD”,即可以直接引导为可用 Linux 系统的 CD。与大多数广为应用的 发行版本中可以使用的“拯救模式(rescue mode)”引导选项相反,这些 LiveCD 的设计是,当从 CD 引导起来后,提供一整套 可以使用的工具,其中有一些是通用的,有一些是高度专用的。David Mertz 介绍了 Linux 市场中这一迅速成长的分支。
Linux 的 LiveCD 发行版本已经有若干年的历史,但是近一两年这种发行版本的数量已经增加了好几倍。 现在的大部分专用 LiveCD 都起源于 LinuxTag 的 Knoppix 发行版本,那是个非常成功的发行版本。新奇的 LiveCD 发行版本 ―― 一般来讲很像新的 Linux 发行版本 ―― 为不同的用户群包装了不同的软件集,而且,为了体现它们的创建者的 思想,它们也包装了微调配置和设置细节。
当前,就算是没有几百种,也有几十种可用的 LiveCD 发行版本;显然,我不能在本文中涉及所有这些发行版本。 最受关注的 LiveCD 可能是特意用来向新用户展示 Linux 的通用办公软件包。不过,此外还有其他的更为 专用的发行版本,比如用作系统群集、急救 CD、防火墙或安全工具。在很多情况下,更为专用的发行版本也会更小, 因为它们舍弃了大部分通用的工具。
从 CD 引导 Linux
在本文中,我介绍了四个常见的通用发行版本:Knoppix、Slax、Mepis 和 GoboLinux。不过, 尽管大部分情况下最后一个发行版本是用于 办公/网络/游戏 的通用的发行版本,但 是,它的创建在很大程度上是为了论证关于文件系统设计的一些新颖想法。我还介绍了三个更为 专用的 LiveCD:Feather Linux 是通用的,但是非常小;EVMix 基于 StrongBox,引入了 EVM2003/Open Voting Consortium 项目的大部分专用软件,我正在参与那个项目;IPCop 是另一个小 型的 LiveCD,致力于创建基于 Linux 的防火墙。
对于这些发行版本中,其中大部分我将在它们各自的章节中对其进行描述。不过,在这里我将对 IPCop 进行 简短的评论。我兴奋地使用这个只有 22 MB 的小巧 ISO 来体验一个小型的、专用的 Linux LiveCD。 不幸的是,在尝试引导 IPCop 时,我有些失望了;不是发行版本本身的问题,而是我的期望问题。IPCop 仅仅 名义上是一个 LiveCD 发行版本 ―― 虽然它 确实 引导进入一个 Linux 系统,但是在那里您可以真正做的唯一的 事情就是将系统安装到硬盘上。就此而言,IPCop 类似于任何其他可安装的 Linux 发行版本 ―― 那些发行版本 大部分也可以让您选择一个最小化的 shell 来完成管理功能。IPCop 中的屏幕截图功能令人关注,但是,当发现需要使用 我的硬盘驱动器以后,我觉得更深入的测试超出了本次评论的范围。我的预感是,有很多其他大肆宣传的“LiveCD”也是像 这样徒有其名。
顺便说一句,在本次评论中,我所寻找的是明显的或者容易去做的内容 ―― 的确,除了我努力去完成的内容以外, 其他的事情也是可能的。我特别评论的话题包括,一个发行版本是否可以将两次引导间的配置方便地保存下来,或者 是否可以将其自身安装到硬盘驱动器上。我相信,只要付出足够多的体力劳动,我就可以在所有发行版本中完成那些 事情,不过,我寻找的是执行那些动作的重要菜单项(menu item)或指令。
Knoppix 3.4
Knoppix 是最有名的 LiveCD 发行版本,所以,作为一个基础,首先对它进行研究。Knoppix 3.4 (2004-05-17)将尽可能多的内容压缩到一张 CD 上,最终得到一个 690 MB 大小的 ISO 映像( 一定要买 700 MB 的 CD-R,而不要买 650 MB 的)。从它的大小就可以看出来,Knoppix 捆绑了大量 的工具,既有面向开发人员的,也有面向办公用途的。我所研究的工具都是当前流行的,但并不是尖端的 (bleeding edge):Linux 内核 2.4.26;KDE 3.2.2;OpenOffice.org 1.1.1;Gimp 2.0;Python 2.3.4c1。 Knoppix 倾向于附加功能重复的程序,这些可能会给新用户带来迷惑:有十个文本编辑器,我应该使用哪个? 我应该使用 Mozilla 还是 Konqueror 进行浏览?另一方面,那些都是经验丰富的用户所非常乐于使用的; Knoppix 坚持使用 OpenOffice.org 作为它的办公套件,而舍弃了一些发行版本中所采用的 KOffice。
可以直接引导 Knoppix,不需要用户做任何事件就可以得到一个可以使用的 KDE 桌面。我的所有硬件(几年前的 旧机器上的)都恰当地识别了出来,包括我的 1280x1024 的平板显示器以及与我的 nVidia TNT2 显卡相匹配的 模式。默认的用户是 knoppix,但是我发现不需要密码就可以执行 su ―― 可能是 安全与用户友好性的折衷吧。只需要执行 passwd 就可以解决这一问题,因为系统 中永远不应该存在没有密码的帐号。
我试验的所有通用发行版本所使用的窗口管理器都是 KDE(实际上,版本都是 3.2.2)。配置细节上有一些 不同,比如哪些图标安放在面板上,选择是哪种主题,使用的是哪种点击模式(单击/双击)。我并不喜欢 Knoppix 的选择:单击、Keramik 主题;但是这纯粹是一个个人问题,很容易改变。Knoppix 也附加了一些其他 的窗口管理器,不过它们之间的切换好像会破坏 X11 配置。
至于更多功能上的问题,Knoppix 引入了一个优秀的而且令人瞩目的“Save Knoppix Configuration”工具。您可以 按意愿将设置部分保存到软盘或者硬盘分区上:如主目录文件、网络设置、X11 配置、打印机等等。Knoppix 还 将我的所有硬盘分区自动挂载到桌面上,包括测试用的 OS/2 桌面上的 HPFS 分区。有一些可以在运行的系统上 “Install Software”的选项,但是除了这个有限的列表以外,如果我尝试添加其他应用程序,apt-get 就会指出 安装目录只读的错误(对我来说没有显而易见的可以解决这一问题的其他方法)。与一些发行版本相反,Knoppix 没有 提供将其自身安装到硬盘驱动器上的重要选项。
Mepis 2004
Mepis 是一个类似于 Knoppix 的发行版本,但是它具备双重用途,既可以作为一个可安装的发行版本, 也可以作为一个 LiveCD。与 Knoppix 类似,Mepis 也是一张几乎全满了的 CD,而且,实际上它还附带 了额外第二张的 CD(不是直接可用的)。Mpeis 上的工具集与 Knoppix 上的那些大部分是相同的。 LiveCD 为开发人员考虑的较少,而为办公用户考虑得更多。例如,LiveCD 上同时包括了 OpenOffice.org 和 KOffice;但是包括的程序员所用的编辑器和开发用的 IDE 很少。
与 Knoppix 相反,Mepis 引入了一个将其自身安装到硬盘驱动器的非常好的应用程序,但是却缺少保存 LiveCD 配置的工具以及 LiveCD 环境运行时动态安装额外软件的工具。诚然,Mepis 的目标是让您在安装 之前可以进行试验,而不是创建一个根本不需要任何持久安装的轻便的运行期环境。不过,不经修改的 Mepis LiveCD 环境就已经是很好用的了,您可以方便地将修改过的文档或文件保存到其他媒介。Mepis 不会 自动挂载它发现的所有硬盘驱动器分区,但是在它的桌面上有用来挂载分区的图标(不需要用户了解 mount 命令的参数)。和 Knoppix 一样,Mepis 可以恰当地挂载我的 HPFS 分区 (只读)和 ext2/3 分区(读/写)。
Mepis 的引导顺序与 Knoppix 稍有不同。更好的方面体现在,Mepis 为您提供了一个可导航的本文菜单来选择 内核的版本(我试验的是 2.6,但是 2.4 也是可以使用的)。选择屏幕分辩率和一些其他配置选项的能力(也是 要求)难言其利弊。全部以友好的可滚动菜单的形式给出,但是 Knoppix 根本不需要询问这些。另一方面,其余发 行版本大部分都假定我希望以 1024x768 的分辩率来运行 X11,而不是 1280x768 ―― 我宁愿自己来选择,而不愿 让 CD 弄错它。Mepis 中的一个小问题是,它设置的 root 和 demo 帐号的密码在引导过程中并没有显示 出来,也没有记录在顶层的 README 文件中。我只尝试了几次就猜出了 root 密码是“root”,但这毕竟是 猜测出来的。
SLAX 4.1.2
SLAX 是一个基于 Slackware 的 LiveCD,它的大小相对较小,可能是与 Slackware 的原则一致。 SLAX 4.1.2 是一个 188 MB 的 ISO,这个 ISO 显然是足够小的,可以写入到一张 8 厘米直径的 小型光盘中(有意如此)。SLAX 很好地选择了一组面向公办和家庭用户的软件,这很大程度上是通过 消除更大的发行版本中的冗余而实现的。例如,SLAX 为您提供了 KOffice,而不提供 OpenOffice.org, 为您提供了 Konqueror,而没有提供 Mozilla。它也没有提供 Python、Perl 或者 Ruby ―― 它的目标用户 显然不是开发人员。
引导 SLAX 是非常简单的。和 Knoppix 一样,它没有使用引导选项而是使用了开关,在它开始默认的 引导之前几秒钟,您可以在 boot: 提示符中输入这些开关。它使用的是 2.4 内核。完成基本的 Slackware 引导序列后,SLAX 显示出 root 密码(“toor”)并说明您可以在 命令行中启动的程序:(使用 gui 启动 KDE;使用 guifast 启动 Fluxbox;midnight commander;使用回退帧缓存的 X11;将配置的 设置保存到软盘或从软盘恢复)。
输入 gui 后,我发现了第一个小问题。我只有一个 1024x768 的屏幕。怎么办? 我知道去修改 /etc/X11/XF86Config 来设置新的分辩率,但是新用户可能不会想到这一点。我还 发现 gui 将可以接受一个 --help 开关来指引我 使用 X11 分辨率开关。这些对于不熟悉 Linux 的人来说都不是显而易见的。不过算了,这 是 Slackware。
进入了 X11 和 KDE 之后,我着实为其配置选项所吸引。我也喜欢 SLAX 选择的 Plastik 主题(尽管与 WinXP 有些 类似)和桌面上双击方式的行为,而且在 Konqueror 中我感觉更为自然。我还发现了面板上的自定义图标,值得 我们以稍微轻松的态度去看待 ―― 尊重一个事实,它们大部分用于多媒体、IM、游