私は現在、キックスタート中にIP、ホスト名、ゲートウェイ、DNS設定を設定するスマートな方法を見つけようとしています(キックスタート中にユーザー入力を使用)。インストール後にfirstbootでこれを行うことは受け入れられないため、これは%post中に行う必要があります。
Tty6の投稿中にsystem-config-network
ツールを実行しようとしました。
#!/bin/sh
chvt 6
exec < /dev/tty6 > /dev/tty6
/mnt/sysimage/usr/bin/system-config-network-tui
何らかの理由でユーザー入力をキャッチできないため、これは機能しません。
提供されているツールを使用すると何かが壊れる可能性が低いため、独自のbashスクリプトを作成してこれを行うのではなく、組み込みツールを使用して投稿中にこれを変更することをお勧めします。
誰かがこのようなことをしたり、それを機能させたりしましたか?
ありがとう
まあこれは愚かです。ホスト名、IP、サブネット、DNS情報の設定をすでにサポートしているcobblerを使用しています。次のように、システムとして追加する必要があります。
cobbler system add --name = [...] --profile = [...]-ip = 10.1.1.2 --gateway = 10.1.1.1 --hostname = yourhostname.exmaple.org --name-servers = "10.1.1.1" --static = true --mac = 00:50:56:af:56:22
Cobblerには、これを適用する「post_install_network_config」というスニペットがあります。ご不明な点がございましたらお知らせください。
私はこれが古い質問であることを知っていますが、検索によってこれを見つけた人のためにこの答えを提供したいと思いました:
CentOS 5以降、インストール中にネットワーク構成を要求するプロンプトを有効にする文書化されていないオプションがあります。以下に示すように、networkステートメントで、queryキーワードを--bootproto =ネットワーク構成に配置します。
network --device=eth0 --bootproto=query
wget
を使用してスクリプトをダウンロードし、スクリプトを/etc/rc.d/rc.local
に追加しています。スクリプト内で、rc.localのエントリにコメントを付けているので、それ以上の起動時に実行されません。このスクリプトでは、%post
で行ったすべてのことを実行しています。
編集:
KickStartスクリプトの%post
セクションにあります。
wget -O /etc/first-boot.sh http://192.168.1.10/ks/first-boot.sh
echo ". /etc/first-boot.sh" >>/etc/rc.d/rc.local
そのため、インストールするマシンに接続する必要はありません。 KickStartサーバーでのみ変更を行います。 KickStartサーバーにはApacheがあり、192.168.1.10
はKickStartサーバーのIPアドレスです。
編集:open
を使おうとしましたか?
chroot /mnt/sysimage
open /usr/bin/system-config-network
静的な値で設定しようとしているようです。可能であれば、代わりにDHCPを使用してこれらの項目を設定してください。
キックスタート中にユーザーインタラクションを実行しようとしているとおっしゃいました。私は間違っているかもしれませんが、それは可能ではないと思います。 RPMのインストール中にユーザーが操作することは不可能であることを私は知っています。これにより、スクリプトを作成できなくなります。同じことが不可能である可能性があります(そして私がヘッドアーキテクトだった場合)、同じ理由で。代わりに、これらの値をフロッピーディスクに入れてください。