コンピューター名を変更するにはどうすればよいですか?


327

サーバー(ubuntuサーバー10.10)に接続すると、次のメッセージが表示されます。

name@server-name.belkin ~>

「.belkin」を削除するにはどうすればよいですか?


1
/ etc /ホストを編集してみてください。gksudo gedit / etc / hostsを実行し、server-name.belkinを任意の名前に置き換えます。
LFC_fan

2
実際のサーバー名を変更しますか、それともプロンプトでの表示方法を変更しますか?
デイブジェニングス

2
これはスーパーセットであるため(再起動を許可する)、再開するための投票。
Ciro Santilli新疆改造中心法轮功六四事件

1 後に尋ねられた質問支持して、この質問はどのように閉じられますか?
ウォーレン

@warren現在のコンセンサスは「品質」で終了することです:meta.stackexchange.com/questions/147643/…「品質」は測定できないため、賛成票を投じます。;-)おそらく、どの質問がタイトルで最高の初心者のGoogleキーワードをヒットしたかがわかります。
Ciro Santilli新疆改造中心法轮功六四事件

回答:


420

次の2つのファイルでコンピューター名を編集する必要があります。

/etc/hostname 

そして

/etc/hosts

これらは両方とも管理アクセスが必要なので、実行します

gksu gedit /path/to/file

既存のコンピューター名のインスタンスを新しいものに置き換えます。完了したら

sudo service hostname start

コンピュータを再起動すると、名前も変更されます。

こちらもご覧ください:


43
その後、sudo service hostname restart再起動せずにホスト名が変更されました。
アンソニーO.

6
Ubuntu 14.04には、サービス「ホスト名」はありません。再起動を避けるためにそこで何ができますか。
アルパドHorvathの

8
sudo service hostname restartAWSでのubuntuサーバー14.04のデフォルトインストールでは機能しません。サーバーを完全に再起動する必要がありました
gerrytan 14年

9
14.04に、私は単に走りましたsudo hostname、そして、それはトリックをしました。すぐに変更されることはありませんでしたが、新しいターミナルを開いたときに、ホスト名が実際に変更されているのがわかりました。
TSJNachos117 14年

8
sudo hostname new-host-nameubuntu 13.10
Lekhnath

153

hostnamectl set-hostname 13.10以降のデスクトップ

systemd(13.10以降)があり、cloud-initがアクティブでない場合(以下を参照)、これが最良の方法です。

hostnamectl set-hostname 'new-hostname'

それ:

  • 再起動する必要はありません
  • 再起動後も持続する

詳細:https : //askubuntu.com/a/516898/52975

18.04以降:cloud-init

18.04 cloud-initが導入され、ホスト名の設定を制御できるようhostnamectlになり、cloud-initがインストールされている場合、再起動後も変更されない TODO:インストールされているかどうかを確認する方法、デフォルトでデスクトップイメージにインストールされているのですか、それともサーバーにインストールされているのですか?

hostnamectl再起動後も変更を維持したい場合は、cloud-init構成ファイルを編集し、cloud-initのホスト名設定/更新モジュールを無効にする必要があります

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

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

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

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


3
Ubuntuの15.10で完璧に動作します
AB

4
14.04で/ etc / hostsを変更しない
-Autodidact

7
... Ubuntuの16.04で完璧に動作おかげでたくさん
Hirak

2
16.10でも正常に動作することを確認
fuzzygroup

2
新しいホスト名を/ etc / hostsに追加する必要がありました
。sudo

70

とても簡単です:

  1. 編集し/etc/hostname、名前を変更し、ファイルを保存します。

  2. /etc/hostsファイルにも同じ変更を行う必要があります

  3. 走る sudo service hostname start

「古い」ホスト名に依存するアプリケーション設定がない限り、問題ありません;-)


31
警告:/ etc / hostsファイルを変更せずにこれを行う場合は、あなたのホスト名がルックアップするために失敗するので、それに応じてあなたはsudoを使用することができません
ジョアン・ピント

/ etc / hostsの編集については正しい、私はそれを忘れました(答えに追加しただけです)が、sudoは変更せずにうまく機能しているようです(マシンを再起動しても動作します)
パブロスG.10年

1
それは大丈夫です、あなたhostnameは今から管理されているサービスのようにそれを行うことができますupstart。まったく同じことを行い、サービスを再起動します。
パブロスG.

2
注意:このは、Ubuntuの14.xのために動作しませんしませんhostnameされなくなったinit.d
Rápliアンドラーシュ

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

24

安全に行うことができます。システムのホスト名設定ファイル(/ etc / hostname)とホスト名の名前解決ファイル(/ etc / hosts)の両方を必ず編集する必要があります。ターミナルから次を実行します。

sudo -s
editor /etc/hostname
editor /etc/hosts
shutdown -ry now

2
を使用してシャットダウンを回避できsudo service hostname restartます。
Wtower 14年

