Я заметил, что «предпочтительный» метод установки имени хоста системы принципиально отличается в системах Red Hat / CentOS и Debian / Ubuntu.
В документации CentOS и руководстве по развертыванию RHEL говорится, что имя хоста должно быть полным доменным именем :
HOSTNAME=<value>
где<value>
должно быть полное доменное имя (FQDN), напримерhostname.example.com
, но может быть любым именем хоста, которое необходимо.
Руководство по установке RHEL немного более двусмысленно:
Программа установки предложит вам указать имя хоста для этого компьютера, либо в виде полного доменного имени (FQDN) в формате hostname.domainname, либо в качестве краткого имени хоста в формате hostname .
Справочник Debian говорит, что имя хоста не должно использовать полное доменное имя :
3.5.5. Имя хоста
Ядро поддерживает имя хоста системы . Сценарий инициализации на уровне выполнения S, который является символической ссылкой на « /etc/init.d/hostname.sh », устанавливает системное имя хоста во время загрузки (с помощью команды hostname ) на имя, хранящееся в « / etc / hostname ». Этот файл должен содержать только системное имя хоста, а не полное доменное имя.
Я не видел каких-либо конкретных рекомендаций от IBM по поводу использования, но некоторые программы, похоже, имеют предпочтения.
Мои вопросы:
- В гетерогенной среде лучше использовать рекомендацию поставщика или выбрать одну и быть последовательной на всех хостах?
- С каким программным обеспечением вы столкнулись, который чувствителен к тому, установлено ли для имени хоста полное доменное имя или короткое имя?
hostname
были FQDN. Просто иметь это/etc/hosts
недостаточно хорошо. Это смешалось с моей последовательностью./etc/sysconfig/network
содержать такие строки:NETWORKING=yes
,NETWORKING_IPV6=no
,HOSTNAME=example.com
,NISDOMAIN=example
?hostname(1)
на любой Linux машине.Практически все программное обеспечение чувствительно к правильной настройке имени хоста. Когда я работал в Digg, я однажды отключил весь сайт на 2 часа из-за внесения, казалось бы, невинного изменения,
/etc/hosts
которое повлияло на представление системы об имени хоста. Ступай слегка. Тем не менее, вы можете быть немного смущены здесь. Я не думаю, чтоHOSTNAME=
настройки прямо эквивалентны тому, как используются дистрибутивы на основе Debian/etc/hostname
.Что работает для меня в гетерогенной среде:
hostname
команду для установки имени хоста, используемого ядром и т. Д.В
/etc/hosts
:Эта конфигурация еще не подвела меня.
источник
У вас наверняка не возникнет проблем с поиском ссылок в Интернете, которые скажут вам определенно сделать это так или иначе. Однако мне кажется, что наличие короткого имени в качестве имени хоста и полное имя в / etc / hosts, безусловно, более распространено. Это кажется более разумным способом, так как тогда службы, которым нужно полностью определенное имя, могут быть адаптированы для вызова
hostname --fqdn
вместо них.Я только недавно столкнулся с одним программным обеспечением, которое жестко требует, чтобы fqdn был возвращен
hostname
, который был ganeti. Они документируют это здесь . Однако я не вижу причин, по которым они не могут адаптироватьсяhostname --fqdn
.источник
hostname --fqdn
», - дан ответ в первом абзаце под заголовком «Почему полное имя хоста» - это требует догадок и рабочего распознавателя. Запрашивать ядро - самый безопасный и надежный вариант.10.0.0.1 hostname.example.com hostname
), а /etc/nsswitch.conf указывает локальное разрешение перед DNS (hosts: files dns
), тогда наличие локального распознавателя выполняется локальным файлом hosts. Таким образом, аргумент для использования полного доменного имени вместо имени хоста редко содержит воду. Кроме того, другим примером программного обеспечения, которое жестко требуетhostname
возврата полного доменного имени, является пакет почтового сервера Zimbra.Несколько странно, когда я изучал этот вопрос, я сходил с ума, чтобы проверить исходный код «имени хоста» и написать скрипт для вывода результатов расследования (Fedora 19). Чего не хватает, так это взгляда на «/ etc / hosts», который, по моему скромному мнению, должен быть во избежание всего этого в первую очередь.
Вывод на виртуальной машине Amazon EC2, работающей под управлением Fedora 19 , после ручной установки значений ядра и заполнения
/etc/hostname
, но без изменений/etc/hosts
может выглядеть следующим образом:Устойчивый способ получить полное имя хоста в Perl будет:
и в bash это будет:
Примечания
Примечание 1: HOSTNAME - это переменная оболочки, которую предоставляет bash («Автоматически устанавливает имя текущего хоста.»), Но нет никаких указаний на то, что bash достигает этого значения.
Примечание 2: Никогда не забывайте / etc / hostname в /boot/initrams-FOO.img ...
источник
Параметры / etc / hosts работают хорошо.
Но вы хотите , чтобы убедиться , что все соответствующие файлы будут обновлены Запустите установочный инструмент
источник
Хм ... В хостах linux, если вы хотите изменить HOSTNAME и FQDN, вы должны решить 3 шага (например, новый хост - rizzo.ifp.com ):
Шаг # 1 Измените значение HOST в конфигурации свойств NETWORK:
Изменить или добавить строку:
Шаг № 2 Отредактируйте конфигурацию хостов
Шаг № 3 Перезагрузите хост Хорошо, просто проверьте новую конфигурацию
источник
Порядок не правильный. Должно быть:
Таким образом, пример может выглядеть так:
источник