web-dev-qa-db-ja.com

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

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

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

497
Deepak Rajput

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

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

Sudo hostname 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

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

640
jasperado

Ubuntu 13.04以降

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

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

hostnamectl set-hostname new-hostname

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

279
muru

再起動なし

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を押し、リカバリを選択し、ホストファイルを正しい設定に編集します)

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

再起動なし

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

Sudo service hostname start

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

63
One Zero

デフォルト名は、Ubuntuのインストール時に設定されました。ホストとホスト名のファイルを編集することで、デスクトップとサーバーの両方で必要なものに簡単に変更できます。以下がその方法です。

  1. 押す CtrlAltt キーボードで端末を開きます。開いたら、以下のコマンドを実行します:Sudo hostname NEW_NAME_HERE

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

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

    Sudo -H gedit /etc/hostnameおよびSudo -H gedit /etc/hosts

GUIのない​​Ubuntuサーバーの場合は、Sudo vi /etc/hostnameおよびSudo vi /etc/hostsを実行し、それらを1つずつ編集します。両方のファイルで、名前を必要な名前に変更して保存します。

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

43
Mohsen Gh.

所定の方法でホスト名を変更するスクリプトを次に示します。 Sudoだけでなく、X11アプリケーションも再起動なしで機能し続けることが保証されます。

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

#!/usr/bin/env bash
NEW_HOSTNAME=$1
echo $NEW_HOSTNAME > /proc/sys/kernel/hostname
sed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hosts
echo $NEW_HOSTNAME > /etc/hostname
service hostname start
su $Sudo_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
16
Lucas

再起動なし:

  1. /etc/hostnameのホスト名を変更
  2. /etc/hostsを適宜更新します
  3. Sudo sysctl kernel.hostname=mynew.local.Host

hostname -fで現在のホスト名を確認してください

14
Tombart

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

上記のアプローチ(hostnamectletc/hostnameなど)は、ホスト名の設定を制御できる cloud-init -の出現により、即座にホスト名を変更できます。他のもの。そのため、cloud-initがインストールされている場合、再起動後に保持されません。再起動後も変更を維持したい場合は、 cloud-init config files を編集し、cloud-initの hostname set/update module を無効にする必要があります。

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

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

Sudo touch /etc/cloud/cloud-init.disabled
13
Pierz

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

cat /etc/hostname

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

7
tagMacher

元のポスターの質問に対する古典的な答えは、/etc/hostnameを編集したら、-F--file)オプションをルートとして hostname(1) を実行することにより、再起動せずに適用することです。

Sudo hostname -F /etc/hostname

hostname(5)/etc/hostnameと上記のプログラムの取り扱いは、Debianとその派生物で20年以上同じであり、 それを提供するパッケージ はタグ付けされています- 必須 および 必須 、およびIIRCはinitスクリプトが文字通り何十年も同じものを使用している(/etc/init/hostname.confにはまだ含まれています)ため、誰も言及していないことに本当に困惑しているこれはすでに:)

4
Josip Rodin
  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を実行します
4
George

Ubuntu 16.04

これはrestartがなく、端末の使用もありません。

  • システム設定->詳細に移動します。
  • そこにそれがある。 デバイス名の横にテキストボックスがあります。
  • テキストボックスを編集してウィンドウを閉じます。

ターミナルを開きます。自分で見てください。

(古いバージョンの場合、テキストボックスは編集できません。)

4
shonku

私は答えを読みましたが、おそらくあなたはこれを探していると思います:

/etc/hostnameファイルを編集した後、これら2つのコマンドを実行するだけです。

$ Sudo service hostname restart
$ exec bash

それで全部です。再起動する必要はありません。/etc/hostsファイルの名前も必ず変更してください。

3
Raman
Sudo hostname your-new-name
Sudo /etc/init.d/networking restart

それは私が思う仕事をする必要があります

3
OmarQunsul

Ubuntu 16.04

DigitalOcean Comunityの answer に基づくソリューション。

hostsファイルを編集します。

$ Sudo nano /etc/hosts

oldnameを新しい名前に置き換えます。

127.0.0.1 localhost newname

新しいホスト名をセットアップします。

$ Sudo hostnamectl set-hostname newname

2
Jekis