全面深入讲解Fedora Live CD使用方法

系统 Linux
在开始动手打造自己的Fedora Live CD 之前,需要理解 Fedora 版本是如何装配、发行和维护的。Fedora 项目在两个可公开访问的存储库中保存包。由官方的 Fedora 开发者维护的存储库被称作“核心”存储库。

在向大家详细介绍  Fedora Live CD之前,首先让大家了解下 Linux ,然后全面介绍Live CD,希望对大家有用。尽管 Fedora Linux® 是一个很流行且很成熟的 Linux 发行版,并且很多人已经创建了基于 Fedora Live CD 发行版,但 Fedora 项目本身直到 2006 年 12 月才正式发布它的第一个 Live CD 版本。

通过本文,了解如何使用 Pilgrim(Fedora Live CD 创建工具)的重写(rewrite)构建易于使用的定制 Live CD。2006 年 12 月,Fedora Linux 发行版发布了它的第一个正式的 Live CD 版本,由于选用了一些优秀的应用程序,该版本很好地宣传了 Fedora 的最佳特性。除了提供很多应用程序之外,Live CD 还带几个游戏,使用了 Compiz 3D 桌面,并可供不会说英语的用户使用。但对我来说,最抢风头的是 David Zeuthen 的 livecd 工具,这些工具使创建和维护基于 Fedora 的定制 Fedora Live CD 异常轻松。

Zeuthen 是 Pilgrim 的开发者,Pilgrim 为 One Laptop Per Child(OLPC)项目创建可在 USB 闪存驱动上运行的系统映像(要了解更多信息,请参阅 参考资料 中的链接)。用于创建 Fedora Live CD 的 livecd 工具是 Python 中 Pilgrim 的重写。它可用于从 Red Hat Enterprise Linux、CentOS 和其他下游 Fedora 发行版创建 live CD。

在开始动手打造自己的Fedora Live CD 之前,需要理解 Fedora 版本是如何装配、发行和维护的。Fedora 项目在两个可公开访问的存储库中保存包。由官方的 Fedora 开发者维护的存储库被称作“核心”存储库,由贡献者和社区维护的存储库被称作“附加”存储库。存储库不过是包的集合。除核心存储库和附加存储库外,还有几个第三方存储库,如 Livna 和 FreshRPM。

Fedora Core 发行版包含核心存储库中的所有包,其最新版本为 Fedora Core 6。第一个正式的 Fedora Live CD 基于 Fedora Core 6 和附加存储库中的包。livecd 工具已被提交以便将其包括到 Fedora 的附加存储库中,到 Fedora 7 发布之时该库将被合并进核心存储库。

livecd 工具有些什么特殊之处?

用 livecd 工具创建 Live CD 的最大优势是工具和 Live CD 是分开的。要打造 Fedora Live CD,您的全部所需就是一组配置文件。这些配置文件包含 Live CD 上所需的包的列表,并且描述了系统配置类型,Live CD 一旦引导就会做出这些配置。

为了方便定制 Fedora Live CD 维护人员,这些配置文件被作为 RPM 打包,并保存在它们自己的存储库中。因为 Fedora 发行版和其存储库在版本之间迁移,您可以保持更新这些配置文件以获得相关的包。

Zeuthen 中有三个这样的 RPM,定制 Fedora Live CD 可以它们为基础。这些 RPM 遵循有助于创建派生版本的继承模式。fedora-livecd 包 是一个不带用户界面的最小的 Live CD 包。fedora-livecd-gnome 包基于 fedora-base 包并包含 GNOME 桌面。fedora-livecd-desktop 包构建于 fedora-gnome 包之上并且为 GNOME 桌面提供了大量的应用程序和其他工具。

Zeuthen 对此做出了更好的解释。

livecd 工具包之间的关系Zeuthen 还指出将来该模式也可能会有助于其他正式的 Fedora Special Interest Groups (SIGs) 从这些 RPM 发展其自己的发行版。

派生包的可能组织

