Centos 6 изменить hostname
. тогда я делаю свой /etc/sysconfig/network файл так .
. тогда я бегу hostname так .
. а потом я запускаю Bash и все, кажется, хорошо .
. но когда я перезагружаю свою сеть, возвращается старое имя хоста:
. Я не могу понять это. Что я тут не так делаю.
Может быть, вещь Centos. Что ваша страница руководства говорит вам о постоянстве, о том hostname somename , что она имеет длительный эффект? (если нет, почему вы делаете этот звонок?) Я думаю, что /etc/hostname в CentOS 7, но не в CentOS 6. Я понимаю, что это старый, но я чувствую запах NetworkManager на работе, либо у вас может быть HOSTNAME = установлено в другом файле, чем в сети (т. Е. В сетевых скриптах). Файл / etc / hostname не используется в CentOS 6 (это системная вещь; это означает CentOS 7 и выше). Проверьте содержимое файла / etc / sysconfig / network-scripts / ifcfg-eth0; что в нем? Примечание. Если вы посмотрите на скрипт if_post Redhat в network-scripts /, вы увидите, что set_hostname просто запускает «hostname $ HOSTNAME», где HOSTNAME - это переменная оболочки, установленная либо в сетевом файле, либо в файле ifcfg-eth0.Для постоянного изменения имени хоста вам необходимо изменить его в двух местах:
и: хорошая идея, если у вас есть какие-либо приложения, которые должны разрешить IP-адрес имени хоста)
В конце этого двух изменений добавьте hostname newHostName , перезагрузка не нужна, я думаю Ответ принят, но, во-первых, /etc/hosts изменение заключается только в том, чтобы сделать имя хоста разрешаемым, а не изменить его, и /etc/sysconfig/network выглядит так же, как в OP. Может кто-нибудь объяснить, что именно ОП нужно изменить, чтобы он работал? Я думаю, что правильный ответ должен работать как ответ на вопрос. Повторять данные из вопроса хорошо, если в ответе сказано, что OP настроил его правильно, но не выполнил действия, необходимые для загрузки новой конфигурации (например, перезагрузка).Решение для CentOS 7 можно найти здесь :
«hostnamectl» был единственным рабочим решением для меня в выпуске CentOS Linux 7.2.1511 Я не думаю, что вам нужно перезагрузить компьютер, просто войдите в систему, и это сработает Вопрос про CentOS 6.5. CentOS 7 - совершенно другой зверь, и этот ответ здесь не относится.Вы можете изменить свое имя хоста с помощью одной команды.
- Команда: hostname - отображает старое имя хоста
- Команда: hostname <new name> -это устанавливает новое имя хоста
пример
Для сохранения нового имени хоста при перезагрузке
отредактируйте файл / etc / sysconfig / network так, как показано ниже
Для помощи видео
Я считаю, что это самый правильный ответ. Стоит добавить, что работает: man hostname; показывает больше возможностей для настройки довольно, переходного, статического и т. д. Я думаю, что этого недостаточно, чтобы быть настойчивым при перезагрузке. Вам также необходимо изменить файл / etc / sysconfig / network.CentOS 7 также имеет инструмент текстового интерфейса пользователя для изменения имени хоста ( и других сетевых настроек ), часть Network Manager:
запускает этот пользовательский интерфейс:
который имеет возможность Set system hostname .
Текстовый пользовательский интерфейс NetworkManager установлен по умолчанию в образе CentOS-7-x86_64-DVD-1511.iso, базовая установка. Если у вас его нет, вы можете установить его с помощью следующей команды:
Я должен был сделать это для нескольких машин. Вот простой скрипт на Python, который поможет вам. Просто укажите имя нового хоста в качестве первого аргумента скрипта.
например: если вы назовете скрипт changeHost.py, запустите его как
где NewHostName - желаемое имя хоста.
Также убедитесь, что этот скрипт запущен от имени пользователя root.
Хм, это ужасный сценарий. Интересно, будет ли Puppet лучшим инструментом для работы с именем хоста? Этот скрипт примерно в 3 раза дольше, чем нужно. Python - неподходящий инструмент для работы. Сценарий bash будет намного короче, удобочитаемее и удобнее в обслуживании.Для изменения имени хоста в CentOS 6.5 перезагрузка не требуется.
Следующая команда информирует ядро о новом имени хоста:
Следующая команда, чтобы имя хоста было постоянным при перезагрузке:
Если вы находитесь на Centos 7.x. Вставьте следующую команду.
Он будет иметь возможность установить системное имя хоста . Нажмите Enter на нем.
Имя хоста — это уникальная метка, которая идентифицирует машину в сети.
Должна существовать таблица соответствия между hostname и IP адресом это нужно для для маршрутизации пакетов.
Хост может иметь несколько имён, но предпочтительным является вариант, когда имя одно.
Существует три класса hostname : static , pretty и transient .
Так как CentOS 7 поддреживает только Fully Qualified Domain Names (FQDNs), советую тщательно проверить hostname, который вы планируете использовать.
- Строчные буквы от a до z
- Цифры от 0 до 9
- Точки и дефисы
- Hostnames может быть от 2 до 63 символов
- Hostnames должен начинаться и заканчиваться цифрой или буквой
Узнать имя своего хоста
Существует несоколько способов узнать имя своего хоста.
Часто для этого достаточно просто посмотреть в терминал
Пример моего терминала
[andrei@ localhost Downloads]$
andrei - это имя пользователя
localhost - это имя хоста
Downloads - имя текущей директории
Посмотреть порядок можно выполнив
W - Working Directory - Рабочая диретория
Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 35e254eda578c54084b96e06d5f285cf Boot ID: afb44fef8d764f30bb89550849b02fde Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.36.2.el7.x86_64
Изменить имя хоста
С помощью команды hostname
hostname dns-server
hostname
Если заново открыть терминал изменения будут видны в командной строке.
Это имя хоста сохранится только до перезагрузки системы
Если выполнить hostnamectl видно, что помянелось только динамическое имя хоста
Если изучить файл hostname , также можно увдиеть отсутствие изменений.
С помощью hostnamectl
Это постоянное изменение. Т.е. новое имя хоста имеет класс persistent.
pretty name
Чтобы задать pretty name нужно воспользоваться кавычками
Появилось pretty hostname а static hostname такое же , но без запрещенных символов
hosts
Изучить информацию об именах других хостов можно в файле hosts
В моём примере в сети есть два хоста:
Зайдём на него с помощью ssh и посмотрим, есть ли у него записи об именах других хостов в сети.
Для наглядности я теперь буду показываеть приглашение терминала чтобы было видно имя хоста.
Выполним ping по IP
PING 192.168.56.149 (192.168.56.149) 56(84) bytes of data. 64 bytes from 192.168.56.149: icmp_seq=1 ttl=64 time=0.650 ms 64 bytes from 192.168.56.149: icmp_seq=2 ttl=64 time=0.731 ms ^C --- 192.168.56.149 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 0.650/0.690/0.731/0.048 ms
По IP пингуется успешно
И ping по hostname
Это неудивительно - ведь в файле hosts нет про него никаких записей. Проверим содержимое:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Теперь всё работает
alias
Чтобы не писать длинные имена хостов можно придумать alias
FQDN - Fully Qualified Domain Name - полностью определённое имя домена.
Хоть пинг и был по алиасу, ответ идёт как от static fqdn
В таком случае ответ будет идти от vbdns
PING vbdns (192.168.56.149) 56(84) bytes of data. 64 bytes from vbdns (192.168.56.149): icmp_seq=1 ttl=64 time=0.721 ms 64 bytes from vbdns (192.168.56.149): icmp_seq=2 ttl=64 time=1.01 ms ^C --- vbdns ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1004ms rtt min/avg/max/mdev = 0.721/0.866/1.012/0.148 ms
. тогда я делаю свой файл /etc/sysconfig/network таким образом .
. тогда я запускаю hostname , как это .
. и затем я запускаю bash, и все кажется хорошо .
. но при перезагрузке сети возвращается старое имя хоста:
. Я не могу понять. Что я делаю неправильно здесь.
, чтобы изменить имя хоста постоянно, вам нужно изменить его в двух местах:
и: хорошая идея, если у вас есть приложения, которым необходимо разрешить IP-адрес имени хоста)
Решение для CentOS 7 можно найти здесь:
Вы можете изменить имя хоста одной командой.
- Команда: hostname - отображает старое имя хоста
- Команда: hostname <new name> - это устанавливает новое имя хоста
Пример
Для сохранения нового имени хоста при перезагрузке
отредактируйте файл /etc /sysconfig /network , чтобы он выглядел ниже
Для справки по видео
CentOS 7 также имеет текстовый интерфейс для изменения имени хоста ( и других сетевых параметров ), часть Network Manager:
запускает этот пользовательский интерфейс:
Я должен был сделать это для кучки машин. Вот простой скрипт python, который поможет вам. Просто укажите имя нового хоста в качестве первого аргумента сценария.
например: если вы назовете скрипт changeHost.py, запустите его как
, где NewHostName - ваше имя хоста.
Также запустите этот скрипт как root.
Если вы находитесь на Centos 7.x. Вставьте следующую команду.
У него будет опция установить системное имя хоста . Нажмите Enter на нем.
Главное меню » Операционная система Ubuntu » Как изменить имя хоста на CentOS и Ubuntu
Что такое имя хоста?
Hostname является меткой, используемой для идентификации машины и поможет вам легко отличить сервер от другого. Имя хоста должно быть полным доменным именем (FQDN) и должен указывать на IP-адрес сервера, так что вы можете получить доступ к серверу, используя его.
Проверьте текущее имя хоста
Изменение имени хоста является довольно простым процессом, и требует всего несколько минут вашего времени. Вам нужно будет подключиться к серверу через SSH, чтобы быть в состоянии сделать это изменение. Если вы не знаете, как подключиться к серверу через SSH, вы можете использовать наш гид, который доступен здесь.
После того как вы войдете, вам необходимо определить текущее имя хоста. Если вы используете CentOS 7 VPS или Ubuntu 16.04 VPS, вы можете использовать команду hostnamectl .
Вывод должен быть похож на результат ниже:
Значение static hostname это значение на которое вы должны смотреть.
Изменение текущего имени хоста
Чтобы изменить имя хоста на вашей машине CentOS или Ubuntu, вы должны выполнить следующую команду:
Дополнительные параметры командной строки
Для получения дополнительных опций команды вы можете добавить флаг --help в конце.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Читайте также: