ほよ!私は現在、busyboxを主役として、非lfsシステムにゼロから取り組んでいます。今、私のログインは言う:
(none) login:
したがって、私のホスト名は壊れています。 hostname
(none)
を持ってきます
私がフォローしていたガイドは、ホスト名を/etc/HOSTNAME
にスローするように指示しました 。 /etc/hostname
も試しました 。私が何をしても、hostname
(none)
を返します – hostname <thename>
を実行しない限り またはhostname -F /etc/hostname
。明らかに、誰かがdistroを新たにインストールするたびにこれを実行したくないので、/etc/hostname
でない場合、実際のデフォルトファイルは何ですか。 ?
よろしくお願いします!
承認された回答:
hostname
BusyBoxを含む一般的なツールセットのコマンドは、ホスト名を照会するときにファイルにフォールバックしません。
これらのコマンドは、カーネルが「」などの文字列に初期化するシステムコールからホスト名として返されるものだけを報告します。 (なし)」、カーネルを再構成および再構築することで変更可能。
(systemdの用語では、これは動的ホスト名 、別名一時的なホスト名; Linuxによって実際に報告されているのはカーネルです。)
ありません 「デフォルトファイル」。
通常、システムの起動時にかなり早い段階で実行されるシングルショットサービスがあり、これらのさまざまなファイルを調べてホスト名を引き出し、それを使用してカーネルのホスト名を初期化します。
(systemdの用語では、この構成文字列は静的ホスト名 。)
例:
- 私のツールセットでは、「初期の」
hostname
を提供しています ツールセットのset-dynamic-hostname
を実行するサービス ローカルファイルシステムがマウントされた後、ユーザーログインサービスの前にコマンドを実行します。作業は、構成を変更したときに(のみ)実行されるものと、(すべての)システムブートストラップで実行されるものに分けられます。- 外部構成のインポートメカニズムは
/etc/hostname
を読み取ります および/etc/HOSTNAME
、他のソースの中でも(さまざまなオペレーティングシステムがさまざまな方法でこれを構成するため)、統合されたrc.conf
を作成します 。 - 外部構成のインポートメカニズムは、統合された
rc.conf
を使用します このサービスのhostname
を構成するには 環境変数。 - サービスの実行時に、
set-dynamic-hostname
構成ソースの可能性をすべて気にする必要はなく、サービス用に構成された環境から環境変数を取得し、そこから動的ホスト名を設定するだけです。
- 外部構成のインポートメカニズムは
- systemdでは、これは
systemd
のコードに組み込まれている初期化アクションです。 それ自体、サービス管理が開始される前に実行されます。systemd
プログラム自体が移動し、/etc/hostname
を読み取ります (および/proc/cmdline
、ただしではありません/etc/HOSTNAME
また/etc/default/hostname
また/etc/sysconfig/network
)そしてそれをカーネルに渡します。 - Void Linuxには、(のみ)
/etc/hostname
から静的ホスト名を読み取る起動シェルスクリプトがあります。 、rc.conf
から読み取られたシェル変数へのフォールバック 、およびその値から動的ホスト名を設定します。
「ゼロから」システムを構築している場合は、同等のサービスを作成する必要があります。
ファイルからホスト名を設定するためのBusyBoxおよびToyBoxツールはhostname -F "${filename}"
、したがって、/etc/hostname
に対してそのコマンドを実行するサービスを作成する必要があります またはそのようなファイル。
BusyBoxにはrunitのサービス管理ツールセットが付属しており、単純なrunitサービスは次のようなものになります。
#!/bin/sh -e exec 2>&1 exec hostname -F /etc/hostname
さらに読む
- レナートポッターリング他(2016)。
hostnamectl
。 systemdのマニュアルページ。 Freedesktop.org。 - ジョナサンデボインポラード(2017)。 「
set-dynamic-hostname
「。 ユーザーコマンドマニュアル 。 noshツールセット。ソフトウェア。 - ジョナサンデボインポラード(2017)。 「
rc.conf
合併"。 noshガイド 。ソフトウェア。 - ジョナサンデボインポラード(2015)。 「外部フォーマット」。 noshガイド 。ソフトウェア。
- ロブ・ランドリー。
hostname
。 Toyboxコマンドリスト 。 landley.net。 - https://unix.stackexchange.com/a/12832/5132