/ etc / hostnameを編集してホスト名を変更し、コマンドを使用して新しいホスト名を表示できhostname
ますhostname -F
。
ただし、シェルプロンプトにはまだ古いホスト名が表示されます。
ちなみに、これはUbuntu 11.0.4です。プロンプトは私に設定されており、.bashrc
編集していません。ログアウトまたは再起動しても効果はありません。
標準Ubuntuの関連部分.bashrc
:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
(ログイン時に$ debian_chrootが設定されていません...)
ホスト名は特殊文字\ hで選択されているようです。
これはシェルに報告されたPS1設定です。
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
これがPS1が示すものです:
username@oldhostname:~$
Warrenの答えに出てきた正確なコマンドを使ってプロセスを繰り返しました。ホスト名は再起動するまで有効でしたが、/etc/hostname
新しいホスト名が含まれていても失われたことがわかりました。
ベストアンサー1
私はKeithとWarrenの以前の答えと実際の解決策に基づいて自分の質問に答えています。認識された問題は「ホスト名を変更しましたが、なぜbash PS1プロンプトは変更されませんでしたか?」実際の問題は「再起動時にシステムが古いホスト名に戻るのはなぜですか?」
この特別なケースに対する答えは次のとおりです。DHCP はローカル設定を無視するように設定されます。
ホスト名を変更する効率的な方法
以下はUbuntuについてです。ymmv。
このファイルを編集して永続ホスト名を変更します
/etc/hostname
。echo 'mynewhostname' | sudo tee /etc/hostname
実行中のシステムのホスト名を変更するには、次のようにします。CPU名注文する。ステップ1がないと、再起動時にリセットされます。設定したばかりの値を使用することをお勧めします。
sudo hostname -F /etc/hostname
またはそれに対応するもの:
sudo hostname `cat /etc/hostname`
.NETで完全修飾ドメイン名(FQDN)を設定します
/etc/hosts
。抜粋:
127.0.0.1 mynewhostname.mydomainname.com mynewhostname
コンピュータがDHCPクライアントを実行していることを確認してください。 IPアドレスに加えて、DHCPサーバーはホスト名やDNS解決などの設定を上書きすることもできます。 「クラウド」ホスティングサービスは、設定ファイルを編集しなくてもディスク上のコンピュータイメージを複数回再利用できるようにすることができます。
存在する場合は、DHCPクライアント設定ファイルを編集して
/etc/default/dhcpcd
このディレクティブをコメントアウトしますSET_HOSTNAME
。#SET_HOSTNAME='yes'
可能であれば、システムを再起動し、名前が変更されていることを確認してください。
hostname
ステップ4は私にとって新しいものであり、私を戸惑いました。この答えにプロセス全体を文書化するのが役に立つと思いました。このステップは(Linode)で提供されました。私のホスティングサービスの説明本当にきちんと読まなければならなかったのに。