8.3. インストールプログラムでキックスタートファイルの準備
以下では、ターゲットシステムのインストールプログラムでキックスタートファイルを使用できるようにする方法を説明します。
8.3.1. ネットワークインストール用のポート
次の表は、ネットワークベースの各種インストールにファイルを提供するためにサーバーで開く必要があるポートの一覧です。
使用プロトコル | 開くべきポート |
---|---|
HTTP | 80 |
HTTPS | 443 |
FTP | 21 |
NFS | 2049、111、20048 |
TFTP | 69 |
関連情報
8.3.2. NFS サーバーでキックスタートファイルの準備
この手順では、キックスタートスクリプトファイルを NFS サーバーに格納する方法を説明します。この方法を使用すると、キックスタートファイルに物理メディアを使用することなく、1 つのソースから複数のシステムをインストールできます。
前提条件
- ローカルネットワーク上の Red Hat Enterprise Linux 8 を使用するサーバーへの管理者レベルのアクセス権がある。
- インストールするシステムがサーバーに接続できる。
- サーバー上のファイアウォールがインストール先のシステムからの接続を許可している。
手順
root で以下のコマンドを実行して、
nfs-utils
パッケージをインストールします。# yum install nfs-utils
- キックスタートファイルを、NFS サーバーのディレクトリーにコピーします。
テキストエディターで
/etc/exports
ファイルを開き、以下の構文の行を追加します。/exported_directory/ clients
/exported_directory/ を、キックスタートファイルを保存しているディレクトリーのフルパスに置き換えます。clients の代わりに、この NFS サーバーからインストールするコンピューターのホスト名または IP アドレス、すべてのコンピューターが ISO イメージにアクセスするためのサブネットワーク、またはネットワークアクセスのあるコンピューターが NFS サーバーにアクセスして ISO イメージを使用できるようにする場合はアスタリスク記号 (
*
) を使用します。このフィールドの形式に関する詳細は、man ページの exports(5) を参照してください。/rhel8-install/
ディレクトリーを、すべてのクライアントに対する読み取り専用として使用できるようにする基本設定は次のようになります。/rhel8-install *
-
/etc/exports
ファイルを保存して、テキストエディターを終了します。 nfs サービスを起動します。
# systemctl start nfs-server.service
/etc/exports
ファイルに変更を加える前にサービスを稼働していた場合は、以下のコマンドを実行して、稼働中の NFS サーバーで設定を再ロードします。# systemctl reload nfs-server.service
キックスタートファイルは NFS 経由でアクセス可能になり、インストールに使用できるようになりました。
キックスタートソースを指定する場合は、プロトコルに nfs:
を使用して、サーバーのホスト名または IP アドレス、コロン記号 (:
)、およびそのファイルを保存しているディレクトリーを指定します。たとえば、サーバーのホスト名が myserver.example.com
で、そのファイルを /rhel8-install/my-ks.cfg
に保存した場合、指定するインストールソースの起動オプションは inst.ks=nfs:myserver.example.com:/rhel8-install/my-ks.cfg
となります。
8.3.3. HTTP サーバーまたは HTTPS サーバーで使用できるキックスタートファイルの準備
この手順では、キックスタートスクリプトファイルを HTTP サーバーまたは HTTPS サーバーに格納する方法を説明します。この方法を使用すると、キックスタートファイルに物理メディアを使用することなく、1 つのソースから複数のシステムをインストールできます。
前提条件
- ローカルネットワーク上の Red Hat Enterprise Linux 8 を使用するサーバーへの管理者レベルのアクセス権がある。
- インストールするシステムがサーバーに接続できる。
- サーバー上のファイアウォールがインストール先のシステムからの接続を許可している。
手順
キックスタートファイルを HTTP に保存するには、
httpd
パッケージをインストールします。# yum install httpd
HTTPS にキックスタートファイルを保存するには、
httpd
パッケージおよびmod_ssl
パッケージをインストールします。# yum install httpd mod_ssl
警告Apache Web サーバー設定で SSL セキュリティーが有効になっている場合は、TLSv1 プロトコルのみが有効で、SSLv2 と SSLv3 は無効になっていることを確認してください。POODLE SSL 脆弱性 (CVE-2014-3566) の影響を受けないようにするためです。詳細は https://access.redhat.com/solutions/1232413 を参照してください。
重要自己署名証明書付きの HTTPS サーバーを使用する場合は、
inst.noverifyssl
オプションを指定してインストールプログラムを起動する必要があります。-
/var/www/html/
ディレクトリーのサブディレクトリーに、HTTP(S) サーバーへのキックスタートファイルをコピーします。 httpd サービスを起動します。
# systemctl start httpd.service
キックスタートファイルはアクセス可能になり、インストールとして使用できるようになりました。
注記キックスタートファイルの場所を指定する場合は、プロトコルに
http://
またはhttps://
を使用して、サーバーのホスト名または IP アドレス、キックスタートファイルのパス (HTTP サーバーの root への相対パス) を指定します。たとえば、HTTP を使用して、サーバーのホスト名がmyserver.example.com
で、キックスタートファイルを/var/www/html/rhel8-install/my-ks.cfg
にコピーした場合、指定するインストールソースはhttp://myserver.example.com/rhel8-install/my-ks.cfg
となります。
関連情報
8.3.4. FTP サーバーでキックスタートファイルの準備
この手順では、キックスタートスクリプトファイルを FTP サーバーに格納する方法を説明します。この方法を使用すると、キックスタートファイルに物理メディアを使用することなく、1 つのソースから複数のシステムをインストールできます。
前提条件
- ローカルネットワーク上の Red Hat Enterprise Linux 8 を使用するサーバーへの管理者レベルのアクセス権がある。
- インストールするシステムがサーバーに接続できる。
- サーバー上のファイアウォールがインストール先のシステムからの接続を許可している。
手順
root で以下のコマンドを実行して、
vsftpd
パッケージをインストールします。# yum install vsftpd
必要に応じて、
/etc/vsftpd/vsftpd.conf
設定ファイルをテキストエディターで開いて編集します。-
anonymous_enable=NO
の行をanonymous_enable=YES
に変更します。 -
write_enable=YES
の行をwrite_enable=NO
に変更します。 pasv_min_port=min_port
とpasv_max_port=max_port
の行を追加します。min_port および max_port は、パッシブモードの FTP サーバーで使用されるポート番号の範囲に置き換えます (例:10021
および10031
)。このステップは、各種のファイアウォール/NAT 設定を採用するネットワーク環境に必要です。
オプションで、カスタムの変更を設定に追加します。利用可能なオプションは、vsftpd.conf(5) の man ページを参照してください。この手順では、デフォルトのオプションが使用されていることを前提としています。
警告vsftpd.conf
ファイルで SSL/TLS セキュリティーを設定している場合は、TLSv1 プロトコルのみを有効にし、SSLv2 と SSLv3 は無効にしてください。POODLE SSL 脆弱性 (CVE-2014-3566) の影響を受けないようにするためです。詳細は、https://access.redhat.com/solutions/1234773 を参照してください。
-
サーバーのファイアウォールを設定します。
ファイアウォールを有効にします。
# systemctl enable firewalld # systemctl start firewalld
直前の手順の FTP ポートおよびポート範囲のファイアウォールで有効にします。
# firewall-cmd --add-port min_port-max_port/tcp --permanent # firewall-cmd --add-service ftp --permanent # firewall-cmd --reload
min_port-max_port を、
/etc/vsftpd/vsftpd.conf
設定ファイルに入力したポート番号に置き換えます。
-
/var/ftp/
ディレクトリーまたはそのサブディレクトリーに、FTP サーバーへのキックスタートファイルをコピーします。 正しい SELinux コンテキストとアクセスモードがファイルに設定されていることを確認してください。
# restorecon -r /var/ftp/your-kickstart-file.ks # chmod 444 /var/ftp/your-kickstart-file.ks
vsftpd
サービスを開始します。# systemctl start vsftpd.service
/etc/vsftpd/vsftpd.conf
ファイルを変更する前から、このサービスがすでに実行されていた場合は、サービスを再起動して必ず編集後のファイルを読み込ませてください。# systemctl restart vsftpd.service
vsftpd
サービスを有効にして、システムの起動プロセス時に開始するようにします。# systemctl enable vsftpd
キックスタートファイルはアクセス可能になり、同じネットワークのシステムからのインストールとして使用できるようになりました。
注記インストールソースを設定するには、プロトコルに
ftp://
を使用して、サーバーのホスト名または IP アドレス、キックスタートファイルのパス (FTP サーバーの root への相対パス) を指定します。たとえば、サーバーのホスト名がmyserver.example.com
で、ファイルを/var/ftp/my-ks.cfg
にコピーした場合、指定するインストールソースはftp://myserver.example.com/my-ks.cfg
となります。
8.3.5. ローカルボリュームでキックスタートファイルの準備
この手順では、インストールするシステムのボリュームにキックスタートスクリプトファイルを保存する方法を説明します。この方法により、別のシステムは必要なくなります。
前提条件
- USB スティックなど、インストールするマシンに移動できるドライブがある。
-
ドライブには、インストールプログラムで読み取ることができるパーティションが含まれている。対応しているタイプは、
ext2
、ext3
、ext4
、xfs
、およびfat
です。 - ドライブがシステムに接続されており、そのボリュームがマウントされている。
手順
ボリューム情報のリストを表示し、キックスタートファイルをコピーするボリュームの UUID をメモします。
# lsblk -l -p -o name,rm,ro,hotplug,size,type,mountpoint,uuid
- ボリュームのファイルシステムに移動します。
- このファイルシステムにキックスタートファイルをコピーします。
-
inst.ks=
オプションを使用して後で使用する文字列をメモしておきます。この文字列の形式はhd:UUID=volume-UUID:path/to/kickstart-file.cfg
です。パスは、ファイルシステムシステム階層の/
(root) ではなく、ファイルシステムの root に相対的になります。volume-UUID を、上記の UUID に置き換えます。 ドライブボリュームのマウントをすべて解除します。
# umount /dev/xyz ...
スペースで区切って、コマンドにすべてのボリュームを追加します。
8.3.6. 自動読み込みのローカルボリュームでキックスタートファイルを使用可能に
特別な名前が付けられたキックスタートファイルを、インストールするシステムで特別な名前が付けられたボリュームの root に置くことができます。これにより、別のシステムが必要なくなり、インストールプログラムが自動的にファイルを読み込むことができるようになります。
前提条件
- USB スティックなど、インストールするマシンに移動できるドライブがある。
-
ドライブには、インストールプログラムで読み取ることができるパーティションが含まれている。対応しているタイプは、
ext2
、ext3
、ext4
、xfs
、およびfat
です。 - ドライブがシステムに接続されており、そのボリュームがマウントされている。
手順
キックスタートファイルをコピーするボリューム情報をリスト表示します。
# lsblk -l -p
- ボリュームのファイルシステムに移動します。
- このファイルシステムの root にキックスタートファイルをコピーします。
-
キックスタートファイルの名前を
ks.cfg
に変更します。 ボリュームの名前を
OEMDRV
に変更します。ext2
、ext3
、およびext4
のファイルシステムの場合:# e2label /dev/xyz OEMDRV
XFS ファイルシステムの場合:
# xfs_admin -L OEMDRV /dev/xyz
/dev/xyz を、ボリュームのブロックデバイスのパスに置き換えます。
ドライブボリュームのマウントをすべて解除します。
# umount /dev/xyz ...
スペースで区切って、コマンドにすべてのボリュームを追加します。