A.2. キックスタートでのパッケージ選択
キックスタートは、インストールするパッケージを選択するために、%packages
コマンドで始まるセクションを使用します。この方法で、パッケージ、グループ、環境、モジュールストリーム、およびモジュールプロファイルをインストールできます。
A.2.1. パッケージの選択セクション
%packages
コマンドを使用して、インストールするソフトウェアパッケージを説明するキックスタートセクションを開始します。%packages
セクションは、%end
コマンドで終了する必要があります。
パッケージは、環境、グループ、モジュールストリーム、モジュールプロファイル、またはパッケージ名で指定できます。関連パッケージを含むいくつかの環境およびグループが定義されます。環境およびグループのリストは、Red Hat Enterprise Linux 9 インストール DVD の repository/repodata/*-comps-repository.architecture.xml
ファイルを参照してください。
*-comps-repository.architecture.xml
ファイルには、利用可能な環境 (<environment>
タグでマーク) およびグループ (<group>
タグ) を記述した構造が含まれています。各エントリーには、ID、ユーザー可視性の値、名前、説明、パッケージリストがあります。グループがインストールに選択されていると、パッケージリストで mandatory
とマークされたパッケージが常にインストールされ、default
とマークされたパッケージは、他で個別に除外されていない場合に限りインストールされます。また、optional
とマークされたパッケージは、グループが選択されている場合でも、他で明確に含める必要があります。
パッケージグループや環境は、その ID (<id>
タグ) もしくは名前 (<name>
タグ) を使用して指定できます。
どのパッケージをインストールするべきかわからない場合は、Minimal Install 環境を選択することが推奨されます。最小インストール では、Red Hat Enterprise Linux 9 の実行に必須のパッケージのみが提供されます。これにより、システムが脆弱性の影響を受ける可能性が大幅に減ります。必要な場合は、インストール後に追加パッケージをインストールできます。最小インストール の詳細は、セキュリティーの強化 の 必要なパッケージの最小限のインストール のセクションを参照してください。Initial Setup は、デスクトップ環境と X Window System がインストールに含まれ、グラフィカルログインが有効になっていないと、キックスタートファイルからシステムをインストールした後に実行できません。
64 ビットシステムに 32 ビットパッケージをインストールするには、次を行います。
-
%packages
セクションに--multilib
オプションを指定します。 -
glibc.i686
のように、そのパッケージの構築対象である 32 ビットアーキテクチャーをパッケージ名に追記します。
A.2.2. パッケージの選択コマンド
このコマンドは、キックスタートファイルの %packages
セクションで使用できます。
- 環境の指定
@^
記号で開始する行で、インストールする環境全体を指します。%packages @^Infrastructure Server %end
これは、
インフラストラクチャーサーバー
環境の一部となるパッケージをすべてインストールします。利用可能なすべての環境は、Red Hat Enterprise Linux 9 インストール DVD のrepository/repodata/*-comps-repository.architecture.xml
ファイルで説明されています。キックスタートファイルに指定する必要があるのは、1 つの環境だけです。追加の環境を指定すると、最後に指定した環境のみが使用されます。
- グループの指定
1 行に 1 エントリーずつグループを指定します。
*-comps-repository.architecture.xml
ファイルに指定したとおりに、@
記号に続いてグループのフルネームまたはグループ ID を指定します。以下に例を示します。%packages @X Window System @Desktop @Sound and Video %end
Core
グループは常に選択されるため、%packages
セクションで指定する必要はありません。- 個別パッケージの指定
1 行に 1 エントリーで、名前で個別のパッケージを指定します。アスタリスク記号 (
*
) をパッケージ名のワイルドカードとして使用できます。以下に例を示します。%packages sqlite curl aspell docbook* %end
docbook*
エントリーには、ワイルドカードを使用したパターンに適合するdocbook-dtds
パッケージおよびdocbook-style
パッケージが含まれます。- モジュールストリームのプロファイルの指定
プロファイルの構文を使用して、モジュールストリープのポリシーを、1 行ごとに指定します。
%packages @module:stream/profile %end
これにより、モジュールストリームで指定したプロファイルに記載されているパッケージがすべてインストールされます。
- モジュールにデフォルトのストリームが指定されている場合は、削除できます。デフォルトのストリームが指定されていない場合は、指定する必要があります。
- モジュールストリームにデフォルトのプロファイルが指定されている場合は、削除できます。デフォルトのプロファイルが指定されていない場合は、指定する必要があります。
- 異なるストリームでモジュールを複数回インストールすることはできません。
- 同じモジュールおよびストリームの複数プロファイルをインストールできます。
モジュールおよびグループは、
@
記号で始まる同じ構文を使用します。同じ名前のモジュールとパッケージグループが存在する場合は、モジュールが優先されます。Red Hat Enterprise Linux 9 では、モジュールは AppStream リポジトリーにのみ存在します。利用可能なモジュールのリストを表示するには、インストールされている Red Hat Enterprise Linux 9 システムで
dnf module list
コマンドを使用します。キックスタートコマンド
module
を使用して、モジュールストリームを有効にし、直接命名して、モジュールストリームに含まれるパッケージをインストールすることもできます。- 環境、グループ、パッケージの除外
ダッシュ (
-
) を先頭に付け、インストールから除外するパッケージやグループを指定します。以下に例を示します。%packages -@Graphical Administration Tools -autofs -ipa*compat %end
キックスタートファイルで *
のみを使用して、利用可能なパッケージをすべてインストールする方法はサポートされていません。
%packages
セクションのデフォルト動作は、オプションを使用して変更する方法がいくつかあります。オプションの中には、全パッケージの選択で機能するものと、特定のグループにのみ機能するものがあります。
A.2.3. 一般的なパッケージ選択のオプション
%packages
では、以下のオプションが使用できます。オプションを使用するには、パッケージ選択セクションの最初に追加します。以下に例を示します。
%packages --multilib --ignoremissing
--default
- パッケージのデフォルトセットをインストールします。これは、対話式インストールの パッケージの選択 画面でその他を選択しない場合にインストールされるパッケージセットに対応するものです。
--excludedocs
-
パッケージに含まれているドキュメンテーションをインストールしません。ほとんどの場合、
/usr/share/doc
ディレクトリーにインストールされるファイルは除外されますが、個別に除外されるファイルは個別のパッケージによります。 --ignoremissing
- インストールを停止してインストールの中断または続行を確認する代わりに、インストールソースにないパッケージ、グループ、モジュールストリーム、モジュールプロファイル、および環境を無視します。
--inst-langs
- インストールする言語リストを指定します。これはパッケージグループレベルの選択とは異なります。このオプションでは、インストールするパッケージグループを記述するのではなく、RPM マクロを設定して、個別パッケージからインストールする翻訳ファイルを制御します。
--multilib
64 ビットのシステムに 32 ビットのパッケージをインストールできるように、multilib パッケージ用にインストールされたシステムを設定し、このセクションで説明しているようにパッケージをインストールします。
通常、AMD64 および Intel 64 のシステムでは、x86_64 パッケージおよび noarch パッケージのみをインストールできます。ただし、--multilib オプションを使用すると、32 ビット AMD および i686 Intel のシステムパッケージが存在する場合は自動的にインストールされます。
これは
%packages
セクションで明示的に指定されているパッケージにのみ適用されます。キックスタートファイルで指定されずに依存関係としてのみインストールされるパッケージは、他のアーキテクチャーで利用可能な場合でも、必要とされるアーキテクチャーのバージョンにのみインストールされます。システムのインストール時に、Anaconda が
multilib
モードでパッケージをインストールするように設定できます。以下のいずれかのオプションを使用してmultilib
モードを有効にします。以下の行でキックスタートファイルを設定します。
%packages --multilib --default %end
- インストールイメージの起動中に、inst.multilib 起動オプションを追加します。
--nocore
@Core
パッケージグループのインストールを無効にします。これを使用しない場合は、デフォルトでインストールされます。--nocore
での@Core
パッケージグループの無効化は、軽量コンテナーの作成にのみ使用してください。--nocore
を指定してデスクトップやサーバーのシステムをインストールすると、システムが使用できなくなります。注記-
@Core
パッケージグループ内のパッケージを、-@Core
を使用して除外することはできません。@Core
パッケージグループを除外する唯一の方法は、--nocore
オプションを使用することです。 -
@Core
パッケージグループは、作業 system のインストールに必要なパッケージの最小セットとして定義されています。これは、Package Manifest および Scope of Coverage Details で定義されているコアパッケージには関係ありません。
-
--exclude-weakdeps
- 弱い依存関係からのパッケージのインストールを無効にします。これは、Recommends フラグおよび Supplements フラグで選択したパッケージセットにリンクされたパッケージです。デフォルトでは、弱い依存関係がインストールされます。
--retries=
- DNF がパッケージのダウンロードを試みる回数を設定します (再試行)。デフォルト値は 10 です。このオプションはインストール時にのみ適用され、インストールされているシステムの DNF 設定には影響を及ぼしません。
--timeout=
- DNF タイムアウトを秒単位で設定します。デフォルト値は 30 です。このオプションはインストール時にのみ適用され、インストールされているシステムの DNF 設定には影響を及ぼしません。
A.2.4. 特定パッケージグループ用のオプション
以下のオプションは、単一パッケージグループにのみ適用されます。キックスタートファイルの %packages
コマンドで使用する代わりに、グループ名に追加します。以下に例を示します。
%packages @Graphical Administration Tools --optional %end
--nodefaults
- デフォルト選択ではなく、グループの必須パッケージのみをインストールします。
--optional
デフォルトの選択に加えて、
*-comps-repository.architecture.xml
ファイルのグループ定義でオプションの印が付けられているパッケージをインストールします。Scientific Support
などの一部のパッケージグループには、必須パッケージやデフォルトパッケージが指定されておらず、任意のパッケージのみが指定されています。この場合は、--optional
オプションを常に使用する必要があり、このオプションを使用しないと、このグループからパッケージをインストールすることができません。
--nodefaults
および --optional
オプションは併用できません。--nodefaults
を使用して、インストール中に必須パッケージのみをインストールし、インストール後にインストール済みシステムにオプションのパッケージをインストールできます。
A.2.5. キックスタートを使用した ARM への Kernel-64k のインストール
RHEL は、最適なパフォーマンスを得るために大規模な物理メモリー設定を必要とするワークロードをサポートする ARM64 ハードウェアアーキテクチャーを提供します。このような大規模なメモリー設定では、大きな MMU ページサイズ (64k) を使用する必要があります。
RHEL 9 のインストール時に、kernel-64k
パッケージを選択して、64k ページサイズをサポートするカーネルを備えた RHEL をインストールできます。
手順
キックスタートファイルの
%packages
セクションに、次のパッケージリストを追加します。%packages kernel-64k -kmod-kvdo -vdo -kernel %end
検証
ページサイズを確認するには、インストールが完了してシステムが再起動された後、ターミナルを開いて次を実行します。
$ getconf PAGESIZE 65536
出力
65536
は、64k カーネルが使用されていることを示します。スワップパーティションが有効になっていることを確認するには、次のように入力します。
$ free total used free shared buff/cache available Mem: 35756352 3677184 34774848 25792 237120 32079168 Swap: 6504384 0 6504384
total 列と free 列がゼロ以外の値です。これは、スワップが正常に有効になっていることを示します。