改めて、hostnameとuname -n

7月 24, 2009

以前Linuxサーバのホスト名を確認するコマンドとして、「hostnameは何かと問題が
あるからuname -nにするべきだ」という話をチラッと耳にしたことがあり、その時は
「そういうものか」と流してしまったのだが、はて、実際はどうなんだろう?

以前の投稿でhostnameやuname -nについて書いており、当時は先ほどの話があったため、
なんとなくこの2つは違うものだと思っていたのだが….

こちらを参照したところ、hostnameはunameへのラッパーらしいのだ。
つまり、hostnameはuname -nを参照しているだけ。

その辺、ググっても他にあまり詳しい話が出てこないので、深追いはしないでおいたけど、
うーん、ならば、hostnameでもuname -nでも同じじゃないか?
(でもオリジナルがunameなら、やはりunameの方がいいような気も。。)

で、unameは/etc/sysconfig/networkファイルに記述されたホスト名を参照しているらしい。
(Red Hat系の場合。他のディストリビューションだと、/etc/hostnameとか)

ちなみにホスト名を恒久的に定義するには、/etc/sysconfig/network
ファイルに HOSTNAME=open-groove.net などと記述し、再起動する。

…と、ここまで書いてちょっと気になるページを発見。
こちらの記事UNIXコマンド hostnameによると、hostnameコマンドにより誤った
ホスト名に変更してしまう恐れがあるためunameを推奨する場合もあるとか。
引数なしでhostnameを実行するつもりが、手元がくるって変なキーを押してしまったら…
ってっことか!?なるほど〜。

まとめると、hostnameコマンドはuname -nから情報を取得しており、unameは設定
ファイルから情報を取得している、と。これでいいだろうか。

これらの動きにはまだ疑問点が残るのだが、今回はこれ以上追求しないでおく。
Linuxについては、他にも知りたいことが沢山ありすぎるので…

関連記事:
hostname
unameいろいろ

Categories: Linux

No Responses so far | Have Your Say!

Comments are closed.