Linux hostname без перезагрузки
Я хочу изменить имя хоста ОС, но не хочу перезапускать.
Я отредактировал, /etc/hostname но это требует перезапуска, чтобы быть осуществленным. Как этого избежать?
Предупреждение: не будет работать с Ubuntu 18+, который по умолчанию использует cloud-init, который контролирует имя хоста при загрузке.Это просто. Просто нажмите на значок шестеренки (расположен в правом верхнем углу экрана), откройте экран «Об этом компьютере» (находится на значке шестеренки) и отредактируйте «Имя устройства».
Или в терминале используйте следующую команду:
Это установит имя хоста на ваше новое имя, пока вы не перезапустите. Смотрите man hostname и Как мне изменить имя компьютера? для дополнительной информации. Не используйте _ на свое имя.
Запись
После перезапуска ваши изменения в /etc/hostname будут использованы, поэтому (как вы сказали в вопросе) вы все равно должны использовать
(или другой редактор), чтобы этот файл содержал имя хоста.
Чтобы проверить, что файл настроен правильно, запустите:
Вы также должны отредактировать /etc/hosts и изменить строку, которая гласит:
так что теперь он содержит ваше новое имя хоста. (Это необходимо, иначе многие команды перестанут работать.)
Я знаю. вот почему вы должны использовать команду 'hostname'. Я просто хотел уточнить, что команда 'hostname' изменяет только имя хоста, пока вы не перезапустите / crash / etc. После этого он снова прочитает имя из файла. Зависит. Если вы ввели команду, вам не нужно перезапускать. Имя хоста уже изменено. Но только до вашего следующего перезапуска. Обратите внимание, что вы также должны изменить /etc/hosts (см. Другие ответы) Короче говоря, хотя hostname новое имя вступает в силу немедленно, оно не является «постоянным», если вы не измените его, /etc/hostname и /etc/hosts , поскольку это файлы, которые будут прочитаны после перезапуска или сбоя, что, конечно, может не быть ожидая раньше времени.Эта hostnamectl команда является частью установки по умолчанию в версиях для настольных компьютеров и серверов.
Он сочетает в себе установку имени хоста с помощью hostname команды и редактирования /etc/hostname . Помимо установки статического имени хоста, он может установить «красивое» имя хоста, которое не используется в Ubuntu. К сожалению, редактирование /etc/hosts все еще должно быть сделано отдельно.
Эта команда является частью systemd-services пакета (который, как в Ubuntu 14.04, также включает в себя timedatectl и localectl команды). По мере перехода на Ubuntu systemd этот инструмент - будущее.
Обратите внимание, что это доступно не везде. Только что посмотрел на мою установку Ubuntu 14.04 LTS ARM-7, и hostnamectl не существует. Думаю, некоторые версии Ubuntu еще не используют systemd. @ Stéphane команды являются частью пакета systemd, но они доступны независимо. В этом случае 13.04-14.10 не используют systemd в качестве init, команда доступна. @ H2ONaCl переменная оболочки установлена при запуске, просто откройте другую оболочку и переменная hostname должна быть в порядке. Что касается sudo, ошибка разрешения имени хоста никогда не мешала мне что-либо делать. @ H2ONaCl ах, но переменная HOSTNAME не стандартна - у IIRC тире и у ksh его нет, у zsh используется HOST, поэтому что касается переменных оболочки, то это дно кучи.Изменение имени хоста или компьютера в Ubuntu без перезагрузки
Отредактируйте / etc / hostname и измените на новое значение,
Отредактируйте / etc / hosts и измените старую строку 127.0.1.1 на новое имя хоста
Примечание : я прочитал его на форуме> Отредактируйте / etc / hosts и измените старую строку 127.0.1.1 на новое имя хоста (если вы этого не сделаете, вы больше не сможете использовать sudo. Если вы уже сделали это нажмите ESC в меню grub, выберите recovery и отредактируйте файл хоста с правильными настройками)
Теперь после перезагрузки, ваше имя хоста будет новым, которое вы выбрали
Чтобы изменить без перезагрузки , вы можете просто использовать hostname.sh после редактирования / etc / hostname. Вы должны хранить оба имени хоста в / etc / hosts (127.0.0.1 newhost oldhost), пока не выполните следующую команду:
Примечание : выше команды, чтобы сделать изменение активным. Имя хоста, сохраненное в этом файле (/ etc / hostname), будет сохранено при перезагрузке системы (и будет установлено с использованием той же службы).
Я хочу изменить имя хоста ОС, но не хочу перезапускать.
Я редактировал /etc/hostname но для его реализации требуется перезагрузка. Как этого избежать?
Это просто. Просто нажмите на значок шестеренки (расположен в правом верхнем углу экрана), откройте экран "Об этом компьютере" (находится на значке шестеренки) и отредактируйте "Имя устройства".
Или в терминале используйте следующую команду:
Это установит имя хоста на ваше новое имя, пока вы не перезапустите. Увидеть man hostname и как мне изменить имя компьютера? для дополнительной информации. Не использовать _ на ваше имя.
Заметка
После перезагрузки ваши изменения в /etc/hostname будет использоваться, поэтому (как вы сказали в вопросе), вы все равно должны использовать
(или другой редактор), чтобы этот файл содержал имя хоста.
Чтобы проверить, что файл настроен правильно, запустите:
Вы также должны отредактировать /etc/hosts и измените строку, которая гласит:
так что теперь он содержит ваше новое имя хоста. (Это необходимо, иначе многие команды перестанут работать.)
hostnamectl Команда является частью установки по умолчанию в версиях для настольных компьютеров и серверов.
Он сочетает в себе установку имени хоста через 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, выберите recovery и отредактируйте файл хоста с правильными настройками)
Теперь после перезагрузки, ваше имя хоста будет новым, которое вы выбрали
Чтобы изменить без перезагрузки, вы можете просто использовать hostname.sh после редактирования / etc / hostname. Вы должны хранить оба имени хоста в /etc/hosts (127.0.0.1 newhost oldhost), пока не выполните следующую команду:
Примечание: выше команды, чтобы сделать изменение активным. Имя хоста, сохраненное в этом файле (/etc/hostname), будет сохранено при перезагрузке системы (и будет установлено с использованием той же службы).
Я хочу изменить имя хоста ОС, но я не хочу перезапускать.
Я отредактировал /etc/hostname , но для его реализации требуется перезапуск. Как этого избежать?
Это легко. Просто нажмите значок Gear (расположенный в правом верхнем углу экрана), откройте экран «Об этом компьютере» (расположенный на значке Gear) и отредактируйте «Имя устройства».
Или, в терминале, используйте следующую команду:
Это приведет к тому, что имя хоста будет присвоено вашему новому имени до перезапуска. См. man hostname и Как изменить имя компьютера? для получения дополнительной информации. Не используйте _ для своего имени.
Примечание
После перезагрузки ваши изменения в /etc/hostname будут (так, как вы сказали в вопросе), вы все равно должны использовать
(или какой-либо другой редактор), так что файл содержит имя хоста.
Чтобы проверить правильность настройки файла, запустите:
Вы также должны отредактировать /etc/hosts и изменить строку, которая гласит:
, чтобы теперь оно содержало ваше новое имя хоста. (Это необходимо, иначе многие команды перестанут функционировать.)
Команда hostnamectl является частью установки по умолчанию как на рабочем столе, так и на сервере.
Он объединяет настройку имени хоста с помощью команды 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. Вы можете легко изменить его на все, что угодно, в Desktop & Server путем редактирования файлов хостов и хостов. Ниже описано, как:
- Нажмите Ctrl Alt t на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите следующую команду: sudo hostname NEW_NAME_HERE
Это приведет к изменению имени хоста до следующей перезагрузки. Изменения не будут сразу видны в вашем текущем терминале. Запустите новый терминал, чтобы увидеть новое имя хоста.
Чтобы изменить имя навсегда, запустите команду для редактирования файлов хоста:
sudo -H gedit /etc/hostname и sudo -H gedit /etc/hosts
Для сервера Ubuntu без GUI запустите sudo vi /etc/hostname и sudo vi /etc/hosts и отредактируйте их один за другим. В обоих файлах измените имя на то, что вы хотите, и сохраните их.
Наконец, перезагрузите компьютер, чтобы применить изменения.
Вот сценарий, который изменяет имя хоста предписанным образом. Это гарантирует, что не только sudo , но и приложения X11 продолжают функционировать без необходимости перезапуска.
Использование: sudo ./change_hostname.sh new-hostname
- изменить имя хоста в /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 networking restart
Это без перезагрузки и без использования терминала.
- Перейдите в раздел Настройки системы -> Детали .
- Вот оно. Рядом с Имя устройства есть текстовое поле.
- Изменить текстовое поле и закрыть окно.
Открыть терминал. Смотрите сами.
(Для более старых версий текстовое поле недоступно для редактирования.)
Это должно делать то, о чем я думаю.
Я прочитал ответы, Но я думаю, вероятно, вы ищете это:
Просто выполните эти две команды после редактирования файла /etc/hostname .
Вот и все. Не нужно перезапускать. Также убедитесь, что вы также изменили имя в файле /etc/hosts .
Классический ответ на вопрос оригинального плаката состоит в том, что после редактирования /etc/hostname вы можете применить его без перезапуска, запустив имя хоста (1) с помощью -F ( --file ) в качестве пользователя root:
имя хоста (5) с помощью /etc/hostname , и указанная программа была такой же в Debian и ее производных более двадцати лет, а пакет, обеспечивающий его , был помечен существенный и требуется , а IIRC скрипты инициализации буквально используются то же самое в течение десятилетий ( /etc/init/hostname.conf все еще содержит его), поэтому я должен сказать, что я действительно озадачен тем, как об этом никто уже не упоминал:)
Решение основано на
В то время как вышеприведенные подходы ( hostnamectl , etc/hostname и т. д.) работают для немедленного изменения имени узла с появлением cloud-init - который может управлять настройкой имени хоста - помимо многих других. Таким образом, он не будет вставлен после перезагрузки, если будет установлен cloud-init. Если вы хотите, чтобы изменения оставались после перезагрузки, вам нужно будет отредактировать cloud- init config files , отключить cloud-init имя хоста /модуль обновления :
Hostname (имя компьютера, имя хоста) задается во время установки системы Linux. Hostname определяет название компьютера и используется преимущественно для идентификации компьютера в сети. Нельзя назначать два одинаковых Hostname для компьютеров в одной сети.
Просмотр текущего Hostname
Чтобы показать текущий Hostname можно использовать команду hostname без параметров:
Также Hostname можно отобразить командой hostnamectl :
Как изменить Hostname
Рассмотрим, как изменить Hostname двумя разными способами.
Способ 1. Используем команду hostnamectl
Во многих systemd-based дистрибутивах (например, в Ubuntu Linux) есть утилита hostnamectl .
Воспользуемся командой hostnamectl , чтобы установить новое значение Hostname равным pingvinus . Используется аргумент set-hostname:
Способ 2. Редактируем файлы /etc/hostname и /etc/hosts
Еще один способ изменения Hostname — это ручное редактирование файла /etc/hostname и файла /etc/hosts .
Сначала выполните команду (вместо pingvinus укажите свое значение):
Отредактируем файл /etc/hostname для редактирования в редакторе nano, выполняем команду:
Измените текущее значение в файле на новое. Сохраните изменения и закройте файл. Это можно сделать, нажав Ctrl+C , затем Y и Enter .
Hostname прописывается также в файле /etc/hosts , поэтому нужно изменить его значение в этом файле. Откроем файл:
Найдите строку вида « 127.0.0.1 ваш_hostname » и впишите новое имя хоста. Сохраните изменения и закройте файл.
Проверка результата
Чтобы проверить, изменилось ли значение Hostname, откройте новое окно терминала и введите команду:
Как временно изменить Hostname
Чтобы изменить Hostname в текущей работающей системе Linux, но до первой перезагрузки, можно использовать просто команду hostname , указав ей новое значение имени хоста:
I want to change the OS hostname but I do not want to restart.
I have edited /etc/hostname but it requires a restart to get implemented. How to avoid this?
14 Answers 14
It's easy. Just click the Gear icon (located at upper right corner of the screen), open "About this computer" screen (located at Gear icon ) and edit "Device name".
Or, in a terminal, use the following command:
This will set the hostname to your-new-name until you restart. See man hostname and How do I change the computer name? for further information. Do not use _ in your name.
Note
After a restart your changes in /etc/hostname will be used, so (as you said in the question), you should still use
(or some other editor) so that file contains the hostname.
To test that the file is set up correctly, run:
You should also edit /etc/hosts and change the line which reads:
so that it now contains your new hostname. (This is required otherwise many commands will cease functioning.)
7,218 2 2 gold badges 13 13 silver badges 11 11 bronze badges Depends. If you entered the command you do not need to restart. The hostname is changed already. But only UNTIL your next restart.The hostnamectl command is part of the default installation on both Desktop and Server editions.
It combines setting the hostname via the hostname command and editing /etc/hostname . As well as setting the static hostname, it can set the "pretty" hostname, which is not used in Ubuntu. Unfortunately, editing /etc/hosts still has to be done separately.
This command is part of the systemd-services package (which, as of Ubuntu 14.04, also includes the timedatectl and localectl commands). As Ubuntu migrates to systemd , this tool is the future.
Changing the hostname or computer name in ubuntu without restart
Edit /etc/hostname and change to the new value,
Edit /etc/hosts and change the old 127.0.1.1 line to your new hostname
Note : i have read it on a forum > Edit /etc/hosts and change the old 127.0.1.1 line to your new hostname (if you dont do this, you wont be able to use sudo anymore. If you hav e already done it, press ESC on the grub menu, choose recovery, and edit your host file to the correct settings)
Now after a reboot, your hostname will be the new one you chose
To change without a reboot, you can just use hostname.sh after you edit /etc/hostname. You must keep both your host names in /etc/hosts (127.0.0.1 newhost oldhost) until you execute the command below:
Note : Above command to make the change active. The hostname saved in this file (/etc/hostname) will be preserved on system reboot (and will be set using the same service).
Читайте также: