RedHat/Fedora カスタムCD/DVD作成備忘録
Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7 カスタムCD/DVD作成 (pungi編)

4−12−1.Fedora 7 カスタムCD/DVD作成 (pungi編)

Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora Core 6の世代よりカスタムパッケージをより簡単に作成できるようにパッケージの開発が進められていました。そのパッケージであるpungiを使ってカスタム版のFedora 7を作成したいと思います。

 Fedora 7は通常版であるDVD1枚約2.9GのパッケージとLiveCD版であるGnome版とKDE版があります。いままでCoreとExtraといった具合に分かれていたパッケージが統合され新たにLiveCD版が追加されたのですが、通常版がFedora Core 6の時に比べてやけにサイズが小さくなっていることがわかります。ダウンロードした方はお分かりだと思いますがEverythingといういわゆるFedora 7全部というディレクトリが存在します。しかしこのディレクトリにはインストールイメージとなるISOファイルがありません。Fedora 7のパッケージが全て入ったDVDを作成するにはこれから備忘録として紹介するpungiを使いユーザ自らが作らなければ存在しないのです。そこでFedora 7の全部入りパッケージを作成する方法をご紹介したいと思います。

Fedora 7 カスタムCD/DVD作成 (pungi編)この備忘録の前提ですがFedora 7のDVDより「オフィスとプロダクティビティー」「ソフトウェア開発」「ウェブサーバー」を選択して導入したマシンを使っての備忘録だワン!

1.pungiパッケージの導入

 pungiパッケージはFedora 7のDVDには含まれていません。yumを使って導入することにします。
 #yum install pungi
 yumにより依存関係を調べて14パッケージが導入されます。
 pungi        0.3.5-1.fc7
 anaconda       11.2.0.66-1
 anaconda-runtime   11.2.0.66-1
 booty        0.85-1
 busybox-anaconda   1.2.2-8.fc7
 createrepo      0.4.8-4.fc7
 libbdevid-python   6.0.9-5
 mtools        3.9.10-4.fc7
 pykickstart     1.1-1.fc7
 pyparted       1.8.5-4.fc7
 python-pyblock    0.27-3
 squashfs-tools    3.2-1
 syslinux       3.36-4.fc7
 zenity        2.18.0-1.fc7

2.pungi構成ファイルの修正

 1./etc/pungi/f7-everything.i386ファイルの修正

 導入が終了したら全部入りを作成するためにpungiの構成ファイルを編集します。
 導入後に/etc/pungiを確認するとわかりますが全部入りの構成ファイルが存在します。
 f7-everything.i386・・・ARCH=i386用
 f7-everything.ppc ・・・ARCH=ppc用
 f7-everything.x86_64・・ARCH=x86_64用
 マシン・アーキテクトはi386なので「f7-everything.i386」を使うことにします。
 エディタを使い赤字部分を削除し、水色部分を編集します。
 pungi-0.3.7-1を導入している場合は水色部分を編集します。
 # Pungi config file
 #
 
 [default]
 product_name = Fedora
 product_path = Fedora
 iso_basename = F
 bugurl = http://bugzilla.redhat.com
 comps = /etc/pungi/comps-f7.xml
 manifest = /etc/pungi/f7-everything.manifest
 yumconf = /etc/pungi/yum.conf.f7.i386
 destdir = /srv/pungi/f7
 cachedir = /srv/pungi/cache
 arch = i386
 version = 7
 flavor = Everything
 discs = 3
 cdsize = 4463.0; DVD size
 getsource = no
