dポイントプレゼントキャンペーン実施中!

uname -nでホスト名が出力されるかと思いますが、

これを変更する場合はどのようにすれば可能になりますでしょうか?

ご存知の方、宜しくお願いします。

A 回答 (2件)

ホスト名はメモリ上に保持されていて、そのメモリ上の値は hostname コマンドで読み取ったり設定したりします。

初期値は "(none)" です。

システム起動時には、起動処理の中で何らかの設定ファイルを読み込んで hostname コマンドで設定されます(あるいはsethostnameシステムコール)。
英文の man hostname には、下記の記述があります。

FILES
/etc/hostname (中略) This file is read at boot time by
the system initialization scripts to set the hostname.

ただし、このあたりはOSによってもバージョンによっても異なります。

CentOS7では /sbin/init が/etc/hostnameという文字列を含んでいるので、init がこのファイルを読んでいるのだと思います(ソースは見てません)。
CentOS6ではそうではありません。システム起動時に /etc/rc.d/rc.sysinit から /etc/sysconfig/network を読んでそこの情報を使ってhostnameコマンドを実行しています。/etc/hostname は読んでいないようです。手元のCentOS6にはこのファイルはありません。/sbin/initにも/etc/hostnameという文字列は含まれません。

RHELでも同じはずです。Fedoraではおそらくver15のsystemd採用時点でCentOS6方式からCentOS7方式に切り替わったはずです(未確認)。

Debianやubuntuはよく知りませんが、類似の方法で設定されているはずです。

ということで、
>これを変更する場合はどのようにすれば可能になりますでしょうか?
は、
今直ちに変えたいのなら、rootで hostname foo.bar 等と実行する。
次回システム起動時に変えたいのなら、OSに合わせて適切な設定ファイルを書き換える、もしくは、GUIのシステム管理ツールで設定する。
    • good
    • 0

versionによって違いますが


fedora20, centOS7, ubuntu14.04の場合は
/etc/hostname テキストファイルを書き換えればいいです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!