4−8.Fedora Core 3 カスタムCD/DVD作成
1.UpdateRPMとOldRPMファイルの入替え
この備忘録に必要な環境はこことここを参考に開発環境を構築してみるだワン!
入手したUpdateRPMと既存のRPMを比較し新しい時は入替える
古いファイルは念のためバックアップしておく
バックアップ先:
| $mkdir -p /mnt/temp/update/FedoraC3/fdC3old |
ひとつずつ確認するのは面倒だワン!
面倒な作業を今回の環境に合わせて構築している場合、自動でやってくれるシェルを作りました。
updaterpm.shを使うかたはどうぞ!
・updaterpm.shの使い方
updaterpm.sh FedoraVersion
XXX is New RPM.
XXX is Updated.
実行中は上記のようなメッセージが出ます。
使用できる環境
Fedora Core 3のファイル・・・/mnt/temp/update/FedoraC3/i386以下のあること
UpdateRPMファイル ・・・・・・/mnt/temp/update/FedoraC3/fdC3updにあること
実行中に/mnt/temp/update/FedoraC3/fdC3oldが作成されます。
2.環境変数定義
$export PYTHONPATH=/usr/lib/anaconda
$export PATH=$PATH:/usr/lib/anaconda-runtime
$export LD_LIBRARY_PATH=/usr/lib:/usr/X11R6/lib |
3.その他変更したいものがある場合はここで行う
comps.xmlを編集する方法はここを参照してください
4.hdlistの更新
| $genhdlist --productpath Fedora /mnt/temp/update/FedoraC3/i386 |
/mnt/temp/update/FedoraC3/i386/Fedora/base以下のhdlist/hdlist2がUpdateされる。
5.TRANS.TBLファイルの削除
$cd /mnt/temp/update/FedoraC3/i386
$find . -name TRANS.TBL -exec rm -f {} \; |
このファイルはISOイメージ作成時につくり直すので消すだワン!
6.Anacondaインストーラー・イメージの再構築
$cd /mnt/temp/update/FedoraC3/i386
$mkdir -p buildinstall
$buildinstall --comp dist-3 \
--pkgorder /tmp/fdC3upd.pkg \
--version 3 \
--product Fedora \
--release "Fedora Core 3 (Heidelberg)" \
--buildinstdir /mnt/temp/update/FedoraC3/i386/buildinstall
\
--prodpath Fedora \
/mnt/temp/update/FedoraC3/i386 |
「V3 DSA signature: NOKEY, key ID XXXXXXXX」こんなwarningがでたら以下のコマンドを実行するだワン!
$rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora
7.パーミッションのチェック
FTPでUpdateファイルを入手した場合、パーミッションがオリジナルと変わってしまっている場合があります。
permchk.shで確認し間違っている場合は自動的に変更します。
・permchk.shの使い方
permchk.sh FedoraVersion
使用できる環境
Fedora Core 3のファイル・・・/mnt/temp/update/FedoraC3/i386以下にあること
DVD-R/RWに焼く場合はここを参照しISOイメージを作成しDVD-R/RWへ焼きます。
8.CD-Rに焼くために分割
ソースファイルがないことを前提にします。
$splittree.py --arch=i386 \
--total-discs=4 \
--bin-discs=4 \
--src-discs=0 \
--release-string="Fedora Core 3" \
--pkgorderfile=/tmp/fdC3upd.pkg \
--distdir=/mnt/temp/update/FedoraC3/i386 \
--srcdir=/mnt/temp/update/FedoraC3/i386 \
--productpath=Fedora |
First package on disc1: fedora-logos-1.1.29-1.noarch.rpm
Last package on disc1 : openoffice.org-libs-1.1.3-11.5.0.fc3.i386.rpm
i386-disc1 size: 645M
First package on disc2: openoffice.org-1.1.3-11.5.0.fc3.i386.rpm
Last package on disc2 : fcc-c++-3.4.4-2.fc3.i386.rpm
i386-disc2 size: 680M
First package on disc3: gcc-g77-3.4.4-2.fc3.i386.rpm
Last package on disc3 : aspell-sv-0.50-6.i386.rpm
i386-disc3 size: 657M
First package on disc4: kde-i18n-Swedish-3.4.2-0.fc3.1.noarch.rpm
Last package on disc4 : xorg-x11-Xdmx-6.8.2-1.FC3.45.2.i386.rpm
i386-disc4 size: 412M
今回はSRPMを含まないCDイメージ分割をしました。
標準のsplittree.pyではSRPMを含む分割になるのでPatchを当ててsplittree.pyを変更しました。
splittree.pyのパッチを当てたい方はこちらをどうぞ!
お約束ですがPatchを当てたことによる不具合、問題などは責任もてません。自己責任でお願いするだワン!
適用方法:
$cd /usr/lib/anaconda-runtime
$patch -p0 < splittree.py.FedoraC3.patch |
それぞれ/mnt/temp/update/FedoraC3以下にi386-disc1からi386-disc4のディレクトリに分割されます。
9.分割後のhdlist再構築
古いhdlist/hdlist2の削除
| $rm -f /mnt/temp/update/FedoraC3/i386-disc1/Fedora/base/hdlist* |
再構築
$genhdlist --withnumbers \
--fileorder /tmp/fdC3upd.pkg \
--productpath Fedora \
/mnt/temp/update/FedoraC3/i386-disc[1-4] |
|