目次
この記事では、Red Hatおよびcentosのインストールを自動化するために使用できるrhel/Centos8Kickstartコマンドの例のリストを共有します。 この記事では%pre
%post
のインストール段階については説明していません。 私はリアルタイムの本番環境で最も使用されるキックスタートコマンドをカバーしようとしますが。
Kickstart Generator
Red Hatの公式のKickstart Generatorツールを使用して、インストールを自動化するためのkickstartファイルを作成することができます。
画面上のオプションに従うだけで、あなたの選択に基づいてサンプルのキックスタートファイルを取得します。
Kickstart Validator
kickstartファイルを使用してインストールを開始する前に、Kickstart構成ファイルの内容を検証することをお勧めします。 インストールpykickstart
ksvalidator
ツール
ksvalidator
# dnf -y install pykickstart
キックスタートファイルを検証するには、ksvalidator
ksvalidator
# dnf -y install pykickstart
:以下は、Red Hat/CentOSのインストールプロセス全体を自動化するために、独自のキックスタートファイルを手動で追加して作成できるキックスタートコマンドの 記事の最後に、Oracle VirtualBoxに仮想マシンをインストールするために使用したサンプルのキックスタート構成ファイルを添付しました
コメントの追加(オプション)
識別のために追加したキックスタートを識別するためにコメントを追加することを選択できます。 このオプションを使用すると、無視することができます。
# version=RHEL8# RHEL/CentOS 8 Kickstart Example
メディアチェックの実行
インストールを開始する前にメディア
このコマンドはインストールに参加する必要があるため、デフォルトでは無効になっています。
構文:
mediacheck
インストールモード
完全自動インストールの場合は、キックスタートファイルで使用可能なモードのいずれかを指定する必:
Kickstart command-graphical
-
--non-interactive
と組み合わせることもできます。 - このモードでは、ユーザーの操作が必要なときにインストールが終了します。
Kickstart command-text
-
--non-interactive
と組み合わせることもできます。 - このモードでは、ユーザーの操作が必要なときにインストールが終了します。
Kickstart command-cmdline
- 完全に非対話型のコマンドラインモードでインストールを実行します。
- 対話のためのプロンプトは、インストールを停止します。
- このコマンドにはオプションがありません。私のRHEL/CentOS8kickstartの例では、推奨されるインストール方法として
text
を選択します# Install in text modetext
追加のリポジトリを作成します
パッケーデフォルトでは、提供されたすべてのリポジトリが自動的に作成され、マウントされます
/run/install/repo/<repo_name>
-
repo
ライン。
構文:
repo --name=repoid
Here,
-
--baseurl=
The URL to the repository. -
--mirrorlist=
The URL pointing at a list of mirrors for the repository. -
--metalink=
The URL with metalink for the repository.
サポートされているオプションの完全なリストについては、Red Hat’S Guide for Advanced Installationを参照してください
私のRHEL/CentOS8kickstartの例では、ISOイメージの一部であるAppStream
レポも作成します。P>
# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
インストール方法
cdrom
harddrive
hmc
cdrom
harddrive
hmc
cdrom
harddrive
hmc
nfs
liveimg
url
。
本番環境では主にurl
cdrom
nfs
を使用していますので、これらのインストール方法を説明します。
Kickstart command-nfs
指定されたNFSサーバーからインストールを実行します。
構文:
nfs OPTIONS
オプション:
-
--server=
--server=
-
--dir=
インストールツリーのバリアントディレクトリを含むディレクトリ。 -
--opts=
NFSエクスポートのマウントに使用するマウントオプション。 (オプション)
Kickstart command-url
FTP、HTTP、またはHTTPSを使用して、リモートサーバー上のインストールツリーイメージからインストールを実行します。
構文:
url --url=FROM
必須オプション:
-
--url=
--url=
インストール元の場所。 サポートされているプロトコルは、HTTP、HTTPS、FTP、およびfileです。
オプションオプション:
-
--proxy=
インストールの実行中に使用するHTTP、HTTPS、またはFTPプロキシを指定します。
サポートされているオプションの完全なリストを取得するには、Red Hat’s Guide for advanced installationを確認してください
Kickstart command-cdrom
- システム上の最初の
- このコマンドにはオプションがありません。私のRHEL/CentOS8kickstartの例では、インストール方法としてNFSを使用します
# Installation medianfs --server=10.10.10.12 --dir=/images/
キーボードレイアウト
- システムで使用可能なキーボードレイアウトを設定します。
- 利用可能なすべてのレイアウトは、Layoutsの下のxkeyboard-config(7)manページで見ることができます。構文:
keyboard --vckeymap|--xlayouts OPTIONS
オプション:
-
--vckeymap=
使用するVConsoleキーマップを指定します。 有効な名前は、/usr/lib/kbd/keymaps/xkb/
.map.gz
拡張子はありません。 -
--xlayouts=
スペースなしでカンマ区切りのリストとして使用するXレイアウトのリストを指定します。 レイアウト形式(czなど)またはレイアウト(バリアント)形式(cz(qwerty)など)のいずれかで、setxkbmap(1)と同じ形式の値を受け入れます。私のRHEL/CentOS8kickstartの例では、キーボードレイアウトとしてEnglish US
を使用します# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'
システム言語を設定します
Kickstart command-lang
-
locale -a | grep _
localectl list-locales
を使用できます。
構文:私のRHEL/CentOS8キックスタートの例では、
en_US.UTF-8
# System languagelang en_US.UTF-8
ネットワーク情報
キックスタートコマンド-ネットワーク
en_US.UTF-8
# System languagelang en_US.UTF-8
ネットワーク情報
キックスタートコマンド-ネットワーク
en_US.UTF-8
# System languagelang en_US.UTF-8
ネットワーク情報
キックスタートコマンド-ネットワーク
- ターゲットシステムのネットワーク情報を設定し、インストール環境でネットワークデバイスをアクティブにします。
- 最初のネットワークコマンドで指定されたデバイスが自動的にアクティブになります。
- デバイスのアクティブ化は、–activateオプションで明示的に必要とすることもできます。
Syntax:
network OPTIONS
Options:
-
--activate
activate this device in the installation environment. -
--no-activate
do not activate this device in the installation environment. -
--nodefroute
prevent the device from using the default route. -
--bootproto=
One of dhcp, bootp, ibft, or static. The default option is dhcp;このデバイスでIpv4を無効にします。このデバイスでIpv6を無効にします。私のRHEL/CentOS8kickstartの例では、2つのインターフェイスにネットワークを割り当てますeth0
eth1
ヒント:一貫したネットワークデバイスの命名を無効にした場合にのみ可能な従来のインターフェイス名を使用しました。# Network informationnetwork --bootproto=static --ip=10.10.10.15 --netmask=255.255.255.0 --gateway=10.10.10.1 --nameserver=8.8.8.8 --device=eth0 network --bootproto=dhcp --device=eth0 --activatenetwork --bootproto=dhcp --device=eth1 --onboot=off --activatenetwork --hostname=centos8-4.example.com
ルートパスワードを割り当て
- システムのルートパスワードをパスワード引数に設定します。暗号化されたパスワードを作成するには、pythonを使用できます。
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
- これは、プレーンテキストまたは暗号化されたルートパスランダムな塩を使用してパスワードのsha512crypt互換ハッシュ。
構文:
rootpw password
オプション:
オプション:
オプション:
オプション:
オプション:
オ:
-
--iscrypted
このオプションが指定されている場合、password引数はすでに暗号化されていると見なされます。 -
--plaintext
このオプションが存在する場合、パスワード引数はプレーンテキストであるとみなされます。 -
--lock
このオプションが存在する場合、rootアカウントはデフォルトでロックされます。 これは、rootユーザーがコンソールからログインできないことを意味します。
私のRHEL/CentOS8kickstartの例では、すでにrootパスワードを作成して割り当てています
# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.
最初の起動時にセットアップエージェントを実行します
Kickstart command-firstboot
- 初期セットアップアプリケーションが初めて起動するかどうかを決定します。起動しました。
- 有効になっている場合は、初期セットアップパッケージをインストールする必要があります。
- 指定されていない場合、このオプションはデフォルトで無効になります。
構文:
firstboot OPTIONS
オプション:
オプション:
オプション:
オプション:
オプシ:
-
--enable
--enabled
:初期セットアップは、システムの初回起動時に開始されます。 -
--disable
--disabled
:初期セットアップは、システムの初回起動時に開始されません。 -
--reconfig
:再構成モードでブート時に開始する初期セットアップを有効にします。私のRHEL/CentOS8kickstartの例では、firstboot
# Run the Setup Agent on first bootfirstboot --enable
X Window Systemの設定
X Window Systemのインストールと設定を選択するか、無効にすることができます
Kickstart command-xconfig
# Run the Setup Agent on first bootfirstboot --enable
X Window Systemの設定
X Window Systemのインストールと設定を選択するか、無効にすることができます
Kickstart command-xconfig
- パッケージ選択オプションの中にディスプレイマネージャをインストールすると、このパッケージはx構成を作成し、インストールされたシステムこれは、
skipx
オプションの効果をオーバーライドします。xウィンドウシステムを設定するには、”xconfig
“
Kickstart command-skipx
Xウィンドウシステムの設定を避けるには、
skipx
私のRHEL/CentOS8kickstartの例では、”
xconfig
“ - パッケージ選択オプションの中にディスプレイマネージャをインストールすると、このパッケージはx構成を作成し、インストールされたシステムこれは、
Kickstart command-skipx
Xウィンドウシステムの設定を避けるには、
skipx
x windowsシステムを無効にする
# Do not configure the X Window Systemskipx
システムサービスを有効または無効にする
kickstart command-services
- デフォルトのsystemdターゲット
- 無効なサービスのリストは、有効なサービスのリストの前に処理されます。
- したがって、サービスが両方のリストに表示される場合、それは有効になります。私のRHEL/CentOS8kickstartの例では、
chronyd
サービス# System servicesservices --enabled="chronyd"
set timezone
Kickstart command-timezone
Kickstart command-timezoneKickstart command-timezoneKickstart command-timezoneKickstart command-timezoneKickstart command-timezoneKickstart command-timezoneKickstart command-timezoneKickstart command-timezoneKickstart command-timezoneKickstart command-timezoneKickstart command-timezoneKickstart command-h3>
-
timedatectl list-timezones
を使用できます
構文:
timezone timezone
オプションオプション:
-
--utc
存在する場合、システムはハードウェアクロックがutc(グリニッジ平均)時間に設定されていると仮定します。 -
--nontp
NTPサービスの自動起動を無効にします。 -
--ntpservers=
スペースなしでコンマ区切りのリストとして使用するNTPサーバーのリストを指定します。私のrhel/CentOS8kickstartの例では、私のタイムゾーンとしてAsia/Kolkata
を使用します# System timezonetimezone Asia/Kolkata --isUtc
ノードの再起動を処理します
Kickstart command-reboot
-
# System timezonetimezone Asia/Kolkata --isUtc
キックスタートコマンド-reboot
-
reboot
“は、インストールが正常に完了した後にインストールプログラムを再起動するように指示します(引数なし)。 - 通常、Kickstartはメッセージを表示し、再起動する前にユーザーがキーを押すのを待ちます。
- インストールを自動化するためにリブートを指定する
RHEL/CentOS8kickstartの例では、インストール全体を自動化する予定のリブートを使用します
# Reboot the nodereboot
ディスクパーティションを作成する
ディスクレイアウトを設定するために異なる変数を使用することができます
キックスタートコマンド—————————–ignoredisk
- インストールプログラムは、指定されたディスクを無視します。
- これは、自動パーティション分割を使用して、いくつかのディスクが無視されることを確認したい場合に便利です。私のRHEL/CentOS8kickstartの例では、インストールに
sda
ディスクを使用したいだけです# Choose the disks to be usedignoredisk --only-use=sda
Kickstart command-clearpart
- 新しいパーティションを作成する前に、システムからパーティションを削除しますパーティション。
- デフォルトでは、パーティションは削除されません。私のCentOS/RHEL8kickstartの例では、既存のパーティションをすべて削除します:P>
# Partition clearing informationclearpart --all
キックスタートコマンド-パートまたはパーティション
- システム上にパーティションを作成します。
- このトピックは非常に広大であり、私はLinuxをインストールするために別のパーティションレイアウトの例を与える予定です
私のサンプルキックスタートの例では、論理ボリュームマネージャを使用してCentOS8をインストールします。 ここでは、
- ルート論理ボリューム
- スワップパーティション
- ブートパーティション
# Disk partitioning informationpart pv.409 --fstype="lvmpv" --ondisk=sda --size=14847part /boot --fstype="ext4" --ondisk=sda --size=512volgroup rhel --pesize=4096 pv.409logvol swap --fstype="swap" --size=953 --name=swap --vgname=rhellogvol / --fstype="ext4" --size=13887 --name=root --vgname=rhel
新しいユーまた、インストール後にも存在するkickstartを使用して新しいユーザーを作成することもできます
kickstart command-user
user
を使用して、kickstart構文を使用して新しいユーザーを作成するには、
構文を使用して新しいユーザーを作成するには、
構文を使用して、
構文を使用して、
構文を使用して、
構文を使用して、私のRHEL/CentOS8kickstartの例では、1つのユーザーを作成します
deepak
# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.
ユーザーを作成します(インストール用のみ)
ユーザーを作成 インストールが完了すると、このユーザーはノードから削除されます
Kickstart command-sshpw
- インストール中に、インストールプログラムと対話し、SSH接続を介してその進行状況を監視することができます
- sshpwコマンドを使用して、ログオンするための一時的なアカウントを作成します。
- コマンドの各インスタンスは、インストール環境にのみ存在する個別のアカウントを作成します。
- これらのアカウントは、インストールされたシステムに転送されません。
構文:
sshpw --username=name password
私のCentOS/RHEL8キックスタートの例では、ユーザーを作成しています
admin
インストールを監視するには:sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.
新しいグループを作成します
新しいグループを作成することもできますkickstartを使用したグループ
kickstart command-group
- 指定された名前またはgidを持つグループが既に存在する場合、このコマンドは失敗します。
- userコマンドを使用して、新しく作成されたユーザーの新しいグループを作成できます。これは、システム上に新しいユーザーグループを作成します。
- これは、システム上に新しいユーザーグループを作成します。
構文:
group --name=name
必須オプション
-
--name=
グループの名前を提供します。
ファイアウォールを有効または無効にする
インストール段階でファイアウォールを有効または無効にすることができます
Kickstart command-firewall
構文:ここでは、
-
--enabled
--enable
-DNS応答やDHCP要求などの送信要求に応答しない着信接続を拒否します。 -
--disabled
--disable
-iptablesルールを設定しません。
モジュールを有効にする
kickstartを使用してモジュールを有効にすることもできます
Kickstart command-module
このコマンドを使用して、kickstartスクリプト内のパッケージモジュールストリームを有効にします。
構文:
module --name=NAME
必須オプション
-
--name=
有効にするモジュールの名前を指定します。 NAMEを実際の名前に置き換えます。また、kickstartを使用してselinuxを有効または無効にすることもできます。Kickstart command-selinux
- インストールされたシステム上のSELinuxの状態を設定します。
- デフォルトのSELinuxポリシーはenforcingです。
構文:
selinux
オプション:
オプション:
オプション:
オプション:
オプシ:
-
--enforcing
デフォルトのターゲットポリシーが強制されているSELinuxを有効にします。 -
--permissive
SELinuxポリシーに基づいて警告を出力しますが、実際にはポリシーを強制しません。 -
--disabled
システム上でSELinuxを完全に無効にします。
パッケージの選択
キックスタートは、%packagesコマンドで開始されたセクションを使用して、インストールするパッケージを選択します。P>
Kickstart command-%packages
- パッケージ、グループ、環境、モジュールストリーム、およびモジュールプロファイルをこのようにインストールできます。
- %packagesコマンドを使用して、インストールするソフトウェアパッケージを説明するキックスタートセクションを開始します。
- %packagesセクションは%endコマンドで終わる必要があります。
グループの指定
- グループを指定し、@記号で始まる行に一つのエントリを指定し、完全なグループ名またはグループid
-
dnf grouplist
“
%packages@X Window System@Desktop@Sound and Video%end
個々のパッケージを指定する
- 個々のパッケージを名前で指定します。 パッケージ名のワイルドカードとしてアスタリスク文字(*)を使用できます。 例えば:
%packagessqlitecurlaspelldocbook*%end
In my RHEL/CentOS 8 kickstart example I have used “
Virtualization Host
“%packages@^Virtualization Hostkexec-tools%end
Enable or Disable Kdump
Kickstart command – %addon com_redhat_kdump
This command configures the kdump kernel crash dumping mechanism.
Syntax:
%addon com_redhat_kdump %end
Options:
-
--enable
Enable kdump on the installed system. -
--disable
Disable kdump on the installed system.私のRHEL/CentOS8kickstartの例では、kdumpに必要なメモリを自動的に予約するためにauto
を使用しました。 -
--reserve-mb=
kdumpのために予約したいメモリの量
私のRHEL/CentOS8kickstartの例では、
auto
を使用してkdumpに必要なメモリを自動的に予約しました。auto
kdumpに必要なメモリを自動的に予約しました。auto
%addon com_redhat_kdump --enable --reserve-mb='auto'%end
パスワードポリシーの適用
kickstart command-pwpolicy
- このコマンドを使用して、インストール中にカスタムパスワードポリシ
- ポリシーでは、ルート、ユーザー、またはluksユーザーアカウントのパスワードを作成する必要があります。
- パスワードの長さや強度などの要因がパスワードの有効性を決定します。
サポートされているオプションのリストについては、Red Hat’S Guide for Advanced Installation
私のRHEL/CentOS8kickstartの例では、以下のパスワードポリシーを使用しています:
%anacondapwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notemptypwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyokpwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty%end
RHEL/CentOS 8 Kickstart Example File
Below is one sample kickstart file example from my server which I use to install Virtual Machine on Oracle VirtualBox
Red_Hat_CentOS_8_Kickstart_Example
-
-
-
-