現在應該使用 <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,如需轉載請自行聯系原作者