天天看点

制作Fedora Live CD

现在应该使用 <code>livecd-creator</code> 命令,不使用任何选项调用该命令可获取一个简单的命令列表。

<a>清单 2. livecd-creator 命令提供的选项</a>

<a>创建核心包的本地存储库</a>

<a>清单 3. 安装 createrepo 工具</a>

现在创建本地存储库,首先从 Core 6 的 5 张 CD 或 1 张 DVD 中复制所有的 RPM,然后使用 createrepo 工具。

<a>清单 4. 创建本地存储库</a>

执行完最后一条命令要花费些时间,它将创建一个 repodata 目录。<code>livecd-creator</code> 命令使用此目录来访问包。

<a>创建配置包的本地存储库</a>

由于要使用 Zeuthen 的包作为 Live CD 的基础,因此也需要为它们创建本地存储库。

<a>清单 5. 创建 LiveCD 包的存储库</a>

跟以前一样,最后一条命令将生成 repodata 目录,帮助 <code>livecd-creator</code> 定位配置包。

<a>制作 CD</a>

设置好存储库后,就可轻松地创建定制 Live CD 了。<code>livecd-creator</code> 命令生成 ISO 映像,这些映像可被烧制成 CD-R。但是我建议使用虚拟化软件测试 ISO,而不要实际将它们烧制到物理介质上。有几种这类软件可免费获得,如 VMware Player、QEMU 和 VirtualBox。

<a>最小的 Live CD</a>

要熟悉 <code>livecd-creator</code> 命令的用法,可由创建最小的 Live CD 开始:

<a>清单 6. 创建最小的 Live CD</a>

此命令要求 <code>livecd-creator</code> 从本地存储库中获取三个包 —— bash、grub 和 kernel,并将它们包含到名为 Fedora-minimal-LiveCD 的 Live CD 中。<code>livecd-creator</code> 命令使用 Fedora 的 YUM 安装这些包,也因此要安装指定包依赖的其他应用程序。

执行完该命令要花费些时间,因为它将创建工作区,然后安装指定的包和它们的依赖项,重新标记 SELinux(Fedora 的安全机制)的工作区,压缩整个工作区,配置 Live CD bootloader、GRUB,并最终创建 ISO 映像。

恭喜您!您成功创建了您的第一个 Live CD。当然,您尚不能使用它来实现多少功能,因为缺乏配置文件。

<a>带 GNOME 的 Live CD</a>

既然您已经了解了 <code>livecd-creator</code> 命令的用法,现在就可以使用它创建包含 GNOME 的 Live CD 了。

<a>清单 7. 创建带 GNOME 的 Live CD</a>

这里,使用本地存储库获取基础包并指定 CD 应该基于哪个配置包。还要指定 fedora-livecd-gnome 所需的包都应从本地核心存储库中获取。fedora-livecd-gnome 中有一些包不在核心存储库中,这些包将通过给定的 URL 从附加存储库中获取。最后,它将创建名为 My-Fedora-LiveCD-1.iso 的 ISO。

如果 <code>livecd-creator</code> 无法找到包 —— 例如,如果它不在指定的存储库中 —— 则命令会跳过该包并仍将继续创建 Live CD。除非缺少的包是关键包(如 kernel),否则,您均将得到一个可用的 Live CD。

除配置 RPM 中提到的包外,还可使用 <code>--package</code> 开关添加定制包。<code>livecd-creator</code> 命令也可使用多个存储库构建 CD。

<a>清单 8. 使用多个存储库创建 Live CD</a>

与前一个示例中一样,此命令使用所有来自 fedora-livecd-gnome 的包创建 Live CD。另外,它将包含 OpenOffice.org 办公套件,该套件可从核心存储库中获得。它也将添加来自 livna 存储库的 VLC Media Player。我们将其称作 My-LiveCD-2,因为它包含来自第三方存储库的包,不能被称作 Fedora Live CD。

如果创建 CD 后,想要将另一个应用程序(如 Evolution e-mail client)添加到定制 CD 中可以么?没问题。如果前一个 CD 的 ISO 可用,则只需让 <code>livecd-creator</code> 使用此 ISO 的包并追加新包即可。

