ヘイヘイ!私は現在Busyboxをスターにして、最初から非LFSシステムを開発しています。これで私のログイン情報が表示されます。
(none) login:
したがって、私のホスト名が壊れています。私もhostname
連れて行ってください(none)
。
私がフォローしたガイドは、ホスト名を/etc/HOSTNAME
。/etc/hostname
私が何をしても、hostname
これは返されます。またはを(none)
実行しない限り、誰かが新しいディストリビューションをインストールするたびにこれを実行したくありません。そうでない場合、実際のデフォルトファイルは何ですか?hostname <thename>
hostname -F /etc/hostname
/etc/hostname
よろしくお願いします!
答え1
これはhostname
(BusyBoxを含む)ホスト名を照会するときにファイルに置き換えられません。彼らは単にカーネルがシステムコールからホスト名として返すことを報告します。ホスト名はカーネルが「(none)」のような文字列で初期化され、カーネルを再構築して再構築することで変更できます。 (システム用語では、動的ホスト名、また〜として知られる一時ホスト名;実際、Linuxカーネルが報告したものです。 )いいえ「基本ファイル」。
通常、システムの起動時にかなり早く実行され、これらのさまざまなファイルを見つけ、ホスト名を抽出し、それを使用してカーネルホスト名を初期化する単一のサービスがあります。 (systemdという用語で、この構成文字列は静的ホスト名。 )例えば:
hostname
私のツールセットは、ローカルファイルシステムがマウントされた後にユーザーがサービスにログインする前にツールセットのコマンドを実行する「初期」サービスを提供しますset-dynamic-hostname
。これは、設定を変更した場合にのみ実行されるタスクと、システムが起動するたびに実行されるタスクに分けられます。- 外部設定のインポートメカニズムは、
/etc/hostname
および/etc/HOSTNAME
他のソース(オペレーティングシステムごとに異なる構成であるため)を読み取り、マージされますrc.conf
。 - 外部設定のインポートメカニズムは、マージを使用して
rc.conf
サービスのhostname
環境変数を設定します。 - サービスが実行されている場合、
set-dynamic-hostname
すべての構成ソースの可能性を気にする必要はありません。サービス用に構成された環境から環境変数を取得し、ここで動的ホスト名を設定するだけです。
- 外部設定のインポートメカニズムは、
systemd
systemdでは、これはService Managerが起動する前に実行される独自のコードに組み込まれている初期化タスクです。プログラム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 2>&1を実行 ホスト名 -F /etc/hostname 実行
追加読書
- Lennart Petlinget al。 (2016).
hostnamectl
。システムのマニュアルページ。 freedesktop.org. - ジョナサンデボインポラード(2017)。 」
set-dynamic-hostname
」。 ユーザーコマンドマニュアル。 Nosh ツールセット。ソフトウェア。 - ジョナサンデボインポラード(2017)。 」
rc.conf
マージ」。 スナックガイド。ソフトウェア。 - ジョナサンデボインポラード(2015)。 」外部フォーマット」。 スナックガイド。ソフトウェア。
- ロブランドリー。
hostname
。 おもちゃ箱コマンド一覧。 ranley.com. - https://unix.stackexchange.com/a/12832/5132
答え2
したがって、このシステムを最初から構築していますが、ホスト名がどこに構成されているのか知りたいですか?
簡単な答えはそうではないということです。現在のホスト名はカーネルの内部に保存されており、カーネルに関するほとんどの点と同様に、デフォルトではファイルは読み込まれません。
何選択した構成ファイルはシステムの起動時に読み取られ、カーネルのホスト名を設定する必要があります。これは起動するたびに発生する必要があります。
答え3
make menuconfig
カーネルをビルドするときにそれを変更できます。