临时修改主机名(重启失效)
适用于测试环境,使用hostname
命令立即生效:
sudo hostname new-hostname # 将"new-hostname"替换为实际名称
验证:
hostname # 输出当前生效的主机名
永久修改主机名(主流方法)
方法1:使用 hostnamectl
(推荐)
适用于 systemd 系统(Ubuntu 16.04+/CentOS 7+):
sudo hostnamectl set-hostname new-hostname
生效:
无需重启,新会话中立即生效(当前终端可能需重连)。
方法2:修改配置文件
适用于所有Linux发行版:
- 编辑
/etc/hostname
文件:sudo nano /etc/hostname # 删除旧名称,写入新主机名
- 更新
/etc/hosts
文件(关键步骤!):sudo nano /etc/hosts
将
0.0.1
和::1
对应的旧主机名替换为新名称,0.0.1 localhost new-hostname ::1 localhost new-hostname
- 重启系统使更改完全生效:
sudo reboot
验证修改结果
hostnamectl # 查看静态主机名(Static hostname) hostname # 检查瞬态主机名(当前生效名称) cat /etc/hostname # 确认配置文件
关键注意事项
- 权限要求:所有操作需
root
或sudo
权限。 - 网络影响:
- 若主机加入域(如AD/LDAP),需同步更新域记录。
- 服务如Apache、Postfix依赖主机名,修改后需重启相关服务。
- 符号限制:
主机名仅允许字母、数字、连字符(),不能含空格、下划线或特殊符号(如)。 - 系统兼容性:
- 旧版系统(如CentOS 6)需使用
sysctl kernel.hostname=new-hostname
。 - 图形界面工具(如
nmtui
)也可修改,但底层原理同上。
- 旧版系统(如CentOS 6)需使用
为什么需要修改主机名?
- 设备标识:在多节点集群(如Kubernetes)中区分主机。
- 网络管理:简化SSH连接、日志追踪和监控。
- 安全合规:隐藏默认名称(如
localhost
)减少攻击面。
引用说明:本文方法参考Linux官方文档(kernel.org)及
systemd
手册(freedesktop.org),确保操作符合POSIX标准,实际效果可能因发行版小版本差异略有不同,建议结合厂商文档操作。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4904.html