web-dev-qa-db-ja.com

CentOS 6キックスタートでホスト名を要求する方法は?

CentOS 6ネットインストールISOを、httpサーバー上のいくつかのキックスタートファイルと共に使用しています。 ISOが起動したら、TABを押して起動オプションを入力しますasknetwork ks=http://<ip-address>/path/to/kickstart.ks

私のキックスタートファイルにはnetworkパラメータがないため、プロンプトが表示されるはずです。 asknetworkを省略した場合、DHCPを使用しようとします。 asknetworkを使用すると、IP情報の入力のみを求められます。

残念ながら、アナコンダはホスト名を自動的に検出することに熱心に取り組んでおり、最終的にIPの逆DNSルックアップ、またはlocalhost.localdomain何も見つからなかった場合。

ホスト名をanacondaプロンプトにする方法、またはカスタムブートオプションを使用してホスト名を事前に入力する方法はありますか?

以前はnetwork --bootproto=query CentOS 5用ですが、6では機能しません。

4
Luke

ホスト名はキックスタートファイルに直接設定します。

同じテンプレートを再利用しようとしている場合は、クリエイティブになり、PHPを使用して何かをインストーラーに渡すことができます。キックスタートファイルはhttpなので、次のようなことができます。

ks=http://repo.brazzers.com/ks/kickstart.php?hostname=kitty

...ここでkittyは、--hostname=パラメータを設定するキックスタートファイル内の変数です

または、より良いルートは Cobbler のようなより堅牢なプロビジョニングフレームワークを使用することです。

4
ewwhite

私はbashを使用したこの方法を好みます:

%include /tmp/network.txt

%pre
#!/bin/sh
exec < /dev/tty3 > /dev/tty3 2>&1
chvt 3
hn=""

while [ "$hn" == "" ]; do
 clear
 echo " *** Please enter the following details: *** "
 echo
 read -p "Hostname: " hn
done
clear
chvt 1
echo "network --device eth0 --bootproto static --noipv6 --hostname ${hn}" > /tmp/network.txt
1
Dejan

私はvirt-installを使用してこれを行おうとしていて、これに対する優れたソリューションを備えたブログ記事を見つけました。このソリューションは、ブート時にカーネルに渡される/ proc/cmdlinesを使用して、事前キックスタートセクションを使用してホスト名を抽出し、一時ファイルを書き込んでから、メインキックスタートセクションに含めます。

http://monzell.com/post/15547967527/automatically-set-the-hostname-during-kickstart

このブログは、KVMでVMをキックスタートするためのものでした。しかし、カーネルブート引数を簡単に渡すことができる他のキックスタートシナリオでこれが機能しない理由はわかりません。

0
Andy Shinn