插件窝 干货文章 Linux系统主机名怎么修改

Linux系统主机名怎么修改

主机 hostname 修改 hostnamectl 894    来源:    2025-04-22

在Linux系统中修改主机名可以通过以下几种方法实现,具体步骤取决于你的Linux发行版和使用的初始化系统(如systemd、SysVinit等):


方法1:使用 hostnamectl 命令(推荐,适用于systemd系统)

大多数现代Linux发行版(如Ubuntu 16.04+、CentOS 7+、Debian 9+等)使用systemd,可以通过hostnamectl命令修改:

# 查看当前主机名
hostnamectl

# 修改静态主机名(永久生效)
sudo hostnamectl set-hostname 新主机名

# 可选:同时修改漂亮主机名(Pretty Hostname)
sudo hostnamectl set-hostname "新主机名" --pretty

# 重启生效(或重新登录)
sudo reboot

方法2:直接修改 /etc/hostname 文件

适用于所有Linux发行版:

# 编辑主机名文件
sudo vim /etc/hostname  # 或使用nano等编辑器

# 删除旧主机名,写入新主机名,保存后退出
新主机名

# 更新运行时的系统主机名(临时生效)
sudo hostname 新主机名

# 永久生效需重启
sudo reboot

方法3:修改 /etc/hosts 文件

为避免网络或服务解析问题,需同步更新/etc/hosts中的记录:

sudo vim /etc/hosts

# 将旧主机名替换为新主机名,例如:
127.0.0.1   localhost
127.0.1.1   新主机名  # 确保这一行指向新主机名

方法4:使用 nmcli(NetworkManager用户)

如果系统使用NetworkManager管理网络:

# 修改主机名
sudo nmcli general hostname 新主机名

# 重启NetworkManager
sudo systemctl restart NetworkManager

验证修改

hostname           # 查看当前运行时主机名
hostnamectl        # 查看详细主机名状态
cat /etc/hostname  # 验证配置文件

注意事项

  1. 兼容性

    • 旧版系统(如CentOS 6)可能需要修改/etc/sysconfig/network文件。
    • 非systemd系统使用/etc/hostname + hostname命令即可。
  2. 服务依赖
    某些服务(如SSH、Apache)可能依赖主机名,修改后建议重启相关服务。

  3. 网络环境
    如果主机名用于网络标识(如域名解析),需确保DNS或/etc/hosts配置同步更新。


通过以上任一方法均可完成主机名修改,推荐优先使用hostnamectl(systemd系统)或直接编辑/etc/hostname(通用方法)。