RedHat/Fedora カスタムCD/DVD作成備忘録
RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成RedHatLinux8.0カスタムCD/DVD作成

4−3.RedHatLinux8.0カスタムCD/DVD作成

1.UpdateRPMとOldRPMファイルの入替え

RedHatLinux8.0カスタムCD/DVD作成この備忘録に必要な環境はここここを参考に開発環境を構築してみるだワン!
 入手したUpdateRPMと既存のRPMを比較し新しい時は入替える
 古いファイルは念のためバックアップしておく
 バックアップ先:
  $mkdir -p /mnt/temp/update/RedHat80/rh80old

RedHatLinux8.0カスタムCD/DVD作成ひとつずつ確認するのは面倒だワン!
 面倒な作業を今回の環境に合わせて構築している場合、自動でやってくれるシェルを作りました。
 updaterpm.shを使うかたはどうぞ!
 ・updaterpm.shの使い方
 updaterpm.sh RedHatVersion
  $updaterpm.sh 80
 XXX is New RPM.
 XXX is Updated.
 実行中は上記のようなメッセージが出ます。
 
 使用できる環境
 RedHatLinux8.0のファイル・・・/mnt/temp/update/RedHat80/i386以下のあること
 UpdateRPMファイル ・・・・・・/mnt/temp/update/RedHat80/rh80updにあること
 実行中に/mnt/temp/update/RedHat80/rh80oldが作成されます。

RedHatLinux8.0カスタムCD/DVD作成こちらで確認はしていないがVer7.0/7.1/7.2についても同様なディレクトリにすればシェル自体は対応しているだワン!
 例)Ver7.1の場合
 /mnt/temp/update/RedHat71/i386に導入ファイル群をコピーする
 /mnt/temp/update/RedHat71/rh71updにUpdateRPMファイルを置く
 $updaterpm.sh 71で実行する

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を編集する場合はここを参照してください。
 今回はUpdateRPMのみを組み込むことにします。

4.hdlistの更新

  $genhdlist /mnt/temp/update/RedHat80/i386

 /mnt/temp/update/RedHat80/i386/RedHat/base以下のhdlist/hdlist2がUpdateされる。

5.TRANS.TBLファイルの削除

  $cd /mnt/temp/update/RedHat80/i386
  $find . -name TRANS.TBL -exec rm -f {} \;
RedHatLinux8.0カスタムCD/DVD作成このファイルはISOイメージ作成時につくり直すので消すだワン!

6.pkgorderファイル作成

 この後に行うCDイメージの作成時に必要です。
  $pkgorder /mnt/temp/update/RedHat80/i386 i386 > /tmp/rh80upd.pkg

7.Anacondaインストーラー・イメージの再構築

  $buildinstall --comp dist-8.0 \
                --pkgorder /tmp/rh80upd.pkg \
                --version 8.0 \
                --release "Red Hat 8.0 (psyche)" \
                /mnt/temp/update/RedHat80/i386

RedHatLinux8.0カスタムCD/DVD作成「V3 DSA signature: NOKEY, key ID db42a60e」こんなwarningがでたら以下のコマンドを実行するだワン!
 $rpm --import /usr/share/rhn/RPM-GPG-KEY

 Building images...
 中省略
 Assembling package list...
 中省略
 retrieving timezones
 中省略
 Running mkfontdir...
 中省略
 Getting pango modules
 中省略
 Getting gtk2 input method modules
 中省略
 Scrubbing trees...
 Compressing .mo files in stage2 images...
 Creating fontconfig cache
 中省略
 Patching python library...
 中省略
 Cleaning ramdisk install images...
 Getting package order...
 中省略
 Wrote /mnt/temp/update/RedHat80/RedHat/base/hdstg1.img (7832k)...
 Building stage2.img
 Wrote /mnt/temp/update/RedHat80/RedHat/base/stage2.img (60556k)
 Cleaning up images
 Writing .discinfo file
 timestamp not specified; using the current time

RedHatLinux8.0カスタムCD/DVD作成途中WarningやNotFoundがたくさん出るけどエラーでなければ問題なさそうだワン!

8.パーミッションのチェック

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

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

RedHatLinux8.0カスタムCD/DVD作成こちらで確認はしていないがVer7.0/7.1/7.2についても同様なディレクトリにすればシェル自体は対応しているだワン!
 例)Ver7.1の場合
 RedHatLinux7.1のファイル・・・/mnt/temp/update/RedHat71/i386以下にあること
 $permchk.sh 71で実行する
RedHatLinux8.0カスタムCD/DVD作成Ver7.0の場合「70」、Ver7.1の場合「71」、Ver7.2の場合「72」を引数にするだワン!

RedHatLinux8.0カスタムCD/DVD作成DVD-R/RWに焼く場合はここを参照しISOイメージを作成しDVD-R/RWへ焼きます。

9.CD-Rに焼くために分割

  $splitdistro --fileorder /tmp/rh80upd.pkg /mnt/temp/update/RedHat80 i386
 Splitting tree...
 Creating disc1...
 Creating disc2...
 700.0
 115.776713371
 1.2
 10.0
 573.023286629
 first to move to disc2 is XFree86-devel-4.2.0-72.i386.rpm
 Creating disc3...
 first to move to disc3 is glibc-debug-static-2.3.2-4.80.6.i386.rpm
 688M /mnt/temp/update/RedHat80/i386-disc1
 695M /mnt/temp/update/RedHat80/i386-disc2
 599M /mnt/temp/update/RedHat80/i386-disc3

 今回はSRPMを含まないCDイメージ分割をしました。
 標準のsplitdistroではSRPMを含む分割になるのでPatchを当ててsplitdistroを変更しました。CDイメージも700M MAXになります。
 splitdistroのパッチを当てたい方はこちらをどうぞ!
RedHatLinux8.0カスタムCD/DVD作成お約束ですがPatchを当てたことによる不具合、問題などは責任もてません。自己責任でお願いするだワン!

 適用方法:
  $cd /usr/lib/anaconda-runtime
  $patch -p0 < patch.splitdistro.80

 それぞれ/mnt/temp/update/RedHat80以下にi386-disc1からi386-disc3のディレクトリに分割されます。

10.分割後のhdlist再構築

 古いhdlist/hdlist2の削除
  $rm -f /mnt/temp/update/RedHat80/i386-disc1/RedHat/base/hdlist*
 再構築
  $genhdlist --withnumbers \
             --fileorder /tmp/rh80upd.pkg \
             /mnt/temp/update/RedHat80/i386-disc[1-3]


前  戻る  次
RedHatLinux8.0カスタムCD/DVD作成