Fedora 7 カスタムCD/DVD作成 (pungi編)これを実施しないとSplitTreeステージでエラーしDVDイメージもDVDに収まるサイズにならないだワン!

 pungi.confファイルの説明(f7-everything.xxx/f7-fedora.xxx [xxx:i386/ppc/x86_64])

 [default]                ・・・必ず必要。セクションを宣言
 product_name = Fedora          ・・・導入中に使用する名前。buildinstall実行中に使用
 product_path = Fedora          ・・・RPMSディレクトリの名前。buildinstall実行中に使用
 iso_basename = F            ・・・ISOファイルの先頭につく名前(F-7-i386-disc1.isoなど)
 bugurl = http://bugzilla.redhat.com   ・・・Bugzillaのサイトを指定
 comps = /etc/pungi/comps-f7.xml     ・・・compsファイル名を指定
 manifest = /etc/pungi/minimal-manifest ・・・作成するCD/DVDに含めるパッケージを記述
 yumconf = /etc/pungi/yum.conf.f7.x86_64 ・・・yumリポジトリサーバーを定義したファイル名を指定
 destdir = /srv/pungi/Fedora       ・・・カスタムパッケージを作成するトップディレクトリを指定
 cachedir = /srv/pungi/cache       ・・・ダウンロードしたファイルを蓄えるディレクトリを指定
 arch = x86_64              ・・・pungiを実行するシステムのCPUアーキテクチャーを指定
 version = 7               ・・・バージョン名を指定。導入や配布ディレクトリ作成時に使用される
 flavor = Custom             ・・・ディレクトリ名やログファイル名などに使用される
 discs = 1                ・・・ディスク数を指定。枚数xサイズが作成するパッケージより小さいとエラーする
 cdsize = 4463.0             ・・・1枚あたりのサイズを指定します。DVD=4463.0 CD=680.0あたり
 getsource = no             ・・・ソースファイルの有無を指定

 2.yum.conf.f7.i386ファイルの修正

 これは実施しなくても支障ないですが、なるべく広帯域のサーバーを使ったほうがファイルのダウンロード時間が少なくてすみます。2007年06月01日現在、日本のミラーサイトはIIJとKDDILABです。日本からはyumのリポジトリーサーバーをIIJまたはKDDILABのどちらかにしたほうが早いので変更します。(変更しなくても問題とはなりません)
Fedora 7 カスタムCD/DVD作成 (pungi編)次の例はIIJに変更した場合だワン!
 [fedora]
 name=Fedora - 7
 #baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Everything/i386/os/
 baseurl=http://ftp.iij.ad.jp/pub/linux/fedora/releases/7/Everything/i386/os/
 #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-7&arch=i386

 3.マニフェストファイルの修正

 今回は全部入りを作るためのマニフェストファイルはあるため修正はしません。(f7-everything.manifestファイルを使用)

 xxx.manifestファイルの説明(xxx.manifest [xxx:f7-everything/f7-fedora])

 *          ・・・全てのパッケージファイルを含める場合
 @グループ名     ・・・compsファイル内でGROUPカテゴリーとして指定されているグループ指定
 #xxxx      ・・・コメントアウト
 −パッケージ名    ・・・指定したパッケージを除外する場合
 @グループで指定したグループ定義の中の<packagereq>のtypeに「optional」がある場合@グループ名だけではカスタムパッケージに含めることができないのでoptionalパッケージも含める場合は次のように記述します。
 @グループ名 --optional
 @グループで指定したグループ定義の中の<packagereq>のtypeに「default」パッケージがある場合これを外すことができます。外すには次のように記述します。
 @グループ名 --nodefaults
Fedora 7 カスタムCD/DVD作成 (pungi編)Fedora 7のcompsファイルに定義されているGROUPは次のとおりだワン!GROUP指定するときの参考にするだワン!
@admin-tools
@afrikaans-support
@albanian-support
@arabic-support
@armenian-support
@assamese-support
@authoring-and-publishing
@base
@base-x
@basque-support
@belarusian-support
@bengali-support
@bosnian-support
@brazilian-support
@breton-support
@british-support
@bulgarian-support
@catalan-support
@chinese-support
@clustering
@core
@croatian-support
@czech-support
@danish-support
@development-libs
@development-tools
@dial-up
@dns-server
@dutch-support
@eclipse
@editors
@education
@engineering-and-scientific
@estonian-support
@ethiopic-support
@faeroese-support
@filipino-support
@finnish-support
@french-support
@ftp-server
@gaelic-support
@galician-support
@games
@georgian-support
@german-support
@gnome-desktop
@gnome-software-development
@graphical-internet
@graphics
@greek-support
@gujarati-support
@hardware-support
@hebrew-support
@hindi-support
@hungarian-support
@icelandic-support
@indonesian-support
@inuktitut-support
@irish-support
@italian-support
@japanese-support
@java
@java-development
@kannada-support
@kde-desktop
@kde-software-development
@khmer-support
@korean-support
@lao-support
@latvian-support
@legacy-network-server
@legacy-software-development
@legacy-software-support
@lithuanian-support
@mail-server
@malay-support
@malayalam-support
@maori-support
@marathi-support
@mysql
@network-server
@news-server
@northern-sotho-support
@norwegian-support
@office
@oriya-support
@persian-support
@polish-support
@portuguese-support
@printing
@punjabi-support
@romanian-support
@ruby
@russian-support
@samoan-support
@serbian-support
@server-cfg
@sinhala-support
@slovak-support
@slovenian-support
@smb-server
@somali-support
@sound-and-video
@southern-ndebele-support
@southern-sotho-support
@spanish-support
@sql-server
@swati-support
@swedish-support
@system-tools
@tagalog-support
@tamil-support
@telugu-support
@text-internet
@thai-support
@tibetan-support
@tonga-support
@tsonga-support
@tswana-support
@turkish-support
@ukrainian-support
@urdu-support
@venda-support
@vietnamese-support
@virtualization
@web-development
@web-server
@welsh-support
@window-managers
@x-software-development
@xfce-desktop
@xfce-software-development
@xhosa-support
@zulu-support
Fedora 7 カスタムCD/DVD作成 (pungi編)一番小さなパッケージを作成したい場合は「minimal.manifest」ファイルを参照するだワン!

