🤖

【Linux】インフラエンジニアの僕が「hostname」コマンドを使わない理由とは?

2021/03/22に公開

はじめに

Linuxの運用監視~設計構築迄経験している僕が、「hostname」コマンドを基本的に使わない理由について書いていきたいと思います。

今回の対象OS

Linux系OS全般(RHEL/CentOS/Solaris等)

そもそも「hostname」コマンドとは?

Linux系OSのホスト名を確認するコマンドになります。

使い方は、こんな感じになります。

hostname
[root@GitBucket-sv ~]# hostname
GitBucket-sv
[root@GitBucket-sv ~]#

このように、ホスト名を確認できるコマンドになります。

詳しくは、こちらのサイトの解説をご覧頂ければと思います。
【 hostname 】コマンド――ホスト名を表示する/設定する

基本的に使わない理由とは?

誤入力にてホスト名が変更されてしまう可能性があるからです。

誤入力の例は、こちらになります。

誤入力
【コマンド入力】
[root@GitBucket-sv ~]# hostname i

【ホスト名確認】
[root@GitBucket-sv ~]# hostname
i
[root@GitBucket-sv ~]#

このように、ホスト名自体が変更されてしまいます。
(上記の場合、ホスト名が「i」になっている。)

ちなみに、hostname -iはサーバーのIPアドレスを確認するコマンドになります。

IPアドレス確認
[root@GitBucket-sv ~]# hostname -i
fe80::250:56ff:fe8c:2091%ens192 2404:7a80:91a1:4d00:250:56ff:fe8c:2091%2 192.168.0.150
[root@GitBucket-sv ~]#

このように、誤入力でホスト名を変更してしまう可能性があるため、基本的に使用することをおすすめしません。

では、何のコマンドでホスト名確認をすればいいのか?

uname -nコマンドがおすすめです。

実行例はこちらになります。

実行例
[root@GitBucket-sv ~]# uname -n
GitBucket-sv
[root@GitBucket-sv ~]#

万が一、誤入力をしてしまった場合も問題ございません。

誤入力の例
[root@GitBucket-sv ~]# uname n
uname: 余分な演算子 `n'
Try 'uname --help' for more information.
[root@GitBucket-sv ~]#

このように、エラーが表示されます。

unameコマンドについて深く知りたい方は、こちらのサイトの解説をご覧頂ければと思います。
unameコマンド(OSまたはハードウェアの情報を表示する)

まとめ

ホスト名を確認する際は、hostnameコマンドの使用は控えた方が無難です。
→誤ってホスト名を変更してしまう可能性がある。

ホスト名を確認する際は、uname -nコマンドにて確認した方が安全です。
→ホスト名を変更してしまう危険性がない

動画でもご紹介しております。
【現役インフラエンジニアの僕が】「hostname」コマンドを使わない理由とは?(Linux系動画)

Discussion