Ubuntu 13.04以降

Ubuntu 13.04以降

OS ホスト名を変更したいのですが、再起動はしたくありません。

編集しました/etc/hostnameが、反映するには再起動が必要です。これを回避するにはどうすればよいですか?

答え1

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

または、ターミナルで次のコマンドを使用します。

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

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

答え2

Ubuntu 13.04以降

hostnamectlコマンドは、デスクトップ エディションとサーバー エディションの両方のデフォルトのインストールの一部です。

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

hostnamectl set-hostname new-hostname

このコマンドは、systemd-servicesパッケージ(Ubuntu 14.04 以降では、timedatectlおよびlocalectlコマンドも含まれています)。Ubuntu が に移行するにつれてsystemd、このツールが将来的に使用されます。

答え3

再起動なし

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

編集し/etc/hostnameて新しい値に変更します。

nano /etc/hostname 

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

127.0.0.1   localhost
127.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両方のホスト名を (127.0.0.1 newhost oldhost) に保持する必要があります。/etc/hosts

sudo service hostname start

注記: 上記のコマンドを実行すると、変更が有効になります。このファイル ( /etc/hostname) に保存されたホスト名は、システムの再起動時に保持されます (同じサービスを使用して設定されます)。

答え4

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

上記のアプローチ(hostnamectletc/hostnameなど)はホスト名を即座に変更するのに有効ですが、クラウド初期化- ホスト名の設定を制御できます - その他多くのこと。したがって、cloud-initがインストールされている場合は、再起動後に変更が保持されません。再起動後も変更を保持したい場合は、cloud-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

関連情報