fedora發行版製作的工具主要有revisor和pungi兩種;
revisor是乙個圖形化的工具,也可用命令列,但是經常會有bug,而且比較臃腫,感覺是給初級使用者用的;
pungi是fedora官方製作(或叫spin)發行版的工具,命令列,總共也就4、5個python檔案;
以下是使用pungi定製(spin)的**:
#!/bin/bash
echo "set lang=en_us.utf8"
lang=en_us.utf8
if [ $(getenforce) == enforcing ]; then
sudo setenforce 0
echo "turning off selinux enforcing."
fi#echo "removing destdir..."
#sudo rm -rf `pwd`/work
sudo pungi --force --nosource --nosplitmedia -c `pwd`/ks.cfg --destdir=`pwd`/work -g -c -b -i "$@"
注:以上**只保證在f13上執行正常,而且安裝pungi時不能使用update等倉庫;
ks.cfg(kickstart)檔案定義了需要裝入iso中的包的清單(依賴會自動解決),乙個簡單的ks如下:
repo --name=test --baseurl=
%packages --default
@core
@base
anaconda*
kernel
%end
注:repo指向yum源,可以指定多個;示例中的源在本地,為了加快製作速度我使用rsync將伺服器的源同步到本地了;ks檔案也可使用圖形化工具kickstart自動生成——屬於system-config-kickstart包;
pungi的工作過程主要分為四個階段:
-c(createrepo stage)將這些包做成乙個本地的yum源,即createrepo
-b(buildinstall stage)生成iso中的image檔案等;f13使用buildinstall指令碼——屬於anaconda包;
-i (createiso stage)將iso根目錄(installtree)做成iso,即mkisofs
最關鍵的是buildinstall階段,即image檔案是如何生成的?通過檢視log可以看出它就是呼叫buildinstall指令碼而已,可單獨執行:
#!/bin/bash
/usr/lib/anaconda-runtime/buildinstall --product fedora --version 20120319 --release "fedora 20120319" --output `pwd`/os
執行完畢後的工作目錄結構如下:
可見iso中的關鍵檔案都是由buildinstall指令碼生成的,因此要搞清楚image生成原理只需除錯buildinstall即可;
linux發行版的安裝體會
近來裝過好多種類的linux發行版本,發現其實大家都差不多,要是說最省力的就是ubuntu,它的包管理比較容易操作,功能也比較全,不過壞處是很多包不知道裝到 去了,搞的自己想讓mplayer多支援幾種格式也要去apt get,很是不爽。最華麗的linux,個人認為是suse,這個華麗不是說把上百種特...
linux發行版選擇
應用的環境和背景第乙個特點決定了這個發行版本不能太複雜,複雜到日常的應用的維護都要花費大量的時間 也不能太簡單,簡單到丟了linux的特點,讓人得出 這跟 windows差不多嘛 學生的水平良莠不齊,大多數從是由於興趣從windows下冒冒失失的跑到linux陣營裡來,相當一部分的人不新鮮味嚐過之 ...
Linux發行版 列表
general canonical 發行 ubuntu哲學 ubuntu foundation人物 jono bacon ben collins benjamin mako hill ian jackson scott james remnant mark shuttleworth jeff wau...