Я изменил свое имя хоста , отредактировав / и т.д. / имя хоста и может видеть новое имя хоста , с помощью 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:~$
Я повторил процесс, используя точную команду в ответе Уоррена. Оказывается, что имя хоста работает до перезагрузки, но затем оно теряется, хотя и /etc/hostname
содержит новое имя хоста.
echo $PS1
показывает?Ответы:
Я отвечаю на свой вопрос в свете предыдущих ответов Кейта и Уоррена и фактического решения. Предполагаемая проблема заключалась в том, что «я изменил свое имя хоста, почему моя подсказка bash PS1 не изменилась?» Фактическая проблема была: «Почему моя система вернулась к своему старому имени хоста при перезагрузке?»
Ответ в данном конкретном случае был следующим: DHCP настроен на переопределение локальных настроек.
Эффективный способ изменить имя хоста
Следующее применимо к Ubuntu, ymmv .
Измените постоянное имя хоста, отредактировав файл
/etc/hostname
.Чтобы изменить имя хоста для работающей системы, используйте команду hostname . Без шага 1 это будет сброшено при перезагрузке. Имеет смысл использовать значение, которое вы только что установили:
или его эквивалент:
Установите полное доменное имя (FQDN) в
/etc/hosts
.Выдержка:
Проверьте, работает ли на компьютере клиент DHCP. В дополнение к IP-адресу DHCP-сервер может также переопределять такие параметры, как имя хоста и разрешение DNS. Это может сделать «облачный» хостинг, поэтому образ машины на диске можно использовать несколько раз без редактирования файлов конфигурации.
Если он существует, отредактируйте файл конфигурации клиента DHCP,
/etc/default/dhcpcd
чтобы закомментироватьSET_HOSTNAME
директиву:По возможности перезагрузите систему и проверьте, что имя изменилось с помощью:
Шаг 4 был новостью для меня и поймал меня. Я подумал, что было бы полезно документировать весь процесс в этом ответе. Этот шаг любезно предоставлен (Linode) инструкциям моей хостинг-службы, которые я действительно должен был прочитать правильно.
источник
Файл
/etc/hostname
содержит постоянную копию имени хоста и используется во время загрузки для установки копии во время выполнения. Чтобы изменить копию во время выполнения без перезагрузки, скажите:Или просто передайте новое имя хоста в качестве параметра в
hostname(1)
команду.источник
Я вижу , у вас есть
/h
в вашем предложенииPS1
и затем полное доменное имя, теперь, не могли бы вы опубликовать ваш старый и новый хост вы пытаетесь использовать?/h
показывает имя хоста до первого '.'/H
показывает полное FQDNпопробуй
источник
Используйте
h
в своемPS1
:источник