再起動せずにホスト名を変更するにはどうすればよいですか?

OSのホスト名を変更したいが、再起動したくない。

私は編集しました /etc/hostname しかし、実装するには再起動が必要です。 これを回避するには?

それは簡単です。 (画面の右上隅にある)歯車のアイコンをクリックし、(歯車のアイコンにある)"このコンピュータについて"画面を開き、"デバイス名"を編集します。

または、端末では、次のコマンドを使用します:

sudo hostname your-new-name

これにより、再起動するまでホスト名がyour-new-nameに設定されます。 参照 man hostnameコンピュータ名を変更するにはどうすればよいですか? 詳細については。 使用しない _ あなたの名前で。

メモ

の変更を再起動した後、 /etc/hostname 使用されるので、(あなたが質問で言ったように)、あなたはまだ使用する必要があります

sudo -H gedit /etc/hostname

(または他のエディタ)そのファイルにホスト名が含まれています。

ファイルが正しく設定されていることをテストするには、次を実行します:

sudo service hostname start

また、編集する必要があります /etc/hosts そして、読み取り行を変更します:

127.0.1.1     your-old-hostname

それは今あなたの新しいホスト名が含まれているように。 (これは必須です。そうしないと、多くのコマンドが機能しなくなります。)

Ubuntu13.04以降

その hostnamectl コマンドは、デスクトップ版とサーバー版の両方での既定のインストールの一部です。

これは、ホスト名の設定を組み合わせたものです。 hostname コマンドと編集 /etc/hostname. 静的ホスト名を設定するだけでなく、Ubuntuでは使用されていない「きれいな」ホスト名を設定することができます。 残念ながら、編集 /etc/hosts まだ別々に行う必要があります。

hostnamectl set-hostname new-hostname

このコマンドは、次のコマンドの一部です。 systemd-services パッケージ(Ubuntu14.04以降では、パッケージにも含まれています timedatectllocalectl コマンド)。 Ubuntuはに移行するように systemd、このツールは未来です。

再起動なし

Ubuntuでのホスト名またはコンピュータ名の変更 再起動なし

/Etc/hostnameを編集し、新しい値に変更します,

nano /etc/hostname 

/Etc/hostsを編集し、古い127.0.1.1行を新しいホスト名に変更します

127.0.0.1   localhost127.0.1.1   ubuntu.local    ubuntu   # change to your new hostname/fqdn

メモ> :私はフォーラムでそれを読んだ/etc/hostsを編集し、古い127.0.1.1行を新しいホスト名に変更します(これをしないと、もうsudoを使用することはできません。 すでに完了している場合は、grubメニューのESCキーを押し、回復を選択し、ホストファイルを正しい設定に編集します)

再起動後、あなたのホスト名はあなたが選択した新しいものになります

再起動なし

変更するには 再起動せずに、あなただけの使用することができますhostname.sh /etc/hostnameを編集した後。以下のコマンドを実行するまで、両方のホスト名を/etc/hosts(127.0.0.1newhost oldhost)に保持する必要があります:

sudo service hostname start

メモ :上記のコマンドは、変更をアクティブにします。 このファイルに保存されているホスト名(/etc/hostname)は、システムの再起動時に保持されます(同じサービスを使用して設定されます)。

デフォルトの名前は、Ubuntuをインストールするときに設定されました。 あなたは簡単にあなたがデスクトップの両方で好きなものに変更することができます&アンプ;ホストとホスト名ファイルを編集することによ 以下はどのようにですか:

  1. プレス CtrlAltt 端末を開くには、キーボードで。 開いたら、以下のコマンドを実行します: sudo hostname NEW_NAME_HERE

これにより、次回の再起動までホスト名が変更されます。 変更は現在の端末ではすぐには表示されません。 新しいホスト名を表示するには、新しい端末を起動します。

  1. 名前を永続的に変更するには、コマンドを実行してホストファイルを編集します:

    sudo -H gedit /etc/hostnamesudo -H gedit /etc/hosts

GUIのないUbuntuサーバーの場合は、次のように実行します sudo vi /etc/hostnamesudo vi /etc/hosts そして、それらを一つずつ編集しますone.In 両方のファイルは、あなたが望むものに名前を変更し、それらを保存します。

最後に、コンピュータを再起動して変更を適用します。

Cloud-init(Ubuntu18+)ホスト名の永続性

以上のアプローチをしながら(hostnamectl, etc/hostname、など)の出現で、即時のホスト名の変更のための作業 クラウド-init -ホスト名の設定を制御することができます-他の多くのものの中で。 したがって、cloud-initがインストールされている場合、再起動後に固執しません。 再起動後も変更を維持したい場合は、次のように編集する必要があります。 クラウド初期化設定ファイル、クラウド初期化を無効にする ホスト名の設定/更新モジュール:

sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg

またはcloud-initを完全に無効にします:

sudo touch /etc/cloud/cloud-init.disabled

ここでは、所定の方法でホスト名を変更するスクリプトがあります。 それはそれをだけでなく、保障します sudo しかし、X11アプリケーションも再起動を必要とせずに機能し続けます。

使用法: sudo ./change_hostname.sh new-hostname

#!/usr/bin/env bashNEW_HOSTNAME=$1echo $NEW_HOSTNAME > /proc/sys/kernel/hostnamesed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hostsecho $NEW_HOSTNAME > /etc/hostnameservice hostname startsu $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"

再起動なし:

  1. でホスト名を変更 /etc/hostname
  2. 更新 /etc/hosts それに応じて
  3. sudo sysctl kernel.hostname=mynew.local.host

現在のホスト名を次のように確認します hostname -f

現在のホスト名を取得するには:

cat /etc/hostname

これは、任意のテキストエディタで変更できます。 また、localhost以外のエントリを/etc/hostsの127.0.0.1に対して更新する必要があります。

16.04

に基づく解決 ともかく DigitalOcean Comunityから。

編集 ホスト ファイル。

$ sudo nano /etc/hosts

置換 oldname 新しいものと。

127.0.0.1 localhost newname

新しいホスト名を設定します。

$ sudo hostnamectl set-hostname newname

  1. の内容を置き換える /etc/hostname 目的のホスト名で(あなたはで編集することができます sudo nano /etc/hostname)
  2. /etc/hosts、127.0の横にあるエントリを置き換えます。1.1目的のホスト名で(編集することができます sudo nano /etc/hosts)
  3. 実行 sudo service hostname restart; sudo service networking restart

警告:起動時にホスト名を制御するデフォルトでcloud-initを実行しているUbuntu18+では動作しません。

@nslntmnx、ありがとう!