<a>清单 9. 向现有的 Live CD ISO 中添加新包</a>

这将根据前一个 ISO 中的包和附加的 Evolution 包创建一个新的 Live CD。

<a>创建定制配置包</a>

我希望上述示例能让您了解创建 Live CD 实际上是一项很简单的工作。使用 Zeuthen 提供的包,您可继续创建 Live CD,向其中添加来自任何存储库的应用程序。

但是假设您需要创建可用于编写文档和代码的 Live CD。您希望为编写代码文档将 OpenOffice.org、Evolution e-mail client、Beagle desktop search、GAIM instant messenger、Xchat IRC client、GIMP image manipulator、GCC compiler、GDB debugger 和 Doxygen 包含进来。

可以在每次想要装配 CD 时使用 <code>--package</code> 开关指定它们,也可以编写自己的配置文件。使用配置文件的附加优点是还可以指定定制配置。

<a>配置文件剖析</a>

创建自己的配置文件之前,请先查看一下用来创建 Live CD 的配置文件:fedora-gnome。可从 RPM 提取该配置文件,方法是在 fedora-livecd-gnome-6-1.i386.rpm 上右击并选择 Extract Here 选项。这应该会在 etc/livecd/ 目录下生成一个名为 20-fedora-livecd-gnome.conf 的文件。前缀数字用于帮助识别包树中的特定的包。因此,20-* 包在 10-* 包之后并可能会依赖于后者,而 30-* 包则在 20-* 之后并可能会依赖于 20-* 和前缀更小的包。

文件的第一部分包含要安装的应用程序的列表,第二部分则包含该特殊环境中所需做出的配置。

<a>清单 10. 20-fedora-livecd-gnome.conf 文件的内容</a>

如您所见,大多数工作(如设置用户、设置网络)都由 fedora-gnome 包完成。

<a>创建配置文件</a>

<code># cp 20-fedora-livecd-gnome.conf 40-fedora-livecd-office-code.conf</code>

删除 GNOME 位后,可添加所需包的列表。新文件应显示如下内容(请注意:为节省空间起见,我删除了许可证位):

<a>清单 11. 最新创建的 40-fedora-live-office.conf 文件</a>

别忘了创建 ISO 之前将配置包的名称包含到要删除包的列表中。

<a>创建 RPM</a>

大致说来,SPEC 文件包含将被包含到 RPM 中的文件列表,以及安装 RPM 时存放这些文件的位置。我无意深入探讨创建 SPEC 文件的细节,但是您可以使用我为本文创建的 SPEC 文件。请从本文后面的 下载 部分下载该文件,并阅读注释以了解对 Zeuthen 的原始文件做出的更改。

请注意:SPEC 文件指向其他包(如 fedora-live-gnome-fedora-livecd-desktop)的配置文件。要确保这些配置文件也都可用。

Fedora 使用 <code>rpmbuild</code> 命令来利用 SPEC 文件创建 RPM。<code>rpmbuild</code> 命令要求所有的 .conf 配置文件都位于 /usr/src/redhat/SOURCES 目录下,并且 SPEC 文件中所有称作 SOURCE 的文件也应位于该目录下。另外还要确保 fedora-livecd.spec 文件位于 /usr/src/redhat/SPECS 目录下。

<a>清单 12. 创建新的 RPM</a>

为了区别定制 RPM 和原始 RPM,我已将其版本定为 6-2 而不是原始的 6-1。

<a>使用定制 RPM 构建 Live CD</a>

一旦您可以自由处理 RPM,创建 Live CD 的过程也就大同小异了。使用新的 RPM 重新创建包的本地存储库即可。

<a>清单 13. 使用新的 RPM 创建配置包的本地存储库</a>

现在通过 <code>livecd-creator</code> 来使用最新创建的包。

<a>清单 14. 使用新的 Fedora-Office-Code-LiveCD RPM 创建 Live CD</a>

转眼之间!您就从完全由自己定制的配置获得了完全由自己定制的 Live CD.

本文转自 makewong 51CTO博客,原文链接:http://blog.51cto.com/makewong/545703,如需转载请自行联系原作者