通常、ホスト名はオペレーティングシステムのインストール時に設定されるか、仮想マシンの作成時に動的に割り当てられます。
ホスト名を変更する必要がある理由はいくつかあります。最も一般的なのは、インスタンスの作成時にホスト名が自動的に設定される場合です。
このガイドでは、システムを再起動せずにCentOS8でホスト名を設定または変更する方法について説明します。
前提条件#
このチュートリアルを続行する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。
ホスト名を理解する#
ホスト名は、ネットワーク上のデバイスを識別するラベルです。同じネットワーク上に、同じホスト名を持つ2台以上のマシンを配置しないでください。
hostname
には3つのクラスがあります :static
、pretty
、およびtransient
。
static
-従来のホスト名。/etc/hostname
に保存されます ファイルであり、ユーザーが設定できます。pretty
-ユーザーへの表示に使用される自由形式のUTF8ホスト名。たとえば、Linuxize's desktop
。transient
-カーネルによって維持される動的ホスト名。 DHCPまたはmDNSサーバーは、実行時に一時ホスト名を変更できます。デフォルトでは、static
と同じです。 ホスト名。
完全修飾ドメイン名(FQDN
を使用することをお勧めします )両方のstatic
およびtransient
host.example.com
などの名前 。
現在のホスト名の表示#
現在のホスト名を表示するには、次のコマンドを実行します。
hostnamectl
この例では、現在のホスト名はcentos8.localdomain
に設定されています 。
ホスト名の変更#
方法1:hostnamectl
を使用する コマンド#
CentOS 8およびsystemdを使用している他のすべてのLinuxディストリビューションでは、hostnamectl
を使用してシステムのホスト名と関連する設定を変更できます。 指図。構文は次のとおりです。
sudo hostnamectl set-hostname host.example.com
sudo hostnamectl set-hostname "Your Pretty HostName" --pretty
sudo hostnamectl set-hostname host.example.com --static
sudo hostnamectl set-hostname host.example.com --transient
たとえば、システムの静的ホスト名をhost.linuxize.com
に変更するには 、次のコマンドを使用します:
sudo hostnamectl set-hostname host.linuxize.com
きれいなホスト名をLinuxize's desktop
に設定するには 、次のように入力します:
sudo hostnamectl set-hostname "Linuxize's desktop" --pretty
hostnamectl
コマンドは出力を生成しません。成功すると0が返され、それ以外の場合はゼロ以外の失敗コードが返されます。
ホスト名が正常に変更されたことを確認するには、hostnamectl
を使用します コマンド。
方法2:nmtui
を使用する コマンド#
nmtui
NetworkManagerと対話するためのcursesベースのツールです。ホスト名を設定または変更するためにも使用できます。
ターミナルに名前を入力してツールを起動します:
sudo nmtui
矢印キーを使用してオプション間を移動し、Set system hostname
を選択します Enter
を押します :
新しいホスト名を入力します:
Enter
を押します 新しいホスト名を確認するには:
最後に、systemd-hostnamed
を再起動します 変更を有効にするためのサービス:
sudo systemctl restart systemd-hostnamed
方法3:nmcli
を使用する コマンド#
nmcli
はNetworkManagerを制御するためのコマンドラインツールであり、システムのホスト名を変更するためにも使用できます。
現在のホスト名を表示するには、次のように入力します。
sudo nmcli g hostname
ホスト名をhost.linuxize.com
に変更するには 次のコマンドを使用します:
sudo nmcli g hostname host.linuxize.com
変更を有効にするには、systemd-hostnamed
を再起動します サービス:
sudo systemctl restart systemd-hostnamed