3

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

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

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

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

1 ответ1

4

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). Кроме того, многие люди находят имя хоста в верхнем регистре менее разборчивым, чем в нижнем регистре (по той же причине, что текст, набранный в верхнем регистре, труднее читать, чем при правильном использовании заглавных букв).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .