Как изменить имя хоста дистрибутива на основе RHEL?

19

Я вошел в систему в первый раз, открыл терминал и набрал «имя хоста». Он вернул «localhost.localdomain.com». Затем я вошел в систему как пользователь root в терминале с помощью команды 'su -', предоставил пароль для пользователя root и использовал команду 'hostname etest', где etest - это имя хоста, которое я хотел бы иметь на моей машине. Чтобы проверить, правильно ли я сменил имя хоста, я снова набрал «hostname» в терминале, и он вернул etest.

Однако, когда я перезагружаю свой компьютер, имя хоста возвращается к «localhost.localdomain.com».

Вот вся серия команд, которые я использовал в терминале.

    [thomasm@localhost ~]$ hostname  
    localhost.localdomain  
    [thomasm@localhost ~]$ su -  
    Password:   
    [root@localhost ~]# hostname etest  
    [root@localhost ~]# hostname  
    etest

Я столкнулся с той же проблемой, когда настраивал ОС RHEL и Ubuntu с помощью VMPlayer.

Томас
источник
@ Я новичок в ОС Linux. Если требуется более подробная информация, пожалуйста, дайте мне знать.
Томас,

Ответы:

28

На RHEL и производных, таких как CentOS, вам нужно отредактировать два файла, чтобы изменить имя хоста.

Система устанавливает имя хоста при загрузке на основе HOSTNAMEстроки в /etc/sysconfig/network. nanoТекстовый редактор по умолчанию устанавливается на RHEL и его производных, и его использование является самоочевидным:

# nano /etc/sysconfig/network

Вы также должны изменить имя в /etc/hostsфайле. Если вы этого не сделаете, некоторые команды внезапно начнут выполняться дольше. Они пытаются найти IP-адрес локального хоста по имени хоста, и без входа в /etc/hostsнего он должен пройти через процесс поиска полного сетевого имени, прежде чем он сможет двигаться дальше. В зависимости от вашей настройки DNS, это может означать задержку около минуты!

Изменив эти два файла, вы можете либо запустить hostnameкоманду, чтобы изменить во время выполнения копию имени хоста (которая опять-таки была установлена ​​из /etc/sysconfig/network), либо просто перезагрузиться.

Ubuntu отличается тем, что в нем хранится статическая копия имени хоста /etc/hostname. В связи с этим многие аспекты конфигурации сети хранятся в разных местах и ​​с разными форматами файлов в Ubuntu по сравнению с RHEL.

Уоррен Янг
источник
Спасибо за расположение файлов. Я действительно ничего не знаю о Linux или об использовании терминала, поэтому мне нужны были подробные шаги, чтобы использовать текстовый редактор в терминале. Отсюда мой ответ размещен ниже. Но спасибо за расположение файлов, которые мне нужно было отредактировать.
Томас
4

Вы можете использовать hostnamectl.

1. Установите имя хоста с помощью:

# hostnamectl set-hostname etest

или

# hostnamectl set-hostname etest.something

2. Выйдите из системы и вернитесь.

3. (Необязательно) Чтобы увидеть больше параметров:

man hostnamectl
jtlindsey
источник
... hostnamectl доступен только на RHEL 7 и CentOS 7.
Дейл Андерсон
2

Вот шаги, чтобы изменить имя хоста компьютера CentOS (или любого другого производного RHEL), используя терминал.

Откройте Терминал. Введите su -, чтобы войти в систему как root. После ввода пароля введите vi / etc / sysconfig / network. Откроется файл 'network' с помощью текстового редактора vi в командном режиме. Наберите 'i', чтобы перейти в режим вставки vi. Перейдите в раздел имени хоста файла и замените localhost.localdomain на etest (или требуемое имя хоста). Нажмите «Esc», чтобы выйти из режима вставки и вернуться в командный режим. В командном режиме введите: wq, чтобы сохранить изменения и выйти из vi.

Если вы хотите выйти без сохранения, введите: q! в командном режиме.

Аналогичные шаги можно выполнить для редактирования файла / etc / hosts, если это необходимо.

Томас
источник