zoukankan      html  css  js  c++  java
  • centos7怎么永久修改hosname

     centos7怎么永久修改hosname

    其实,一般来说安装好虚拟机之后,一般都会进行修改hostname,之前也是在修改的时候,遇到过问题,但是没有深究,今天在修改的时候,好好研究了一下,之前看到好多网上的资料都在讲同时修改/etc/hosts和/etc/sysconfig/network,重启之后可生效,但是centos7,这样做确实不行,如下图:

     其实临时修改hosts的网上找一下一大堆,在这也就不再赘述,那永久应该怎么做呢?就是用这个命令hostnamectl set-hostname name ,重启后也不会失效。于是就在网上趴了一下。

    有篇文章介绍的比较好,有几个关键点:

    1、hostname是Linux系统下的一个内核参数,它保存在/proc/sys/kernel/hostname下,但是它的值是Linux启动时从rc.sysinit读取的。

    2、/etc/sysconfig/network 确实是hostname的配置文件,hostname的值跟该配置文件中的HOSTNAME有一定的关联关系,但是没有必然关系,hostname的值来自内核参数/proc/sys/kernel/hostname,如果我通过命令sysctl kernel.hostname=Test修改了内核参数,那么hostname就变为了Test了(重启后失效)。

    3、hostname跟/etc/hosts下的配置是没有关系的。hostname的修改、变更完全不依赖hosts文件。 其实hosts文件的作用相当如DNS,提供IP地址到hostname的对应。Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。

    4、hostname也不是说跟/etc/hosts一点关系都没有。在/etc/rc.d/rc.sysinit中,有如下逻辑判断,当hostname为localhost后localhost.localdomain时,将会使用接口IP地址对应的hostname来重新设置系统的hostname。

    具体可参考http://www.cnblogs.com/kerrycode/p/3595724.html

    其实我是有个疑惑,就是同时修改/etc/hosts和/etc/sysconfig/network,改完之后我就没有管,前后重启过算是n多次,等到再看的时候,在命令行敲hostname,它确实是变了的,如下图:

     内核里面的也是修改了,但是用hostnamectl看的时候,它是transient,也就是短暂的,这是个比较疑惑的地方,欢迎有人指点一下。

  • 相关阅读:
    修复 Visual Studio Error “No exports were found that match the constraint”
    RabbitMQ Config
    Entity Framework Extended Library
    Navisworks API 简单二次开发 (自定义工具条)
    NavisWorks Api 简单使用与Gantt
    SQL SERVER 竖表变成横表
    SQL SERVER 多数据导入
    Devexpress GridControl.Export
    mongo DB for C#
    Devexress XPO xpPageSelector 使用
  • 原文地址:https://www.cnblogs.com/qstudy/p/9181040.html
Copyright © 2011-2022 走看看