PUD Linux自制

来源:互联网 发布:什么软件电话号码多 编辑:程序博客网 时间:2024/04/30 02:07

 

PUD GNU/Linux


準備

重製 PUD GNU/Linux 需要準備以下幾樣東西:

  • 一片 PUD GNU/Linux 光碟

    請參照下載網頁自行取用,歡迎你拿 PUD 來改出自己的版本。 :-)

  • 500MB 以上的硬碟分割區

    你可以用 QtParted 或 PartitionMagic 之類的程式切出分割區,然後格式化成 ext2; 關於這點若有任何疑問請恰身邊最近的專家。

    警告:對硬碟的操作不當有可能導致資料損毀,任何行為都出自你的自由意志,不會有人為你負責。 :)
  • 可樂、零食、空閒時間

    你還可以準備一些 mp3 放在別的分割區,到時候用 bmp 來聽,接下來就可以快快樂樂地開工了。

    此致各可樂公司:若你們贊助 PUD GNU/Linux 專案,我願意把可樂的廠牌寫出來。

我的 ext2 分割區在 /dev/hda6,以下命令請把 hda6 換成你的分割區代號。 假設一切都準備好了,由光碟開機,連上網路 (非必要,但如果你想更新或安裝新套件,有網路存取會比較方便)。開一個 terminal。 輸入以下命令:

sudo su
mount /mnt/hda6
cp -Rp /KNOPPIX /mnt/hda6/
bunzip2 -c /cdrom/dpkg.tar.bz2 | tar -C /mnt/hda6/KNOPPIX/ -xvf -

這樣會把整個光碟完全複製到硬碟上, 這會花幾分鐘的時間;但已經比複製 Knoppix 快很多了。 :P

mount --bind /dev /mnt/hda6/KNOPPIX/dev
chroot /mnt/hda6/KNOPPIX
mount -t proc /proc proc

現在你處於硬碟環境下,可以開始做任何想要的修改。 如果在 chroot 之前你已經連上了網路,記得看一下 /etc/resolv.conf , 確定它和 chroot 之前的內容保持一致,這樣 Name Server 的解析才不會錯誤。

修改

執行以下命令更新套件列表:

apt-get update

想知道系統裡有哪些套件,就用 dpkg -l 列出詳細的清單。 以下指令則會輸出一個排序好的套件清單,方便你從最肥的檔案開刀:

dpkg-query -W --showformat='${Installed-Size} ${Package}/n' | sort -n

你可以將想要移除的套件清單存成文字檔 (如 die.txt),再執行:

apt-get remove --purge `cat die.txt`

這樣一次就把它們解決掉。Knoppix 官方網站上還教你一招,把沒用的函式庫清光的方法:

deborphan | xargs apt-get -y remove

你可以隨時用 df -m 來看看硬碟的使用量。

如果想測試剛安裝完的程式,但又碰上圖形介面:

export DISPLAY=localhost:0.0

打包

用 apt-get install 裝完想要的軟體後,執行:

apt-get clean
COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P
rm -f /var/lib/apt/lists/partial/*
rm -f /var/lib/apt/lists/*
rm -f /var/lib/dpkg/*-old
rm -f /var/cache/debconf/*-old
rm -f /var/cache/apt/*
rm -f /var/cache/apt/archives/*
rm -rf /usr/share/doc/
umount /proc
exit

清掉所有 LiveCD 上用不到的檔案。(也可以考慮刪除 /usr/share/locale/ 底下用不到的檔案)

現在回到原來的根目錄,執行:

umount /mnt/hda6/KNOPPIX/dev
rm -f /mnt/hda6/KNOPPIX/root/.bash_history

在 /mnt/hda6/ 下建立一個新目錄:

mkdir /mnt/hda6/NewCD
mkdir /mnt/hda6/NewCD/KNOPPIX

接著把 /cdrom 下的 isolinux 目錄及 dpkg.tar.bz2 都複製到 /mnt/hda6/NewCD/ 之下;更新 dpkg.tar.bz2 裡面的檔案。(用 emelFM 解開,再從 /mnt/hda6/KNOPPIX 下相關目錄「Move」過去。)

接下來我們要壓製 KNOPPIX 檔,可能會需要個幾分鐘:

mkisofs -R /mnt/hda6/KNOPPIX | create_compressed_fs - 65536 /
> /mnt/hda6/NewCD/KNOPPIX/KNOPPIX

你可以為 create_compressed_fs 加入 --best 參數以獲得更好的壓縮效果,但相對的時間會比較長。

終於要完成囉,現在製作出 ISO 檔:

cd /mnt/hda6/NewCD
mkisofs -V "PUD GNU/Linux" -publisher "penkia@gmail.com" /
-r -J -b isolinux/isolinux.bin -c isolinux/boot.cat /
-no-emul-boot -boot-load-size 4 -boot-info-table -o PUD-custom.iso .

恭喜!你已經成功的做出自製版的 PUD LiveCD 啦!可以用 xcdroast 燒出來玩玩或用 qemu 測試:

qemu -cdrom PUD-custom.iso -boot d -m 250 -enable-audio -localtime -user-net

別忘了寫封信來告訴我這個好消息。 :-)

 


 

文件

雖然我們對於「使用者最不喜歡讀文件」此一事實瞭然於心,但依舊隨光碟附上這些堪稱無所不包的說明文件, 歡迎遵照 Creative Commons 授權修改、散佈和使用:

  • README - PUD 的簡介, Ion 基本操作和相關資訊
  • INTRO - 新手指南,內有常見問題和設定方法
  • PACKAGE - 套件清單,各種軟體的使用提示
  • CHANGELOG - PUD 的版本沿革
  • REMASTER - 重製說明,教你簡單打造自己的版本
  • USB - PUD 隨身碟開機製作指南,製作一顆多功能隨身碟吧

若對文中內容有任何疑義,請不吝指教;有興趣撰寫或維護的人也歡迎和我聯絡。;-)

前言

本文將簡單的介紹如何自己動手打造一個迷你 LiveCD。 因為一切都是自己摸索,所以文中會出現許多不確定的疑問句、偷吃步、甚至是錯誤。 如果讀者諸君對內容有任何疑義,請不吝提出,我一定會將來信者放入感謝函 (Acknowledge) 中。

本文寫作目的之一是為了保存改版的細節與心得,方便做為下一次修改的依據; 套件的選擇也只為了滿足個人的需求,如果你有更好的意見,請一定要讓我知道。 :)