私は数年間Linux、特にFedoraを基本システムとして使用してきましたが、特定のネットワークに接続してIPになる場合を除いて、常にホスト名が「localhost」に設定されています。今日、私は次のような行動を経験しましたが、理解できません。
私のラップトップの他のパーティションにUbuntuインストールを設定し、Ubuntuインストール中にコンピュータ名/ホスト名を設定しました。 Fedoraで再起動すると、Fedoraはホスト名をUbuntuのインストール時に設定した名前に更新しました。
私はいつもホスト名がディストリビューションがインストールされているパーティションに設定され保存されていると思いました。実際、Fedoraの/ etc / hostnameの内容はまだ「localhost.localdomain」ですが、コマンドを実行するとhostname
新しいホスト名が表示されます。両方のインストールはefiブートパーティションを共有しますが、それ以外は独立しています。 Fedoraのインストールが新しいホスト名を読み取る場所と理由を知りたいです。
ベストアンサー1
プログラムはhostname
uname システムコールを実行しましたが、これはタスクで見ることができます。
strace hostname
...
e="Linux", nodename="my.hostname.com", ...}) = 0 ... uname syscall のマニュアルページで、システムコールはカーネルから次の構造を検索します。
struct utsname {
char sysname[]; /* Operating system name (e. */
char nodename[]; /* Name within "some implementation-defined
network" */
char release[ystem release (e.g., "2.6.28") */
char version[]; /* Operating system version */
char machine[]; /* Hardware identifier */
#ifdef _GNU_SOURCE
char domainname[]; /* NIS or YP domain name */
#endif
};
したがって、このレビューを信じるなら、ドメイン名はNISystemから来ています。したがって、nhatのYPサービスがUbuntu OS設定名をユーザーに返す可能性が高くなります。