[教學] 客製化Linux -打造Linux無人值守光碟 (CentOS5版)

本站的文章以轉貼的居多~

自己寫的產量十分有限...不過這篇是我自己寫的唷~發表在樂多的blog上

現在轉來這邊充一下版面的~


最近在弄CentOS 5 的包裝,由於這個版本出來沒多久,
請咕狗大神出來找相關文件都沒幾篇,

http://lingxiang.tang.googlepages.com/customizecentos5

上面這個是唯一找到標題就是講Centos5 custom的做法,試了半天
還是弄不出來,剩下找到Centos5的custom文件都是跟我一樣有相同問題的人在論壇發問,不過都沒人鳥...Orz

底下就是自己弄出來的結果

首先

準備一張 Centos5的DVD光碟,可到
http://ftp.isu.edu.tw/pub/Linux/CentOS/5.0/isos/i386/
下載ISo檔

第二步

準備一台電腦安裝Cntos5,安裝時把你要的套件都選一選。

第三步

安裝包裝Centos5時所需要的套件 anaconda
anaconda
anaconda-runtime
如果不知道要怎麼裝的話可以直接使用
yum install anaconda
讓系統幫你裝到好~

第四步

裝好後,我的習慣是在另一台桌機上使用pietty用ssh連線登入到剛裝好的主機working~

把CentOS光碟放到主機上,並mount起來,
並 mkdir /CentOS5 <=這個用來包裝centos的目錄
把光碟片的資料 cp 到剛才建立的 /CentOS5 目錄中

第五步

挑選需要的PRM檔案,在root家目錄中有一個install.log檔
這個檔案記錄著,我們在安裝過程中所選擇的套件,
所以我們要做的就是根據這個檔案,來替我們的Cntos5 DVD減肥
(只留下安裝時選所的套件,其餘都刪除)

之前我在做centos3.8 與FC3時都是使用現成的程式(
getGroupPkgs.py & removePkgs.py)來做,但
目前好像在centos5上好像不能使用(這點不確定)

所以這個步驟自己手動來弄的話,是比較麻煩點

以我的做法是
把install.log 複製一份到自己的電腦裡面來(m$窗主機)
使用PSPad來編輯檔案,裡面的檔案大概會跟下面的差不多

正在安裝 libgcc - 4.1.1-52.el5.i386
正在安裝 filesystem - 2.4.0-1.el5.centos.i386
正在安裝 basesystem - 8.0-5.1.1.el5.centos.noarch
...以下省略...

把上面這個用\"搜尋\"、\"取代\",的技巧

變成下面這樣

#!/bin/bash
cp -a /mnt/CentOS/libgcc-4.1.1-52.el5.i386.rpm /myRPM
...以下省略...

存成copyrpm.sh 丟回到Centos5主機裡,更改權限chmod +x copyrpm.sh
並執行。

ps:請先確認有無該目錄
cp -a /mnt/CentOS/libgcc-4.1.1-52.el5.i386.rpm /myRPM
像這行,我是把Centos5光碟mount 到/mnt
並將RPM檔cp到/myRPM 這個目錄下,沒有的話請先建一個

第六步

cd /CentOS5/CentOS
把這個目錄清空,把/myRPM目錄下的rpm全都cp過來
cp -a /myRPM/* /CentOS5/CentOS

第七步

回到 /CentOS5 目錄下,執行createrepo這隻程式
createrepo -g repodata/comps.xml .

開始進行認套件的動作,通常如果出現以下的訊息

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Could not remove old metadata dir: .olddata
Error was [Errno 39] Directory not empty: \'/centos/.olddata\'
Please clean up this directory manually.

請先刪掉.olddata 這個隱藏目錄。
然後再執行一次
createrepo -g repodata/comps.xml . (2008/3/27更正 原 comp 改正 comps)

第八步

如果上面的步驟ok的話,把repodata 與CentOS 這兩個目錄
連同/root/底下的anaconda-ks.cfg 給tar起來~下載到自己的m$窗主機裡面,
用winrar把剛tar的檔案解壓縮。
將anaconda-ks.cfg 改名 ks.cfg

開UltraISO編輯器,打開Centos5的ISO檔,
把剛解開的repodata 與Centos 兩個資料夾丟進去替換掉
把ks.cfg放在光碟iso檔的根目錄上。

打開isolinux資料夾裡isolinux.cfg
改第一行default linux
改成 =>default linux ks=cdrom:/ks.cfg

改好後就可以直接燒錄了。此步驟也可以直接在CentOS5主機上直接操作,
直接壓製ISO檔與燒錄。

第九步

把燒好的光碟片拿去安裝測試,成功的話就是一片自動安裝光碟了。

以上的過程應該就只有第五步篩選套件比較麻煩點,這篇就先寫到這邊。

附錄:我的ks.cfg檔內容

install
cdrom
lang zh_TW.UTF-8
langsupport --default en_US.UTF-8 en_US.UTF-8
keyboard us
mouse genericwheelps/2 --device psaux
rootpw --iscrypted $1$Iph2iG2r$nbJzPHvxf5PnBMyBFmMjB/
firewall --disabled
selinux --disabled
authconfig --enableshadow --enablemd5
timezone Asia/Taipei
bootloader --location=mbr
clearpart --all --initlabel
part /boot --fstype ext3 --size=100
part swap --size=1024
part / --fstype ext3 --size=100 --grow

%packages
@base
@chinese-support
@core
@dialup
@editors
@text-internet

-redhat-config-printer
-redhat-config-printer-gui

%post

謝謝收看