这听起来可能有点难于理解,但是一旦您实际动手操作,就会对此方法赞赏有加。第一步是获取 livecd-tools RPM,可从 Zeuthen 的 Fedora 主页 获得。直接获取并安装 livecd-tools-001-1.i386.rpm,如下所示:

清单 1. 安装 Fedora  Live CD 工具
$ su -

# wget -c http://people.redhat.com/davidz/livecd/i386/livecd-tools-001-1.i386.rpm
# rpm -ivh livecd-tools-001-1.i386.rpm

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

清单 2. livecd-creator 命令提供的选项
$ livecd-creator
No packages specified.usage: livecd-creator [--help] 
[--repo=, ...] [--repo=,]
[ --package= [--package= ...]
[--exclude-package=] --exclude-package= ...]
[--base-on=]
[--fslabel=

--help             : Print usage and exit
--repo             : Path to yum repository
--package          : Include this package
--exclude-package  : Exclude this package
--base-on          : Add packages to an existing live CD iso9660 image
--fslabel          : File system label (default: livecd-YYYYMMDD-HHMI)

创建核心包的本地存储库另外,您还需要能够访问定制Live CD 上所需工具的 RPM。如果您拥有快速的 Internet 连接,则可在创建Fedora Live CD 之前使用 livecd-creator 命令下载这些 RPM 及其依赖的包。另一个选择是从 Fedora Core 6 安装 CD 或 DVD 中复制所有包并创建本地的“核心”存储库。                                     

清单 3. 安装 createrepo 工具
# wget -c http://tqmcube.com/files/createrepo-0.4.3-5.1.noarch.rpm
# rpm -ivh createrepo-0.4.3-5.1.noarch.rpm

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

清单 4. 创建本地存储库
# mkdir /var/www/html/repo/core/
# cp /var/www/html/repo/core/
# createrepo /var/www/html/repo/core/
执行完最后一条命令要花费些时间,它将创建一个 repodata 目录。livecd-creator 命令使用此目录来访问包。创建配置包的本地存储库由于要使用 Zeuthen 的包作为Fedora Live CD 的基础,因此也需要为它们创建本地存储库。

清单 5. 创建 Fedora Live CD 包的存储库
# mkdir base_packages
# cd base_packages
# wget -c http://people.redhat.com/davidz/livecd/i386/fedora-livecd-6-1.i386.rpm
# wget -c http://people.redhat.com/davidz/livecd/i386/fedora-livecd-gnome-6-1.i386.rpm
# wget -c http://people.redhat.com/davidz/livecd/i386/fedora-livecd-desktop-6-1.i386.rpm
# createrepo /root/base_packages

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

【编辑推荐】

  1. 构建Fedora Live CD
  2. 介绍Fedora平台 主要是运用Fedora Core 6
  3. 安装Fedora Linux的播放器与解码器
  4. 概论Fedora挂载兼Linux使用
  5. Fedora linux的播放器与解码器的安装
责任编辑:佚名 来源: CSDA
相关推荐

2009-12-23 18:43:05

Fedora Linu

2009-12-28 13:18:28

Fedora Live

2019-12-24 11:00:51

FedoraLive CD系统运维

2011-01-13 16:46:04

2009-12-18 18:10:55

Fedora proc

2009-12-24 17:06:35

编译Fedora内核

2009-12-21 16:51:13

2009-12-21 15:55:16

Fedora Core

2009-12-16 13:42:56

Mandriva Li

2009-12-01 17:00:49

PHP变量

2010-08-06 13:37:28

Flex[Bindab

2009-11-16 15:40:58

PHP数组函数

2009-12-21 14:25:07

2009-12-16 13:11:13

Fedora操作系统

2011-04-13 15:44:12

SQL Server数函数

2012-01-13 09:55:54

jQuery

2011-02-24 13:09:10

FireFTP

2019-10-16 16:20:30

Linux Live USBWindows 10

2010-06-17 14:00:20

用Live cd 修复

2018-01-22 08:50:49

LinuxUbuntuCubic
点赞
收藏

51CTO技术栈公众号