全面深入講解Fedora Live CD使用方法
在向大家詳細介紹 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=
[ --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
# 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 定位配置包。
【編輯推薦】