OSホスト名を変更したいのですが、再起動したくありません。
/etc/hostname
を編集しましたが、実装するには再起動が必要です。これを避ける方法は?
それは簡単です。歯車アイコン(画面の右上隅にある)をクリックし、[このコンピューターについて]画面(歯車アイコンにある)を開き、[デバイス名]を編集します。
または、ターミナルで次のコマンドを使用します。
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
新しいホスト名が含まれるようになります。 (そうしないと、多くのコマンドが機能しなくなります。)
hostnamectl
コマンドは、デスクトップ版とサーバー版の両方のデフォルトインストールの一部です。
hostname
コマンドによるホスト名の設定と/etc/hostname
の編集を組み合わせます。静的ホスト名を設定するだけでなく、Ubuntuでは使用されない「きれいな」ホスト名を設定できます。残念ながら、/etc/hosts
の編集はまだ個別に行う必要があります。
hostnamectl set-hostname new-hostname
このコマンドは systemd-services
パッケージの一部です(Ubuntu 14.04以降、timedatectl
およびlocalectl
コマンドも含まれます)。 Ubuntuがsystemd
に移行するにつれて、このツールは未来です。
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)に保存されているホスト名は、システムの再起動時に保持されます(同じサービスを使用して設定されます)。
デフォルト名は、Ubuntuのインストール時に設定されました。ホストとホスト名のファイルを編集することで、デスクトップとサーバーの両方で必要なものに簡単に変更できます。以下がその方法です。
Sudo hostname NEW_NAME_HERE
これにより、次回の再起動までホスト名が変更されます。変更は現在の端末にすぐには表示されません。新しい端末を起動して、新しいホスト名を確認します。
名前を永続的に変更するには、コマンドを実行してホストファイルを編集します。
Sudo -H gedit /etc/hostname
およびSudo -H gedit /etc/hosts
GUIのないUbuntuサーバーの場合は、Sudo vi /etc/hostname
およびSudo vi /etc/hosts
を実行し、それらを1つずつ編集します。両方のファイルで、名前を必要な名前に変更して保存します。
最後に、コンピューターを再起動して変更を適用します。
所定の方法でホスト名を変更するスクリプトを次に示します。 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}')"
再起動なし:
/etc/hostname
のホスト名を変更/etc/hosts
を適宜更新しますSudo sysctl kernel.hostname=mynew.local.Host
hostname -f
で現在のホスト名を確認してください
上記のアプローチ(hostnamectl
、etc/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
現在のホスト名を取得するには:
cat /etc/hostname
これは、任意のテキストエディターで変更できます。また、/ etc/hostsの127.0.0.1に対してlocalhost以外のエントリを更新する必要があります。
元のポスターの質問に対する古典的な答えは、/etc/hostname
を編集したら、-F
(--file
)オプションをルートとして hostname(1) を実行することにより、再起動せずに適用することです。
Sudo hostname -F /etc/hostname
hostname(5)/etc/hostname
と上記のプログラムの取り扱いは、Debianとその派生物で20年以上同じであり、 それを提供するパッケージ はタグ付けされています- 必須 および 必須 、およびIIRCはinitスクリプトが文字通り何十年も同じものを使用している(/etc/init/hostname.conf
にはまだ含まれています)ため、誰も言及していないことに本当に困惑しているこれはすでに:)
/etc/hostname
の内容を目的のホスト名に置き換えます(Sudo nano /etc/hostname
で編集できます)/etc/hosts
で、127.0。1。1の隣のエントリを目的のホスト名に置き換えます(Sudo nano /etc/hosts
で編集できます)Sudo service hostname restart; Sudo service networking restart
を実行しますこれはrestartがなく、端末の使用もありません。
ターミナルを開きます。自分で見てください。
(古いバージョンの場合、テキストボックスは編集できません。)
私は答えを読みましたが、おそらくあなたはこれを探していると思います:
/etc/hostname
ファイルを編集した後、これら2つのコマンドを実行するだけです。
$ Sudo service hostname restart
$ exec bash
それで全部です。再起動する必要はありません。/etc/hosts
ファイルの名前も必ず変更してください。
Sudo hostname your-new-name
Sudo /etc/init.d/networking restart
それは私が思う仕事をする必要があります
DigitalOcean Comunityの answer に基づくソリューション。
hostsファイルを編集します。
$ Sudo nano /etc/hosts
oldnameを新しい名前に置き換えます。
127.0.0.1 localhost newname
新しいホスト名をセットアップします。
$ Sudo hostnamectl set-hostname newname