3.pungiの実行

 準備が整いましたのでpungiを実行します。
 #pungi -c /etc/pungi/f7-everything.i386
Fedora 7 カスタムCD/DVD作成 (pungi編)あとはひたすら待つだワン!2007年06月01日現在:パッケージファイルは7392ファイルあるだワン!

 ISOファイルが出来上がると次のディレクトリに6つのファイルができます。
 /srv/pungi/f7/7/Everything/i386/isoディレクトリ
 [root@localhost iso]# ls -l
 合計 18491888
 -rw-r--r-- 1 root root 9407873024 2007-06-04 01:13 F-7-i386-DVD.iso
 -rw-r--r-- 1 root root 4644186112 2007-06-04 00:37 F-7-i386-disc1.iso
 -rw-r--r-- 1 root root 4664444928 2007-06-04 00:50 F-7-i386-disc2.iso
 -rw-r--r-- 1 root root  97646592 2007-06-04 00:53 F-7-i386-disc3.iso
 -rw-r--r-- 1 root root 102995968 2007-06-04 01:19 F-7-i386-rescuecd.iso
 -rw-r--r-- 1 root root    306 2007-06-04 01:19 SHA1SUM

 全部入りを作成するためにはディスクの空き容量が約30G必要です。ノートPCや小さなディスクしか搭載していないマシンで作業する場合はディスクに十分空きがあることを確認してから実施しましょう。折角時間をかけて作業してもディスクが一杯でエラーしてしまいます。

 再度pungiを実行する場合は/srv/pungi/f7ディレクトリ以下を削除すればOKです。cacheディレクトリは消さないようにしましょう。

4.Update RPMを含んだISOイメージ作成

Fedora 7 カスタムCD/DVD作成 (pungi編)UpdateRPMを含んだISOイメージを作成するためにはyum.conf.f7.i386構成ファイルに赤字部分のようにUpdate RPMを配布しているURLを追記します。
[main]
#keepcache=0
#debuglevel=2
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
reposdir=./
#plugins=1
metadata_expire=1800
exclude=*debuginfo*

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[fedora]
name=Fedora - 7
baseurl=http://ftp.iij.ad.jp/pub/linux/fedora/releases/7/Everything/i386/os/
enabled=1
gpgcheck=0

[fedora-source]
name=Fedora 7 - Source
baseurl=http://ftp.iij.ad.jp/pub/linux/fedora/releases/7/Everything/i386/os/
enabled=0
gpgcheck=0

[fedora-update]
name=Fedora 7 - Update
baseurl=http://ftp.kddilabs.jp/Linux/packages/fedora/updates/7/i386/
enabled=1
gpgcheck=0

[fedora-update-source]
name=Fedora 7 - Source update
baseurl=http://ftp.kddilabs.jp/Linux/packages/fedora/updates/7/SRPMS/
enabled=0
gpgcheck=0

 現在配布されているpungi(0.3.7-1)ではyumをベースにファイルをダウンロードしてくるため古いファイルも新しいファイルも上記の設定にすると取得してきます。これでは作成されるISOに古いファイルも含まれてしまうため導入プロセスでエラーしてしまいますし、ムダにISOの容量が増えてしまいます。そこでpungiに対してパッチを作成しました。ここから入手して適用することで対応することができるようになります。このパッチは0.3.5-1でも0.3.7-1でも適用できます。
なお、0.3.7-2以降のpungiでは修正されていますのでパッチの適用は必要ありません。
パッチの適用例
パッチファイルが/tmpにあるものと想定しての例です
 #cd /
  #patch -p0 < /tmp/pungi-sp-pochinet.patch
 patching file /usr/lib/python2.5/site-packages/pypungi/gather.py
 patching file /usr/bin/pungi

あとは通常と同じようにコマンドを実行します
 #pungi -c /etc/pungi/f7-everything.i386
2007年6月15日現在:約650ファイルのUpdateRPMがあります

前  戻る    
Fedora Core 6 カスタムCD/DVD作成