Я хочу изменить имя хоста операционной системы, но я не хочу перезагружаться.
Я отредактировал /etc/hostname
но для его реализации требуется перезагрузка. Как этого избежать?
Я хочу изменить имя хоста операционной системы, но я не хочу перезагружаться.
Я отредактировал /etc/hostname
но для его реализации требуется перезагрузка. Как этого избежать?
Это просто. Просто нажмите на значок шестеренки (расположен в правом верхнем углу экрана), откройте экран "Об этом компьютере" (расположен на значке шестеренки) и отредактируйте "Имя устройства".
Или в терминале используйте следующую команду:
sudo hostname 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
пакет (который, начиная с Ubuntu 14.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
Примечание> : я прочитал это на форуме Edit /etc /hosts и изменил старую строку 127.0.1.1 на ваше новое имя хоста (если вы этого не сделаете, вы больше не сможете использовать sudo. Если вы уже сделали это, нажмите ESC в меню grub, выберите восстановление и отредактируйте свой файл хоста с правильными настройками)
Теперь, после перезагрузки, ваше имя хоста будет новым, которое вы выбрали
Изменить без перезагрузки, вы можете просто использовать hostname.sh после редактирования /etc/hostname.Вы должны сохранить оба имени вашего хоста в /etc/hosts (127.0.0.1 newhost oldhost) до тех пор, пока не выполните приведенную ниже команду:
sudo service hostname start
Примечание : Приведенная выше команда, чтобы сделать изменение активным. Имя хоста, сохраненное в этом файле (/etc/hostname), будет сохранено при перезагрузке системы (и будет установлено с помощью той же службы).
Имя по умолчанию было задано при установке Ubuntu. Вы можете легко изменить его на все, что захотите, как на рабочем столе, так и на сервере, отредактировав файлы hosts и hostname. Ниже показано, как:
sudo hostname NEW_NAME_HERE
Это изменит имя хоста до следующей перезагрузки. Это изменение не будет сразу видно в вашем текущем терминале. Запустите новый терминал, чтобы увидеть новое имя хоста.
Чтобы навсегда изменить имя, выполните команду для редактирования файлов хоста:
sudo -H gedit /etc/hostname
и sudo -H gedit /etc/hosts
Для сервера Ubuntu без графического интерфейса запустите sudo vi /etc/hostname
и sudo vi /etc/hosts
и редактируйте их один за другим.В обоих файлах измените имя на то, что вы хотите, и сохраните их.
Наконец, перезагрузите компьютер, чтобы применить изменения.
В то время как вышеупомянутые подходы (hostnamectl
, etc/hostname
и т.д.) работают для немедленного изменения имени хоста с появлением запуск в облаке - который может управлять настройкой имени хоста - среди многих других вещей. Таким образом, он не будет зависать после перезагрузки, если установлен cloud-init. Если вы хотите, чтобы изменения сохранялись после перезагрузки, вам нужно будет отредактировать конфигурационные файлы для инициализации в облаке, отключить инициализацию облака модуль установки/обновления имени хоста:
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
или полностью отключить облачную инициализацию:
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, до 127.0.0.1 в /etc/hosts.
Решение, основанное на ответ от сообщества DigitalOcean.
Редактировать хозяева файл.
$ sudo nano /etc/hosts
Заменять старое имя с новым.
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
Предупреждение: не будет работать с Ubuntu 18+, который по умолчанию запускает cloud-init, который управляет именем хоста при загрузке.
@nslntmnx, спасибо тебе!