虚拟机Linux修改主机名教程
,最简便的方式是使用hostnamectl命令:打开终端,输入sudo hostnamectl set-hostname 新主机名即可永久生效,为确保本地网络解析正常,建议接着使用vim编辑/etc/hosts文件,将旧主机名替换为新名称,最后执行bash命令刷新或重新登录终端,即可在命令提示符中看到更新后的主机名,此方法适用于CentOS 7及Ubuntu等主流现代Linux发行版。
虚拟机Linux修改主机名完全指南:临时与永久生效的详细步骤
在使用VMware、VirtualBox等虚拟机安装Linux系统后,系统通常会默认生成一个类似 localhost.localdomain 或 ubuntu 的主机名,当我们在局域网中运行多台虚拟机,或者搭建集群环境(如Hadoop、K8s)时,相同的默认主机名会导致难以区分,甚至引发网络冲突。
修改虚拟机的主机名成了初始化系统的第一步,本文将以CentOS和Ubuntu为例,详细介绍在虚拟机Linux中修改主机名的几种常用方法。
查看当前主机名
在修改之前,我们可以通过以下命令查看当前的主机名:
hostnamehostnamectl status
临时修改主机名(重启后失效)
如果你只需要在短时间内更改主机名用于测试,可以使用临时修改方法,这种方式不会修改系统配置文件,重启虚拟机后会恢复为原来的主机名。
执行以下命令(将 new_hostname 替换为你想要的名字):
hostname new_hostname
执行完毕后,重新登录终端,你会发现提示符中的主机名已经改变,但请记住,这仅仅是临时的。
永久修改主机名(推荐)
现代Linux发行版(CentOS 7+、Ubuntu 16.04+ 等)默认都使用了 systemd 来管理系统,通过 hostnamectl 命令可以非常方便地永久修改主机名。
使用 hostnamectl 命令 执行以下命令即可永久修改:
sudo hostnamectl set-hostname new_hostname
这个命令会直接修改底层的配置文件,并且立刻生效,为了在当前终端窗口看到变化,你可以输入 bash 开启一个新的shell,或者重新连接虚拟机。
传统配置文件修改法(适用于老版本系统)
如果你的系统比较老旧,没有 hostnamectl 命令,可以通过直接编辑配置文件来实现永久修改:
-
CentOS / RedHat 系列: 编辑
/etc/sysconfig/network文件,找到HOSTNAME行进行修改:sudo vi /etc/sysconfig/network
修改为:
HOSTNAME=new_hostname -
Ubuntu / Debian 系列: 编辑
/etc/hostname文件,直接将里面的旧名字替换为新名字:sudo vi /etc/hostname
修改完配置文件后,需要重启虚拟机 sudo reboot 才能生效。
关键的一步:修改 hosts 映射(重要!)
很多新手在修改完主机名后,会发现执行 sudo 命令时变得非常卡顿,或者某些依赖主机名的服务(如数据库、集群组件)报警告,这是因为虽然主机名改了,但系统解析本地IP时找不到对应的新名字。
永久修改主机名后,务必同步修改 /etc/hosts 文件。
编辑 hosts 文件:
sudo vi /etc/hosts
在文件末尾添加一行,将你的新主机名映射到本地回环地址(或者你的静态IP):
0.0.1 new_hostname # 或者如果是静态IP集群环境,写上你的实际IP 192.168.x.x new_hostname
保存并退出。
验证修改结果
完成以上所有步骤后,可以通过以下命令验证是否修改成功:
hostname
如果输出的是你设置的新名字,并且在执行 sudo 命令时没有出现卡顿或 unable to resolve host 的报错,说明主机名修改已经完美完成。
在虚拟机Linux修改主机名,最简单且推荐的方法就是使用 hostnamectl set-hostname 新主机名,随后别忘了更新 /etc/hosts 文件,按照这个流程操作,不仅能规范管理你的虚拟机网络,也能避免后续安装各种集群软件时踩坑。

