Kickstart構成ファイルのカスタマイズ
Kickstart構成ファイルは、オプションの形式でのインストール手順と必要なパラメータで構成されます。
Kickstart構成ファイルを作成するには、次のいずれかの方法を選択します:
-
既存のOracle Linuxシステムの
/root/anaconda-ks.cfgファイルを使用します。Oracle Linuxインストールごとに、
/root/anaconda-ks.cfgというファイルが作成されます。 このファイルには、Oracle Linuxがインストールされているシステムに基づく構成定義が含まれており、Kickstartから読み取ることができます。 ファイルは、使用、変更なし、インストールの繰返し、または特定のクライアントにインストールするOSバージョンなど、他のOracle Linuxインストールに適用するようにカスタマイズできるテンプレートとして使用できます。システムに
pykickstartパッケージが含まれている場合は、次の便利なツールがカスタマイズに役立ちます:-
ksverdiffにより、削除済か非推奨のオプションを特定します。 -
ksvalidatorにより、ファイル内の構文が正しいことを確認します。
-
-
Oracle Linuxリリースを手動でインストールします。それにより、
/root/anaconda-ks.cfgファイルが生成されます。 このファイルを使用して、同じOracle Linuxリリースをその他のクライアントに自動的にインストールします。 これらのクライアントのインストール要件に応じて、ファイル内のいくつかの構成オプションを調整する必要がある場合があります。
詳細は、https://pykickstart.readthedocs.io/en/latest/を参照してください。
この構成ファイルは、次の部分に分かれています。 各部分には、次のようなオプション・グループが含まれています。
インストール・オプション
インストール・オプションにより、システム記憶域、キーボード定義、言語設定、ネットワーク情報などのパラメータを定義します。 次の例では、太字のオプション定義により、PXEはネットワーク・インタフェースを起動でき、ネットワーク・インストールで重要です。 また、UEKで使用可能なBtrfsファイル・システムを使用して指定する方法も示します。
ノート:
UEKで使用可能なBtrfsファイル・システムを使用するには、「Btrfsルート・ファイル・システムを使用したシステムのインストール」の説明に従ってUEKインストール・メディアを使用していることを確認します。 その後、次の例で# Partition Informationの下に示すように、autopart Kickstartオプションにより、自動的に、Btrfsを使用してディスクをパーティション化できます。
ローカル・ミラー・リポジトリを使用している場合は、これらが最新であること、およびBtfrsが機能するために必要なUEKリポジトリがKickstart構成に含まれていることを確認してください。 Oracle Linux yumサーバーを使用して必要なリポジトリをミラー化するか、またはOracle Linux yumサーバーにアクセスできない場合は、完全インストールISOに含まれるリポジトリをミラー化できますが、UEKインストールISOを使用してインストーラを起動する必要があります。 次の例では、システムはインターネット・アクセスを持っていると想定され、公開されているOracle Linux yumサーバー・リポジトリを直接使用します。
または、アップストリームのドキュメントの説明に従って、手動でBtrfsを使用するようにディスクをパーティション化できます。
#platform=x86, AMD64, or Intel EM64T
#version=OL10
# Firewall configuration
firewall --enabled --service=ssh
# Use Oracle Linux yum server repositories as installation source
repo --name="ol10_AppStream" --baseurl="https://yum.oracle.com/repo/OracleLinux/OL10/appstream/x86_64/"
url --url="https://yum.oracle.com/repo/OracleLinux/OL10/baseos/x86_64"
# Root password
rootpw --iscrypted SHA512_password_hash
# Use graphical install
graphical
firstboot --disable
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# SELinux configuration
selinux --enforcing
# Installation logging
logging
# System timezone
timezone America/Los_Angeles
# Network information
network --bootproto=dhcp --device=em1 --onboot=yes
--hostname=hostname
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Non-administrative user
user --name=user --homedir=/home/user --password=SHA512_password_hash --iscrypted
# Partition information
clearpart --all --initlabel --drives=sda
autopart --type=btrfs
インストールするパッケージ
インストールするパッケージは、%packagesというグループ見出しの下に一覧表示されます。 リストは%end行で停止します。
%packages
@base
@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@multimedia
@print-client
@print-server
@x11
mtools
pax
python-dmidecode
oddjob
wodim
sgpio
genisoimage
device-mapper-persistent-data
abrt-gui
samba-winbind
certmonger
openldap-clients
pam_krb5
krb5-workstation
ldapjdk
slapi-nis
libXmu
perl-DBD-SQLite
perl-Mozilla-LDAP
%end
このリストには、パッケージ・グループと個々のパッケージが含まれています。 パッケージ・グループの名前には、個々のパッケージと区別するために@baseのように@という接頭辞が使用されています。
このファイルに含めるパッケージを特定するには、既存のOracle Linuxサーバーでdnf group listコマンドを使用します。 このコマンドでは、インストール済のパッケージ・グループと、インストール可能なパッケージ・グループが両方とも表示されます。
1つの一致に複数のパッケージを指定するには、ワイルドカード文字(*)を使用できます。 パッケージをインストールから除外するには、パッケージ名に接頭辞として-文字を挿入します。
%packagesキーワードには、次のようなオプションを指定できます:
-
--ignoremissing -
使用可能なパッケージを、不足パッケージに関するプロンプトを表示せずにインストールします。 このオプションを指定しなかった場合、Kickstartによりインストールが中断され、インストールを続行するか取り消すかを尋ねるプロンプトが表示されます。
-
--multilib -
32ビットのパッケージをシステムにインストールできるように、
dnf構成のmultilibポリシーをallに設定します。
パッケージを構成ファイルに直接一覧表示するかわりに、これらの名前を別のファイルにコンパイルし、Kickstartのramdiskファイルシステム、HTTPサーバーまたはNFS共有内のローカルなどのアクセス可能なロケーションに格納できます。 次に、構成ファイルで、%include文でこのセカンダリ・ファイルへのフルパスを指定します。たとえば:
%packages --ignoremissing
%include /tmp/package-list
%end
インストール前オプション
インストール前オプションでは、インストール・プロセスを開始する前にインストーラが実行する必要があるアクションを定義します。 これらのオプションは、%preヘッダーの下で指定され、%end行で終了します。 このセクションは必須ではありません。
次の例では、インストーラは、HTTPサーバーに格納されているスクリプトconfig-partitionsを実行するように指示されます。 次に、%packagesセクションの%include /tmp/package-list文で使用するパッケージのリストをwebサーバーからダウンロードします。 wgetコマンドは、パッケージ・リストをKickstartのファイル・システムに保存します。このファイル・システムはメモリー内にRAMディスクとして存在します。
%pre
%include http://server-ip-address/scripts/config-partitions
wget -q -O- http://server-ip-address/scripts/package-list > /tmp/package-list
%end
含まれるスクリプトまたはファイルは、指定されたパスまたはURLでアクセスできる必要があります。 ホストの特定に使用できるネーム・サービスがない場合は、IPアドレスを使用します。
インストール後オプション
インストール後オプションにより、インストールの最後にインストーラによって実行されるアクションを定義します。 このセクションは必須ではありません。
これらのオプションは、%postヘッダーの下で指定され、%end行で終了します。
rootアカウントはデフォルトでロックされています。 システムへのSSHルート・ログインを有効にするには、kickstartファイルに次の行を追加します。
%post
echo "PermitRootLogin yes" > /etc/ssh/sshd_config.d/01-permitrootlogin.conf
%end
デフォルトでは、Kickstartにより、新しくインストールされたシステムのルート・ファイル・システムに基づくchroot環境でインストール後タスクが実行されます。 chroot環境の外部にあるファイルにアクセスする必要がある場合は、%postヘッダーに--nochrootオプションを指定します。 その後、新しくインストールしたシステムのルート・ファイル・システムが/mnt/sysimageにマウントされた状態で、Kickstartファイル・システムのファイルにアクセスできます。
次の例では、スクリプト/tmp/post-configがインストールの最後に実行されます。
%post --nochroot
%include /tmp/post-config
%end
インストールされたシステムのネットワーク・インタフェースを、DHCPを使用してその設定を取得するように構成する場合、ドメイン名のかわりにIPアドレスを使用するか一時resolv.confファイルを設定する必要があります。たとえば:
%post
wget -q -O- http://192.168.1.100/scripts/resolv.conf > /etc/resolv.conf
%include http://instsvr.example.com/scripts/post-config
.
.
.
%end