Linux HostName в нижнем регистре, просто любопытно, почему это в нижнем регистре, когда все настроено как Upper

Имя хоста указано в верхнем регистре, в /etc/hostname, но система показывает его в нижнем регистре.

Только некоторые хосты показывают его в нижнем регистре. По сравнению с другими хостами, нет разницы в версии или версии ядра.

sysctl -a | grep kernel.hostname в нижнем регистре

а также /proc/sys/kernel/hostname

1 ответ

Linux сохраняет заглавные буквы (Ubuntu 16.04, 4.4.0-31-generic):

root@frisbee:~# hostname FRISBEE
root@frisbee:~# bash
root@FRISBEE:~# sysctl -a | grep hostname
kernel.hostname = FRISBEE
root@FRISBEE:~# cat /proc/sys/kernel/hostname
FRISBEE

/etc/hostname это не Linux (как в ядре Linux) способ установки имени хоста. Ядро Linux имеет имя хоста, установленное с помощью системного вызова sethostname(), который чаще всего вызывается из hostname утилита пользовательского пространства.

/etc/hostname и способ, которым он используется для установки имени хоста при загрузке, будет реализован разработчиком дистрибутива. Возможно, что разработчики вашего конкретного дистрибутива и версии решили реализовать RFC 1178:

Не ожидайте, что дело будет сохранено. Прописные и строчные буквы выглядят одинаково для большинства интернет-программ, часто в предположении, что они делают вам одолжение. Может показаться целесообразным использовать заглавные буквы так же, как вы делаете это на английском языке, но соглашение предписывает, чтобы имена компьютеров отображались строчными буквами. (И это экономит, удерживая нажатой клавишу Shift.)

Кроме того, с технической точки зрения имена узлов в верхнем регистре имеют минимальную добавленную стоимость, поскольку DNS также не учитывает регистр ( RFC 4343). Кроме того, многие люди находят имя хоста в верхнем регистре менее разборчивым, чем имя в нижнем регистре (по той же причине, что текст, набранный в верхнем регистре, труднее читать, чем при правильном использовании заглавных букв).

Другие вопросы по тегам