起動時にHOSTNAMEを設定する

起動時にHOSTNAMEを設定する

私たちの研究室グループは、12 台ほどの新しいワークステーションを購入しました。これらは Dell 製なので、おそらく都合よくサービス タグが で報告されていますdmidecode -s system-serial-number。Clonezilla を使用して、すべてのワークステーションにイメージを簡単に展開することを考えていますが、それぞれに特定のホスト名と静的 IP アドレスを設定する必要があります。そのため、次のような検索を使用して、この 2 つを組み合わせるのは簡単そうです。

declare -A tags
tags=(["HKX321K"]="ws1name 10.32.54.10"
      ["HBZ321G"]="ws2name 10.32.54.11"
)
tag=$(sudo dmidecode -s system-serial-number)
read -a nameip <<< "${tags[$tag]}"
wsname=${nameip[0]}
wsip=${nameip[1]}

sedまたは、いくつかのテンプレートから、、およびファイルを作成できます/etc/hostshostnameただしnetwork/interfaces、これらのファイルを変更するだけで十分ですか? また、Ubuntu がセットアップを開始する前に、起動時に非常に早い段階で「パーソナライズ」スクリプトを実行するにはどうすればよいでしょうか?

私の計画は予期せぬ理由で悪いのでしょうか。どんな隠れた落とし穴が待ち受けているのでしょうか。

答え1

はい、それらのファイルを変更するだけで十分です。hostnamectlコマンドを使用して、ホスト名を簡単に変更できます。 これらの変更は 1 回だけ行う必要があります。 そのため、rc.localまたは同様のものを 1 回実行して変更し、起動時に実行される原因となったものから自分自身を削除してから、他の作業に進む前に再起動することができます。

再起動が余分な作業になる場合は、Upstart ジョブのスケジュール設定を試してください。条件付きの Upstart ジョブは、start on startupこれをできるだけ早く実行します。さらに良いことに、条件付きのジョブは、start on local-filesystems必要なファイルシステムがマウントされていることを確認するのに十分な早さで実行されます。

関連情報