Дополнительно
Как изменить имя хоста без перезапуска?
Я хочу изменить имя хоста ОС, но не хочу перезагружаться.
Я отредактировал / etc / hostname
, но для его реализации требуется перезапуск. Как избежать этого?
500
14
Это просто. Просто щелкните значок Gear (расположен в правом верхнем углу экрана), откройте экран «Об этом компьютере» (расположенный на значке Gear) и отредактируйте «Имя устройства».
Или в терминале используйте следующую команду:
Это установит имя хоста на ваше новое имя, пока вы не перезапустите. См.
man hostname
и https://askubuntu.com/questions/9540/how-do-i-change-the-computer-name для получения дополнительной информации. Не используйте_
на ваше имя.Примечание
После перезапуска будут использованы ваши изменения в
/ etc / hostname
, поэтому (как вы сказали в вопросе) вы все равно должны использовать(или какой-то другой редактор), чтобы файл содержал имя хоста.
Чтобы проверить правильность настройки файла, запустите:
Вы также должны отредактировать
/ etc / hosts
и изменить строку с надписью:так что теперь он содержит ваше новое имя хоста. (Это требуется, иначе многие команды перестанут функционировать.)
Ubuntu 13.04 и далее
Команда
hostnamectl
является частью установки по умолчанию в версиях Desktop и Server.Он объединяет настройку имени хоста с помощью команды
hostname
и редактирование/ etc / hostname
. Помимо установки статического имени хоста, он может установить «красивое» имя хоста, которое не используется в Ubuntu. К сожалению, редактирование/ etc / hosts
все еще должно выполняться отдельно.Эта команда является частью пакета
systemd-services
(который, как и в Ubuntu 14.04, также включает командыtimedatectl
иlocalectl
). Поскольку Ubuntu мигрирует вsystemd
, этот инструмент - будущее.Без перезапуска
Изменение имени хоста или компьютера в ubuntu без перезагрузки
Отредактируйте / etc / hostname и измените на новое значение
Отредактируйте / etc / hosts и измените старую строку 127.0.1.1 на новое имя хоста
Примечание : я прочитал это на форуме > Отредактируйте / etc / hosts и измените старую строку 127.0.1.1 на новое имя хоста (если вы этого не сделаете, вы больше не сможете использовать sudo. Если вы уже сделали это, нажмите ESC в меню grub, выберите восстановление и отредактируйте файл хоста в соответствии с правильными настройками)
Теперь после перезагрузки ваше имя хоста будет новым, который вы выбрали
Без перезагрузки
Чтобы изменить без перезагрузки , вы можете просто использовать hostname.sh после редактирования /etc/hostname. Вы должны хранить оба имени своего хоста в / etc / hosts (127.0.0.1 newhost oldhost), пока не выполните команду ниже:
Примечание : Команда «Выше», чтобы сделать изменение активным. Имя хоста, сохраненное в этом файле (/ etc / hostname), будет сохранено при перезагрузке системы (и будет установлено с помощью той же службы).
Имя по умолчанию было установлено при установке Ubuntu. Вы можете легко изменить его на все, что захотите, как на рабочем столе, так и на рабочем столе. Сервер, редактируя хосты и файлы имени хоста. Ниже как:
sudo hostname NEW_NAME_HERE
Это изменит имя хоста до следующей перезагрузки. Изменение не будет видно сразу в вашем текущем терминале. Запустите новый терминал, чтобы увидеть новое имя хоста.
Чтобы навсегда изменить имя, выполните команду для редактирования файлов хоста:
sudo -H gedit / etc / hostname
иsudo -H gedit / etc / hosts
Для сервера Ubuntu без графического интерфейса запустите
sudo vi / etc / hostname
иsudo vi / etc / hosts
и отредактируйте их по одному. В обоих файлах измените имя на то, что вы хотите, и сохраните их.Наконец, перезагрузите компьютер, чтобы применить изменения.
Вот скрипт, который изменяет имя хоста в установленном порядке. Это гарантирует, что не только
sudo
, но и приложения X11 продолжают работать без перезапуска.Использование:
sudo ./change_hostname.sh new-hostname
& Лт;!- язык: bash - >
Постоянство имени хоста Cloud-init (Ubuntu 18+)
В то время как вышеупомянутые подходы (
hostnamectl
,etc / hostname
и т. Д.) Работают для немедленного изменения имени хоста, с появлением cloud-init - который может контролировать настройку имени хоста - среди многих других вещей. Таким образом, он не будет прилипать после перезагрузки, если установлен Cloud-init. Если вы хотите, чтобы изменение оставалось после перезагрузки, вам нужно будет отредактировать файлы конфигурации cloud-init, отключить hostname set / update module: initили полностью отключить cloud-init:
Без перезапуска:
/ etc / hostname
/ etc / hosts
соответственноsudo sysctl kernel.hostname = mynew.local.host
Проверьте свое текущее имя хоста с помощью
hostname -f
Чтобы получить ваше текущее имя хоста:
Это можно изменить в любом текстовом редакторе. Вам также необходимо обновить запись, отличную от localhost, до 127.0.0.1 в / etc / hosts.
Откройте терминал. Смотрите сами.
(Для более старых версий текстовое поле не редактируется.)
/ etc / hostname
на нужное имя хоста (вы можете редактировать с помощьюsudo nano / etc / hostname
)/ etc / hosts
заменить запись рядом с 127.0. 1 .1 с желаемым именем хоста (вы можете редактировать с помощьюsudo nano / etc / hosts
)sudo service hostname restart; sudo service website restart
Классический ответ на вопрос оригинального автора заключается в том, что после редактирования
/ etc / hostname
вы заставляете его применять без перезапуска, запустив hostname (1) с-F
(- file
) опция в качестве корня:, [имя хоста(5)2] обработка с
/ etc / hostname
и указанной программой была одинаковой в Debian и его производных уже более двадцати лет, а также [пакет, предоставляющий это]3] был помечен [существенный]4] а также [требуется]5] и IIRC сценарии init буквально использовали одно и то же десятилетиями (/etc/init/hostname.conf
все еще содержит его) поэтому я должен сказать, что я искренне озадачен тем, как никто уже не упомянул об этом :)Это должно сделать работу, я думаю
Я прочитал ответы, но я думаю, что вы ищете это:
Просто выполните эти две команды после редактирования файла
/ etc / hostname
.Это все. Не нужно перезагружаться. Также убедитесь, что вы также изменили имя в файле
/ etc / hosts
.Ubuntu 16.04
Решение на основе ответ от DigitalOcean Comunity.
Редактировать файл hosts .
$ sudo nano / etc / hosts
Заменить oldname на новый.
127.0.0.1 localhost newname
Настройка нового имени хоста.
$ sudo hostnamectl set-hostname newname