博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux hosts和hostname
阅读量:5789 次
发布时间:2019-06-18

本文共 3090 字,大约阅读时间需要 10 分钟。

hot3.png

首先要说明,hostname和hosts文件没有必然联系,有不明白的同学可以先自行查阅资料了解hostname和hosts文件的关系。这里简要说明一下。

在一个局域网中,每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,以便于以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为其命名。主机名相关的配置文件:/etc/hosts;

hosts 配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单

一般情况下hosts的内容关于主机名(Linux hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。

第一部份:网络IP地址;

第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如 localhost.localdomain

第三部份:主机名(主机名别名) ,其实就是主机名;

当然每行也可以是两部份,就是主机IP地址和主机名;比如 192.168.1.195 debian

 

hostname

在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Linuxidc)。

 

1.要查看主机名相关的设置:

[root ~]# hostnamectl  

  Static hostname: localhost.localdomain

        Icon name: computer

          Chassis: n/a

        Machine ID: 80a4fa4970614cf6be9597ecd6f097a9

          Boot ID: 28420e272e1847a583718262758bd0f7

    Virtualization: vmware

  Operating System: CentOS Linux 7 (Core)

      CPE OS Name: cpe:/o:centos:centos:7

            Kernel: Linux 3.10.0-123.el7.x86_64

      Architecture: x86_64

[root ~]# hostnamectl status

  Static hostname: localhost.localdomain

        Icon name: computer

          Chassis: n/a

        Machine ID: 80a4fa4970614cf6be9597ecd6f097a9

          Boot ID: 28420e272e1847a583718262758bd0f7

    Virtualization: vmware

  Operating System: CentOS Linux 7 (Core)

      CPE OS Name: cpe:/o:centos:centos:7

            Kernel: Linux 3.10.0-123.el7.x86_64

      Architecture: x86_64

2.只查看静态、瞬态或灵活主机名,分别使用“--static”,“--transient”或“--pretty”选项。

[root ~]# hostnamectl --static

localhost.localdomain

[root ~]# hostnamectl --transient

localhost.localdomain

[root ~]# hostnamectl --pretty

3.要同时修改所有三个主机名:静态、瞬态和灵活主机名:

[root@localhost ~]# hostnamectl set-hostname Linuxidc

[root@localhost ~]# hostnamectl --pretty

Linuxidc

[root@localhost ~]# hostnamectl --static

Linuxidc

[root@localhost ~]# hostnamectl --transient

Linuxidc

 

就像上面展示的那样,在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你每次在修改主机名后一定要手动更新/etc/hosts,之后再重启CentOS 7。否则系统再启动时会很慢。

4.手动更新/etc/hosts

vim /etc/hosts

127.0.0.1      Linuxidc  hunk_zhu

#127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain

::1        localhost localhost.localdomain localhost6 localhost6.localdomai

5.重启CentOS 7 之后(reboot -f ),

[root@Linuxidc ~]# hostname

Linuxidc

[root@hunk_zhu ~]# hostnamectl --transient 

Linuxidc

[root@hunk_zhu ~]# hostnamectl --static

Linuxidc

[root@hunk_zhu ~]# hostnamectl --pretty

Linuxidc

6.如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用“--static”,“--transient”或“--pretty”选项。

例如,要永久修改主机名,你可以修改静态主机名:

[root@localhost ~]# hostnamectl --static set-hostname Linuxidc

重启CentOS 7 之后(reboot -f ),

[root@Linuxidc ~]# hostnamectl --static

Linuxidc

[root@Hunk_zhu ~]# hostnamectl --transient

Linuxidc

[root@Hunk_zhu ~]# hostnamectl --pretty

Linuxidc

[root@Hunk_zhu ~]# hostname

其实,你不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示来观察新的静态主机名。

 

 

 

在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你每次在修改主机名后一定要手动更新/etc/hosts,之后再重启CentOS 7。否则系统再启动时会很慢。

 

 

红色部分没有测试过

转载于:https://my.oschina.net/u/218567/blog/1606970

你可能感兴趣的文章
信号量实现进程同步
查看>>
Spring4-自动装配Beans-通过构造函数参数的数据类型按属性自动装配Bean
查看>>
win10.64位wnmp-nginx1.14.0 + PHP 5. 6.36 + MySQL 5.5.59 环境配置搭建 结合Thinkphp3.2.3
查看>>
如何查看python selenium的api
查看>>
Python_Mix*random模块,time模块,sys模块,os模块
查看>>
iframe刷新问题
查看>>
数据解码互联网行业职位
查看>>
我所见的讲的最容易理解,逻辑最强的五层网络模型,来自大神阮一峰
查看>>
vue-cli项目打包需要修改的路径问题
查看>>
js实现复选框的操作-------Day41
查看>>
数据结构化与保存
查看>>
[SpringBoot] - 配置文件的多种形式及优先级
查看>>
chrome浏览器开发者工具之同步修改至本地
查看>>
debian7 + wheezy + chromium + flashplayer
查看>>
AOP
查看>>
进阶开发——文档,缓存,ip限速
查看>>
vue中子组件需调用父组件通过异步获取的数据
查看>>
uva 11468 - Substring(AC自己主动机+概率)
查看>>
Mysql 数据备份与恢复,用户创建,授权
查看>>
沉思录
查看>>