====== Building a custom CentOS 6 kickstart disc, part 1 ====== http://smorgasbork.com/component/content/article/35-linux/128-building-a-custom-centos-6-kickstart-disc-part-1 上記ページの内容を訳すとまで行かなくても、手順だけでもまとめて理解する。 ===== Prepare a build system ===== - カスタムされたCentOSをビルドするためにCentOSマシンが必要になります。 - マシンについては物理でも仮想でも可能です。 - インストールメディアのDVD ISOをダウンロードします。 - 始める前にMD5チェックサムと比較して正しいか確認しましょう。 - もし物理マシンならISOファイルをDVDに焼きましょう。 - 仮想マシンなら直接マウントしちゃいましょう。 - ビルド用のマシンにCentOS6をインストールするときは、インストールタイプに"Desktop"を選択します。 - ビルド用のマシンにディレクトリを作ります。 - ~/kickstart_build - 更に以下の構成になるようにサブディレクトリを作ります。 ~/kickstart_build +-- isolinux | +-- Packages | +-- images | +-- ks +-- utils - CentOS disc 1のisolinuxディレクトリの全てのファイルを~/kickstart_build/isolinuxディレクトリにコピーします。 - CentOS disc 1の.discinfoも~/kickstart_build/isolinuxディレクトリにコピーします。 - CentOS disc 1のimagesディレクトリの全てのファイルを~/kickstart_build/isolinux/imagesディレクトリにコピーします。 - repodataからcomps.xmlファイルを取得します。RHEL/CentOS6では、このファイルは"comps.xml"というファイル名ではなく、16進数のファイル名になっています。CentOS6.2では、"bedb7dc8fdf920deffbdc5a70ea0d6d77255656556184f5e996e8a88a63d145c-c6-x86_64-comps.xml.gz"になっています。これを~/kickstart_build/comps.xml.gzにコピーし、gunzipで~/kickstart_build/comps.xmlに解凍します。 - kickstartの設定ファイルは~/kickstart_build/isolinux/ksに置くことにします。別のフォルダにしておくのは、マシンによって複数の設定ファイルを切り替えてビルドするからです。 ===== Start from a sample configuration file ===== - サンプルの設定ファイルから始めるのが良いです。 - CentOSではそれが簡単に作られます。 - まず、マシンで普通にインストールを行います。 - インストール後に、/root/anaconda-ks.cfgを見てください。 - このファイルを~kickstart_build/isolinux/ks/ks.cfgにコピーします。 - このファイルを編集のために開き、パーティション情報がコメントアウトされているところを見つけます。以下のような注意書きです。 # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work - ディスクパーティションに関する行のコメントアウトを取り除きます。これをやらないと選択されたパッケージをインストールするときにパーティションがありません。 - 注意点としては、ドライブ構成としてはビルドマシンの構成になっていることです。もし異なるマシンを使う場合(例:ビルドマシンはIDEドライブだがターゲットはSCSIを使おうとしている、ターゲットでソフトウェアRAIDを構成しようとしている)は、これらの行を編集します。ターゲットと同じ構成のビルドマシンを使うのが一番簡単です。 ===== Copy the RPMs ===== - これについてやることはない、すべてのRPMは1つのディレクトリにあります。 - このカスタムディスクでは、インストールに必要なRPMだけをコピーするとする。 - しかし、すぐに各種RPMにアクセスする必要がでてくるので、全て一時フォルダに置いてしまうのがより効率的です。 - 全てのファイルをDVD1のPackagesフォルダから ~kickstart_build/all_rpmsにコピーします。 - DVD2からも同様にコピーします。 - もしCentOSのCDの場合は、全てのRPMをビルドマシンの一時フォルダにコピーします。 - これらはのほとんどは不要だが、依存関係を解決するときにディスクの交換が発生します。DVDの場合は気にする必要はありません。 ===== Determine which packages to include ===== - ~kickstart_build/comps.xmlを見ます。CentOS disc 1のrepodata/comps.xmlをコピーしたものです。 - これはパッケージとグループを定義しています。 - あなたが用意したkickstart設定ファイルでは、%packagesの下にインストールされたパッケージがリストされています。 - グループの場合は@がつきます。@coreと@baseはシステムに不可欠なパッケージになるので残します。 - もし、本当にタイトなディストリビューションを作るためにスリム化したい場合は、comps.xmlを使用して各グループで参照するパッケージのみになるように、グループを削除するか置き換えることができます。 - "-"を頭に付けることによってリストされたパッケージを除外できます。 - [[centos:kickstart:note2|次は一番むずかしいパートです。RPMのコンパイルと依存関係の解決。]]