《Linux安裝》(三)發行版製作

2021-06-05 01:45:12 字數 2425 閱讀 9593

fedora發行版製作的工具主要有revisorpungi兩種;

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...