以下を呼び出してホスト名を設定する小さなDebianベースのLinuxデバイスがありますudhcpc
。
udhcpc -i $interface -S -x hostname:mydevice
(もちろん、$interface
スクリプトを呼び出す前に定義されていますudhcpc
。)
期待どおりに動作します。私のルーターで見ることができます。私のデバイス〜のようにアクティブホスト名このデバイスの場合。
私のデバイスはリースを取得した後、NFSから新しいルートファイルシステムをマウントしてchroot
そこに接続します。
udhcpc
私のルーターに更新要求を送信します。
# cat /var/log/messages | grep dhcp
Jan 1 04:00:07 udhcpc: started, v1.28.1
Jan 1 04:00:07 udhcpc: sending discover
Jan 1 04:00:09 udhcpc: performing DHCP renew
Jan 1 04:00:09 udhcpc: sending discover
Jan 1 04:00:09 udhcpc: sending select for a.b.c.d
Jan 1 04:00:09 udhcpc: lease of a.b.c.d obtained, lease time 600
***NOW THE CHROOT HAPPENS***
Jan 1 04:05:09 udhcpc: sending renew to r.o.u.t
Jan 1 04:05:09 udhcpc: lease of a.b.c.d obtained, lease time 600
Jan 1 04:10:09 udhcpc: sending renew to r.o.u.t
Jan 1 04:10:09 udhcpc: lease of a.b.c.d obtained, lease time 600
chroot
この問題が発生した後にホスト名を更新したいと思います。
私が試したこと:
udhcpc
新しい必須ホスト名でシャットダウンして再起動する:失敗(NFSが失われた、システムが停止する)udhcpc
マニュアルの確認:失敗(実行中のインスタンスでホスト名の更新に関する内容が見つかりませんでした)
どんなアイデアにも感謝します。私が望むのは、アクティビティのホスト名を更新することだけですudhcpc
。
重要:ホスト名を更新できれば十分です(回答として受け入れられます)。「敗北するには更新を送ってください」イベント。
答え1
からudhcpc --help
:
-F NAME NAME の DNS マッピングを更新するようサーバーに要求する
たとえば、udhcpc -F $(hostname)