CentOS 7主机名修改与查看命令详述

CentOS 6中,修改主机名方式很简单,临时修改主机名使用hostname命令,永久修改主机名直接写进文件/etc/sysconfig/network中即可。

但在CentOS 7中,主机名就没那么简单了,它涉及了一些弯弯绕绕。

在CentOS 7中,主机名分3类:static(静态主机名)、pretty(好看、易读的主机名)和transient(短暂临时的)。CentOS 7中和主机名有关的文件为/etc/hostname,它是在系统初始化的时候被读取的,并且内核根据它的内容设置transient主机名。

其中:
1.static类的主机名就是我们常说的主机名,由/etc/hostname文件决定。
2.transient类的主机名也就是我们常说的临时主机名,它是由内核动态维护的主机名。默认在系统启动的时候会根据/etc/hostname文件中的静态主机名进行初始化。
3.pretty类的主机名是给人看的,它可以提供非标准的主机名,以前版本(例如CentOS 6)没有这功能。它可以包含特殊符号,例如空格。例如将pretty名称命为"MaYun's Host",这种名称在以前的主机名(即static类主机名)里是不允许存在的。

/etc/hostname文件中的static主机名是瞬时生效的,也是永久生效的。修改后使用hostname命令或者uname -n直接就可以读取,重启后也按照此文件的主机名进行初始化。

/etc/hostname文件没有主机名的时候,在系统启动的时候,内核会将transient初始化为localhost.localdomain。

/etc/sysconfig/network文件已经失效。

CentOS 7主机名修改、查看
1.使用hostname命令修改主机名,它修改是transient主机名,即临时生效的主机名。
2.直接修改/etc/hostname文件,它瞬时生效,重启后也生效(因为内核会根据它初始化transient主机名)。
3.使用nmtui命令在图形化界面修改主机名。它会直接修改/etc/hostname文件,因此也是瞬时生效+永久生效的。
4.使用hostnamectl命令。它可以修改并查看static、transient或pretty三种主机名。当它修改了static主机名时,会直接写入/etc/hostname文件中,因此它也是瞬时生效+永久生效的。

hostnamectl命令

1.查看主机名
hostnamectl
#或
hostnamectl status
#或
hostnamectl [--pretty|--static|--transient] status

例如,当前主机名为"linuxidc.longshuai.com"。
[root@linuxidc ~]# uname -n
linuxidc.longshuai.com
[root@linuxidc ~]# hostname name1
[root@linuxidc ~]# hostnamectl
  Static hostname: linuxidc.longshuai.com
Transient hostname: name1
        Icon name: computer-vm
          Chassis: vm
        Machine ID: d13bce5e247540a5b5886f2bf8aabb35
          Boot ID: d34a4222469e4f1cbe20c27aca174e10
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
      CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.el7.x86_64
      Architecture: x86-64

可以看到使用hostname命令修改主机名后,transient已经改变了。

2.同时修改3种主机名

当同时修改了pretty和(static | transient)中的一种时,将取pretty名的简化部分作为static主机名。
hostnamectl set-hostname NAME

例如:
[root@linuxidc ~]# hostnamectl set-hostname name2
[root@linuxidc ~]# hostname
name2
[root@linuxidc ~]# cat /etc/hostname
name2
[root@linuxidc ~]# hostnamectl status
  Static hostname: name2
        Icon name: computer-vm
          Chassis: vm
        Machine ID: d13bce5e247540a5b5886f2bf8aabb35
          Boot ID: d34a4222469e4f1cbe20c27aca174e10
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
      CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.el7.x86_64
      Architecture: x86-64
[root@linuxidc ~]# hostnamectl  --pretty

[root@linuxidc ~]#

可以从结果中看到,只改变了static和transient(内核动态维护的,一定会改变),而pretty却没设置成功。这是因为这里给出的主机名"name2"是一个符合主机名标准的名称。如果指定一个非标准的主机名,例如包含特殊符号,那么也会设置pretty。

例如:
[root@linuxidc ~]# hostnamectl set-hostname "name22 name22"
[root@linuxidc ~]# hostnamectl
  Static hostname: name22name22
  Pretty hostname: name22 name22
        Icon name: computer-vm
          Chassis: vm
        Machine ID: d13bce5e247540a5b5886f2bf8aabb35
          Boot ID: d34a4222469e4f1cbe20c27aca174e10
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
      CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.el7.x86_64
      Architecture: x86-64

