/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)。另外,很多人发现大写的主机名比小写的主机名更难读(原因与大写字母输入的文本比正确大写的文本更难阅读相同)。