まず、私がキックスタートに初めて接するということを申し上げたいと思います。したがって、間違った用語を使用した場合は、事前にお詫び申し上げます。
私が達成したいもの: CentOSと私が書いたWebベースのアプリケーションをインストールするためにゲストISOを作成しようとしています。アプリケーション以外のアプリケーションを実行している仮想マシンやベアメタルサーバーを簡単にデプロイできる「アプライアンス」タイプのインストールを作成したいと思います。
RHELに基づいて他の会社によって作成されたISOサンプルがあり、その会社の指示に従ってニーズに合わせてカスタマイズしたいと思います。
質問: インストールするパッケージを定義するサンプルisoでks.cfgファイルを見ていますが、最終的にISOルートにあるRPMのリストになるようです。以下はks.cfgファイルから抜粋したものです。
#Package install information
%packages
@ base
@ core
@ acme-base
@ acme-platform
@ acme-application
isoのディレクトリを見ると、@acme-platformのために/acme/acmeplatform/RPMS/*.rpmがインストールされると思います。
私の質問は、@acme-platformから実際のRPMが格納されているISOからディレクトリへのマッピングを定義する方法です。
編集:最初の答えを読んだ後、質問を明確にしたいと思います。実際、どのファイルがRPMの場所をファイル内で参照されているグループにマップするかを探していますks.cfg
。このグループを構成する実際のパッケージは、以下に定義されています。/repodata/comps.xml
答え1
リストされたパッケージは実際にはyum
パッケージグループです。チームは個々のパッケージを手動でリストする必要がないという事実(または特定の効果に推奨されるパッケージを知る必要がある)に精通しています。たとえば、RHEL 6(CentOS 6と仮定)でテキストのみを使用している場合は、yum groupinstall Desktop
「Desktop」というグループを満たすために必要なすべてのパッケージをインストールし、最終的にRed Hatが考えるGNOME Desktopやその他のアプリケーションをインストールできます。 。あなたはそれが役に立つことがわかります。これは基本的に「デスクトップが欲しい」と言うようにプロセスを簡単にするためのものです。
core
グループはRHEL base
/ CentOS基本の一部であり、これらのacme-*
グループは関連デバイスに適用できます。おそらくrpmを同じディレクトリに置いたでしょう。
インストールから始めます。ループバックにインストールされているISOを表示するには、yumリポジトリを作成します。yum groupinfo
次に、必要なコマンドを実行して、各グループに使用できる個々のパッケージを確認します。たとえば、base
グループのパッケージを表示するには、yum groupinfo base
Gloryと入力して表示できます。
それが提供するパッケージ名はDVDのどこかにあるRPMになります(記憶はありませんが、「RPMS」ディレクトリがあるようです)、パッケージ名はRPMファイル名の最初の部分を構成します。
たとえば、filenameというパッケージがある場合はbtparser
呼び出すことができます。ただし、検索するにはbtparser-0.17-2.el6.x86_64.rpm
aを実行します。find /path/to/mountedISO -name 'btparser*
これにより、正しい方向に行くことができます。
答え2
/etc/yum.conf および /etc/yum.repos.d/ の .repo ファイルは、使用するリポジトリを決定します。これらのリポジトリには、場所フィールドを介してRPMの場所を指定するrepodata / primary.xmlファイルがあります。
おそらく、ソフトウェアをデフォルトのCDリポジトリに統合したくないでしょう。 isoの他の場所に作成し、createrepoを使用します。キックスタート設定で「repo」コマンドを追加することで、このリポジトリを追加できます(例:「repo --name=acme --baseurl=file://mnt/cdrom/local/repos/acme.txt」を使用) 。