pretty hostname已经改变,且static hostname是它的"简化版"。

3.修改某种类型的主机名
hostnamectl set-name NAME --static
hostnamectl set-name NAME --transient
hostnamectl set-name NAME --pretty

用法如上面的例子。

4.同时修改其中两种名称。
hostnamectl set-name NAME --static --transient
hostnamectl set-name NAME --static --pretty
hostnamectl set-name NAME --transient --pretty

用法如上面的例子。但同样注意,当修改了pretty主机名和其他一种时,将取pretty的"简化版"。

5.修改、查看远程主机的主机名,使用"-H"或"--host"选项。连接基于SSH。

注意,无法远程修改CentOS 5或6主机名,因为它使用的是systemd类的命令进行修改的。
hostnamectl -H [USER@]HOST set-hostname NAME
hostnamectl -H [USER@]HOST status

例如,使用root用户连接到192.168.100.59主机上并修改它的主机名。
hostnamectl -H root@192.168.100.59 set-hostname hello59
hostnamectl -H root@192.168.100.59 status

更多CentOS相关信息见CentOS 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-03/151464.htm

(0)

相关推荐

  • CentOS-7-x86_64-DVD-1511.iso 安装

    一.CentOS 7 虚拟机安装 1.1.创建虚拟机 打开VMware,[文件]–>[新建虚拟机] 配置类型: 自定义[高级] 默认即可 这里我们先选择稍后安装操作系统 选择默认即可 自定义虚拟 ...

  • CentOS7修改主机名的三种方法

    CentOS7修改主机名的三种方法 在CentOS7中,有三种定义的主机名:   静态的(Static hostname) "静态"主机名也称为内核主机名,是系统在启动时从/etc ...

  • PXE+Kickstart无人值守安装CentOS 7

    本文目录: 1.1 PXE说明 1.2 PXE流程 1.3 部署环境说明 1.4 部署DHCP服务 1.5 部署FTP 1.6 提供pxe的boot loader和相关配置文件 1.7 从安装镜像中获 ...

  • centos7 修改主机名(hostnamectl)

    hostnamectl 是在 centos7 中新增加的命令,它是用来修改主机名称的,centos7 修改主机名称会比以往容易许多. 用法 # hostnamectl -h -h --help 显示帮 ...

  • MySQL修改数据表名和表字段命令行

    有时候我们有需要更改数据表名和表字段,那么通过什么命令行更改数据表的名称,表的字段更改,增加 ,删除,下面详细说说操作数据表的方法 1,修改表的名称命令行 ALTER TABLE table_name ...

  • Linux下文件搜索、查找、查看命令

    Linux下文件搜索、查找、查看命令

  • H3C设备修改wifi密码命令行

    <WX2540H-AC-XAZL>sys      # 进入无线控制器telnet控制台.进入管理模式 System View: return to User View with Ctrl ...

  • 【Linux笔记】文本文件查看命令

    我们要查看一些文本文件的内容时,要使用文本编辑器来查看.在Linux下,可以使用一些命令预览文本文件中的内容,而不必使用文本编辑器打开查看.这篇笔记分享几个常用的文本查看命令.分别是: cat:从第一 ...

  • Linux问题记录——主机名变成了bogon

    摘要:本文主要记录了主机名变成bogon的原因以及解决办法. 问题重现 主机名在一次登录后,变成了bogon,此后每次登录Linux系统时都是bogon. 1 Connecting to 192.16 ...

  • centos和rhel中软件包管理常用命令

    软件包管理的常用命令  rpm软件包的管理  查询类: rpm  -q 软件包的查询: rpm  -q  软件包的名字   //你的记住软件包完整名字 模糊查询:rpm  -qa  |  grep   ...

  • Linux学习--3.命令及查看命令帮助

    命令及查看命令的详细使用 前言: 通过这篇图文,读者可以了解 Linux 里命令的外表和本质,及如何利用 linux 自带的帮助说明来自学一个自己没用过的命令. 自学要求:有点英语基础最好,这个等下看 ...