LINUX Howto
4-1.How to make the RedHatLinux6.2 custom CD

@ anacondaへスペシャル・パッチを適用
 RedHatLinux62提供のanacondaへスペシャル・パッチを当てます。
 パッチはここ(patch.src.62)からダウンロードしてください。
 パッチの適用方法
 パッチファイルが下記ディレクトリにあるものとします。
 $cd /mnt/temp/update/RedHat62/i386/misc
 $patch -p0 < patch.src.62
 
A rpm(RedHat Package Manager)のアップデート
 RedHatLinux62のUpdateRPMファイルの中にはRPM v4でパッケージングされたものがあるためこのアップデートが必要です
 RedHatのオフィシャルUpdateファイルは検索サイトで探すかここからダウンロードしてください(検索キーワード:rpm-3.0.5-9.6x)
 ダウンロードするファイル
 ・rpm-3.0.5-9.6x.i386.rpm
 ・rpm-build-3.0.5-9.6x.i386.rpm
 ・rpm-devel-3.0.5-9.6x.i386.rpm
 ・rpm-python-3.0.5-9.6x.i386.rpm

 このサイトからダウンロードしたファイルの場合以下のように展開/適用します
 $cd /tmp
 $bzcat rpm-3.0.5-9.6x.pack.bz2 | tar xvf -
 $rpm -Fvh rpm-*.rpm
 Updateの確認
 $rpm -qa | grep rpm-
 rpm-3.0.5-9.6x
 rpm-build-3.0.5-9.6x
 rpm-devel-3.0.5-9.6x
 rpm-python-3.0.5-9.6x

B rh62updにあるrpm v4の一時退避
 $mkdir -p /mnt/temp/update/RedHat62/exclude
 $cd /mnt/temp/update/RedHat62
 $mv rh62upd/rpm-* exclude/

C rpm V3.0.5をrh62updへコピー
 $cp -p /tmp/rpm-*.rpm /mnt/temp/update/RedHat62/rh62upd/

D UpdateRPMとOldRPMファイルの入替え
 入手したUpdateRPMと既存のRPMを比較し新しい時は入替える
 古いファイルは念のためバックアップしておく
 バックアップ先:
 $mkdir -p /mnt/temp/update/RedHat62/rh62old
 
ひとつずつ確認するのは面倒だワン!
 面倒な作業を今回の環境に合わせて構築している場合、自動でやってくれるシェルを作りました。
 updaterpm62.shを使うかたはどうぞ!
 ・updaterpm62.shの使い方
 updaterpm62.sh RedHatVersion
 $updaterpm62.sh 62
 XXX is New RPM.
 XXX is Updated.
 実行中は上記のようなメッセージが出ます。
 
 使用できる環境
 RedHatLinux6.2のファイル・・・/mnt/temp/update/RedHat62/i386以下のあること
 UpdateRPMファイル ・・・・・・/mnt/temp/update/RedHat62/rh62updにあること
 実行中に/mnt/temp/update/RedHat62/rh62oldが作成されます。

E genhdlistとTRANS.TBLの削除
 $cd /mnt/temp/update/RedHat62/i386/misc/src/anaconda/utils
 $rm -f genhdlist
 $cd /mnt/temp/update/RedHat62/i386
 $find . -name TRANS.TBL -exec rm -f {} \;

F anacondaの再構築
 $cd /mnt/temp/update/RedHat62/i386/misc/src/anaconda
 $make
 $cd help
 $make html
 $cd ../kudzu
 $./makeids
 $cd ..
 $make install
 $cd ../trees
 instimageの更新
 $make
 $make do-make
 後処理
 $make clean
 $cd ../anaconda
 $make clean

G rpm v4ファイルへ置換
 $cd /mnt/temp/update/RedHat62/i386/RedHat/RPMS
 $rm -i rpm-*
 4ファイルを削除する
 ・rpm-3.0.5-9.6x.i386.rpm
 ・rpm-build-3.0.5-9.6x.i386.rpm
 ・rpm-devel-3.0.5-9.6x.i386.rpm
 ・rpm-python-3.0.5-9.6x.i386.rpm
 rpm v4の移動
 $cd /mnt/temp/update/RedHat62
 $mv exclude/* i386/RedHat/RPMS/

H その他変更したいものがある場合
 今回はUpdateRPMのみを組み込むことにします。
 misc/src/anaconda/utils以下にはいろいろなツールが入っています。
 ただし、ドキュメントがないので思考錯誤が必要です。
Pochi_kenは新規追加されたrpmをcompsへ追加たしワン!
 最終版UpdateRPM込compsファイルが必要な方はここからどうぞ!(導入確認済)

I hdlistの更新
 $cd /mnt/temp/update/RedHat62/i386/misc/src/anaconda/utils
 $./genhdlist /mnt/temp/update/RedHat62/i386


J パーミッションのチェック
 FTPでUpdateファイルを入手した場合、パーミッションがオリジナルと変わってしまっている場合があります。
 permchk.shで確認し間違っている場合は自動的に変更します。
 ・permchk.shの使い方
 permchk.sh RedHatVersion
 $permchk.sh 62

 使用できる環境
 RedHatLinux6.2のファイル・・・/mnt/temp/update/RedHat62/i386以下にあること

RPMがVer.4になると内部構造が変わるらしくカスタムCD起動時にエラーするワン!
 RedHatLinux6.2の最終UpdateRPMが入ったカスタムCDを作るには上記方法でできます。
 CDイメージを作成する前に下記ディレクトリを削除しましょう!!(1CDにするため)
 ・/mnt/temp/update/RedHat62/i386/rr_move
 ・/mnt/temp/update/RedHat62/i386/doc
 これでイメージ作成時に約700MBytesになりますので700MBのCDで収まります。




直線上に配置