web-dev-qa-db-ja.com

%postキックスタート中にsystem-config-networkを実行することは可能ですか?

私は現在、キックスタート中に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スクリプトを作成してこれを行うのではなく、組み込みツールを使用して投稿中にこれを変更することをお勧めします。

誰かがこのようなことをしたり、それを機能させたりしましたか?

ありがとう

2
tore-

まあこれは愚かです。ホスト名、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」というスニペットがあります。ご不明な点がございましたらお知らせください。

1
tore-

私はこれが古い質問であることを知っていますが、検索によってこれを見つけた人のためにこの答えを提供したいと思いました:

CentOS 5以降、インストール中にネットワーク構成を要求するプロンプトを有効にする文書化されていないオプションがあります。以下に示すように、networkステートメントで、queryキーワードを--bootproto =ネットワーク構成に配置します。

network --device=eth0 --bootproto=query

CentOS Wiki:anacondaとキックスタートのヒントとコツ

1
Aaron Copley

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
0

静的な値で設定しようとしているようです。可能であれば、代わりにDHCPを使用してこれらの項目を設定してください。

キックスタート中にユーザーインタラクションを実行しようとしているとおっしゃいました。私は間違っているかもしれませんが、それは可能ではないと思います。 RPMのインストール中にユーザーが操作することは不可能であることを私は知っています。これにより、スクリプトを作成できなくなります。同じことが不可能である可能性があります(そして私がヘッドアーキテクトだった場合)、同じ理由で。代わりに、これらの値をフロッピーディスクに入れてください。

0
Kevin M