OSのホスト名を変更したいが、再起動したくない。
私は編集しました /etc/hostname
しかし、実装するには再起動が必要です。 これを回避するには?
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
それは今あなたの新しいホスト名が含まれているように。 (これは必須です。そうしないと、多くのコマンドが機能しなくなります。)
その hostnamectl
コマンドは、デスクトップ版とサーバー版の両方での既定のインストールの一部です。
これは、ホスト名の設定を組み合わせたものです。 hostname
コマンドと編集 /etc/hostname
. 静的ホスト名を設定するだけでなく、Ubuntuでは使用されていない「きれいな」ホスト名を設定することができます。 残念ながら、編集 /etc/hosts
まだ別々に行う必要があります。
hostnamectl set-hostname new-hostname
このコマンドは、次のコマンドの一部です。 systemd-services
パッケージ(Ubuntu14.04以降では、パッケージにも含まれています timedatectl
と localectl
コマンド)。 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をインストールするときに設定されました。 あなたは簡単にあなたがデスクトップの両方で好きなものに変更することができます&アンプ;ホストとホスト名ファイルを編集することによ 以下はどのようにですか:
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
そして、それらを一つずつ編集しますone.In 両方のファイルは、あなたが望むものに名前を変更し、それらを保存します。
最後に、コンピュータを再起動して変更を適用します。
以上のアプローチをしながら(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}')"
再起動なし:
/etc/hostname
/etc/hosts
それに応じてsudo sysctl kernel.hostname=mynew.local.host
現在のホスト名を次のように確認します hostname -f
現在のホスト名を取得するには:
cat /etc/hostname
これは、任意のテキストエディタで変更できます。 また、localhost以外のエントリを/etc/hostsの127.0.0.1に対して更新する必要があります。
に基づく解決 ともかく DigitalOcean Comunityから。
編集 ホスト ファイル。
$ sudo nano /etc/hosts
置換 oldname 新しいものと。
127.0.0.1 localhost newname
新しいホスト名を設定します。
$ sudo hostnamectl set-hostname newname
/etc/hostname
目的のホスト名で(あなたはで編集することができます sudo nano /etc/hostname
)/etc/hosts
、127.0の横にあるエントリを置き換えます。1.1目的のホスト名で(編集することができます sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
警告:起動時にホスト名を制御するデフォルトでcloud-initを実行しているUbuntu18+では動作しません。
@nslntmnx、ありがとう!