Linux 主机名是小写的,很好奇为什么它全部设置为大写,而实际却是小写。

Linux 主机名是小写的,很好奇为什么它全部设置为大写,而实际却是小写。

/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 内核使用设置主机名()系统调用,最常见的是从hostname用户空间实用程序调用。

/etc/hostname以及它在启动时设置主机名的方式将由发行版的开发人员实现。可能是您的特定发行版和版本的开发人员决定实现RFC 1178

不要指望大小写能被保留。对于很多互联网软件来说,大写和小写字母看起来是一样的,通常人们认为这样做是为了帮你。将名称大写似乎很合适,就像在英语中一样,但惯例要求计算机名称全部小写。(而且这样可以节省按住 Shift 键的时间。)

此外,从技术角度来看,大写主机名的附加价值很小,因为 DNS 也不区分大小写(RFC 4343)。另外,很多人发现大写的主机名比小写的主机名更难读(原因与大写字母输入的文本比正确大写的文本更难阅读相同)。

相关内容