在Linux系统中,主机名(hostname)的命名需要遵循一定的规则以确保兼容性和网络功能的正常运作。以下是详细的规则和注意事项:
a-z, A-Z)、数字(0-9)、连字符(-)。_)、特殊符号(如@#$%^&*()等)。-)或数字(如-host或123host无效)。如果主机名作为完全限定域名(FQDN,如 host.example.com)的一部分:
- 点号(.)分隔标签,每段遵循上述规则。
- 总长度不超过 253字符(包括分隔符)。
- 顶级域(如.com)不能全是数字。
hostnamectl或hostname命令)可能对输入有额外校验。hostname)可能不支持长主机名。web01、db-prod)。localhost)。role-region-number)。sudo hostname "new-hostname" # 立即生效
hostnamectl(Systemd系统推荐):
bash
sudo hostnamectl set-hostname "new-hostname"/etc/hostname(Debian/Ubuntu/RHEL等)。/etc/hosts(确保包含 127.0.1.1 new-hostname)。hostname # 显示当前主机名
hostnamectl status # 查看详细信息
bash
sudo hostnamectl set-hostname "web_01" # 错误:下划线非法bash
sudo hostnamectl set-hostname "this-is-a-very-long-hostname-exceeding-the-63-character-limit-test" # 可能被截断遵循这些规则可避免DNS解析、网络服务或应用程序(如Apache、Postfix)的兼容性问题。如有疑问,建议测试后再应用到生产环境。