CentOS 6/7修改主机名hostname

时间:2022-06-01 19:24:35

CentOS 7

 RHEL 7新增了hostnamectl命令,基于RHEL 7的CentOS 7相应的可以使用hostnamectl来修改主机名。

hostnamectl把主机名分为以下三种:

静态主机名:hostnamectl用来在系统启动时初始化内核的主机名。
瞬态主机名:由DHCP等一些系统临时分配的主机名,如果系统存在静态主机名且有效,则不会用到瞬态主机名。
pretty主机名:静态和瞬态主机名都是要符合域名的字符串,而pretty主机名则可以包含其他一些特殊字符。

查看主机名

使用hostnamectl或hostnamectl status查看主机信息

[root@myhostname ~]# hostnamectl
  Static hostname: myhostname
Transient hostname: transientName
     Icon name: computer-vm
      Chassis: vm
    Machine ID: xxxxxxxx
      Boot ID: xxxxxxxx
  Virtualization: kvm
 Operating System: CentOS Linux 7 (Core)
    CPE OS Name: cpe:/o:centos:centos:7
      Kernel: Linux 3.10.0-693.2.2.el7.x86_64
   Architecture: x86-64

设置主机名

使用hostnamectl的set-hostname命令设置主机名。

[root@myhostname ~]# hostnamectl set-hostname test
[root@myhostname ~]# hostnamectl
  Static hostname: test
     Icon name: computer-vm
      Chassis: vm
    Machine ID: xxxxxxxx
      Boot ID: xxxxxxxx
  Virtualization: kvm
 Operating System: CentOS Linux 7 (Core)
    CPE OS Name: cpe:/o:centos:centos:7
      Kernel: Linux 3.10.0-693.2.2.el7.x86_64
   Architecture: x86-64

对比两次的hostname,使用hostnamectl set-hostname test后,Transient hostname已被删除。

注意到hostname设置为test后,终端提示还是root@myhostname,退出重新登录即会显示新的hostname。

设置瞬态主机名

hostnamectl set-hostname --transient transientName

设置静态主机

hostnamectl set-hostname --static  staticName

单独设置静态主机名,设置静态主机名为永久修改主机名,重启机器不会影响。

设置静态主机名实际是会修改/etc/hostname文件的主机名,系统重启时会读取/etc/hostname来初始化内核主机名。

设置pretty主机名

hostnamectl set-hostname --pretty prettyName

CentOS 6

永久修改主机名

CentOS 6永久修改主机名需要修改两个文件/etc/sysconfig/network和/etc/hosts。

/etc/sysconfig/network修改HOSTNAME的值

HOSTNAME=myNewHostName

为了避免出现一些其他问题,修改/etc/hosts里的hostname。

修改后重启服务器reboot。

运行时修改主机名

使用hostname命令可以在不重启主机的情况下修改主机名。

hostname newhostname

重启机器后,主机名会重新变为原来的主机名。