3
@Wtowerは14.04では機能しません。:(
ankush981

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

18

/ etc / hostsおよび/ etc / hostnameの編集に加えて、さまざまなサービスにも変更に関する問題がある可能性があります。Mysqlとpostfixはデフォルトでubuntuにインストールされます。壊れた接尾辞はほとんどのubuntuユーザーには影響しません。なぜなら、それはあまり使われないバックグラウンドのメールサーバーだからです。

後置:

sudo editor /etc/postfix/main.cf
sudo service postfix restart

mysqlのデフォルト設定はホスト名を使用しないため、そのままで問題なく機能します。カスタマイズした場合は、/ etc / mysql /のファイルを編集して、サービスを再起動します。

仮想端末とリモートログインに表示される/ etc / motd(今日のメッセージ)を編集することもできます。しかし、それは何も害を与えません。

修正が必要なその他のインストール済みサービスには、apache、bind9などがあります。それぞれの場合、設定でホスト名を見つけて編集し、サービスを再起動します。


14

ホスト名は、一意のローカルネットワーク上のコンピュータを識別し(そしておそらく、インターネット上だけでなく)ので、あなたは何をしているか知っている限り、それを変更することはお勧めできません。

ただし、.belkin(ドメイン名の部分)を表示しないようにシェルプロンプトを変更できます。

export PS1='\u@\h \w> '

詳細については、bashのマニュアルページ、特にプロンプトに関するセクションを参照してください。


14

ホスト名を変更する別のより安全な方法

ailurusをインストールする

  • PPAを追加し、リポジトリを更新します

    sudo add-apt-repository ppa:ailurus && sudo apt-get update

  • ailurusをインストールする

    sudo apt-get install ailurus

  • インストール後、アプリケーション>>システムツール>> Ailurusの下にあります
    代替テキスト

5
なぜこれが反対票を獲得しているのですか?コマンドラインをいじってプロセスを中断するよりも、専用のツールで何かを構成する方が良いはずです。
エンドリス

38
ただホスト名を変更するような大きなソフトウェアをインストールすると、やり過ぎのビットです
ニモ

9
私は、これはやり過ぎであることに同意-特にリポジトリで利用可能ではなく、ソフトウェアがPPAからインストールする必要がありますので...
マルセルStimberg

@ karthick87はおそらくあなたの答えで、これは(他の設定オプションを備えた)ソフトウェアの大きな部分であると述べていますか?-個人的には、単一の単純な変更点を備えたツールが多くのコマンドライン操作よりも優れているというEndolithに同意します(Ubuntu Tweakを使用、現在PPAからも入手可能)
david.libremone

このツールを使用すると、いくつかのファイル内の単語を置き換えるだけでなく、はるかに多くの(より簡単に)破壊できると思います。それはあなたにあまりにも多くのものを公開しました。
ゲルロス

9

テキストエディターでプレイしたくない場合は、Ubuntu Tweak(Webサイトからデブを入手)を使用して、プレイできるささいなことの1つとして(作成したい他の多くの小さな調整と一緒に)端末とファイル自体をいじりたくありません)。


好奇心から、Ubuntu Tweakがソフトウェアリポジトリにない特別な理由はありますか?
オリビエラロンド

彼らはそれを追加することを決して許しません/受け入れられませんでした。微調整を開始した直後か、ターミナル/レポリストを使用して、リストにレポを追加できます。
dkuntz2

あなたはまた、とのPPAとしてUbuntuの微調整を追加することができsudo add-apt-repository ppa:tualatrix/ppa、その後sudo apt-get update、その後 sudo apt-get install ubuntu-tweak
david.libremone

1
〜13.04 Ubuntuの微調整は、もはやこのオプションを提供しますので、ご注意ません
david.libremone

9

hostnameコマンドを使用してホスト名を変更します

sudo hostname newname

ただし、これによってホストファイルが編集されることはありません。コンピューターが自分自身を認識できるようにする必要があります

gksudo /etc/hosts

そして、127.0.0.1を指すホスト名の新しいエントリを追加します

127.0.0.1 oldname newname

古いエントリを削除することもできますが、そのままにしておきます。


7

次のコマンドはその場でホスト名を変更しますが、永続的にするには、編集する必要があります/etc/hostname

echo 'new_hostname' > /proc/sys/kernel/hostname

新しいターミナルセッションを開くと、すぐに表示されます。

systemd場所で、それを行うための適切な方法があります

hostnamectl set-hostname "new_name"

4

GUI支援プロセスが必要な場合は、Ubuntu-Tweakをインストールします。このアプリのその他の用途には、「コンピューターの詳細」タブ->「ホスト名」タブでコンピューター名を変更する機能があります


3

SystemSettings->詳細-> Overwiev(デフォルトはU16.04で開かれます)-デバイス名。

ただし、さらに/ etc / hostsの名前を変更する必要があります。Ubuntu BUG()?


これはホスト名を変更するためのかなり良い方法だと思います。
jawtheshark

2

ターミナルを開き、

sudo sed -i '1s/.*/desired-name/g' /etc/hostname

# you need restart to effect with...

sudo shutdown -r 0

警告:起動時にホスト名を制御するデフォルトでcloud-initを実行しているUbuntu 18以降では動作しません。
nslntmnx
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.