zoukankan      html  css  js  c++  java
  • Linux命令之hostname

    我使用过的Linux命令之hostname - 显示或设置主机名

    本文链接:http://codingstandards.iteye.com/blog/804648   (转载请注明出处)

    用途说明

    hostname命令可以用来显示或者设置主机名(show or set the system’s host name)。环境变量HOSTNAME也保存了当前的主机名。在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。某些依赖于系统主机名的软件,在修改主机名之后可能会出现问题,比如为mysql配置了同步复制时,修改主机名前最好先停止其运行(经验之谈,本人就因此折腾了很久)。

    常用参数

    不带参数时显示主机名。

    格式:hostname

    带上-i参数时显示ip地址。

    格式:hostname -i

    带上-f参数时显示全域名(FQDN,Fully Qualified Domain Name)。

    格式:hostname -f

    修改主机名时,后面跟上新的主机名即可。(注意此方法立即生效,但不会永久保存,详见后面的示例)。

    格式:hostname newhostname

    使用示例

    示例一 显示主机名

    [root@jfht ~]# hostname 
    jfht
    [root@jfht ~]# echo $HOSTNAME 
    jfht
    [root@jfht ~]# grep jfht /etc/hosts 
    127.0.0.1               jfht localhost.localdomain localhost

    注:这台机器的hosts设置有些问题的,应该另开一行设置ip fqdn hostname,比如192.168.1.191  jfht.xyz.com jfht。

    [root@jfht ~]# hostname -i 
    127.0.0.1       <== 由于/etc/hosts文件设置不够合理,所以显示回环地址(loopback 127.0.0.1) 。

    [root@jfht ~]# hostname -f 
    jfht               <== 由于/etc/hosts文件中没有设置FQDN,所以无法显示fqdn。 
    [root@jfht ~]# grep jfht /etc/sysconfig/network 
    HOSTNAME=jfht

    [root@jfht ~]# cat /proc/sys/kernel/hostname 
    jfht
    [root@jfht ~]#

    示例二 修改主机名

    现在演示一下将原来的主机名rhel55改成new55,并增加FQDN设置。

    [root@rhel55 ~]# hostname 
    rhel55
    [root@rhel55 ~]# hostname -i 
    127.0.0.1
    [root@rhel55 ~]# hostname -f 
    rhel55
    [root@rhel55 ~]# hostname new55 
    [root@rhel55 ~]# echo $HOSTNAME 
    rhel55
    [root@rhel55 ~]# hostname 
    new55
    [root@rhel55 ~]# vi /etc/hosts

    打开/etc/hosts,将

    127.0.0.1               rhel55 localhost.localdomain localhost

    改为

    127.0.0.1               localhost.localdomain localhost

    并增加一行

    192.168.6.55            new55.somedomain.com  new55

    [root@rhel55 ~]# vi /etc/sysconfig/network

    HOSTNAME=rhel55

    改成

    HOSTNAME=new55

     

    现在退出当前shell重新登录看看。

    [root@rhel55 ~]# exit 
    logout

    Last login: Sat Nov  6 17:00:08 2010 from 192.168.6.106
    [root@new55 ~]# echo $HOSTNAME 
    new55
    [root@new55 ~]# hostname 
    new55
    [root@new55 ~]# hostname -i 
    192.168.6.55
    [root@new55 ~]# hostname -f 
    new55.somedomain.com
    [root@new55 ~]# 

    重启一下Linux,然后再登录,可以看到主机名修改生效了。 
    [root@new55 ~]# reboot


    Last login: Sat Nov  6 17:10:08 2010 from 192.168.6.106
    [root@new55 ~]# echo $HOSTNAME 
    new55
    [root@new55 ~]# hostname 
    new55
    [root@new55 ~]# hostname -i 
    192.168.6.55
    [root@new55 ~]# hostname -f 
    new55.somedomain.com
    [root@new55 ~]#

     

    在此,总结一下修改主机名的方法:

    1. 停止与主机名相关的软件运行,比如mysql。

    2. 先使用 hostname newname 设置主机名。

    3. 在/etc/hosts中修改或增加 ip fqdn newname 行,并检查原来127.0.0.1行的设置。

    4. 在/etc/sysconfig/network中修改HOSTNAME=newname。

    5. 重新启动机器并确认是否修改成功。

    问题思考

    相关资料

    【1】cnblogs [Linux.Bash] 几个关于host name的配置文件和命令

    【2】互动百科 FQDN

    【3】百度空间 linux如何修改hostname(zz)

    【4】LinuxSir.Org Linux操作系统主机名(hostname)简说(v0.1b)

    【5】ChinaUnix 怎样修改Linux的hostname

    【6】robinwu的日志 Redhat Linux 修改主机名(HOSTNAME)

     

    返回 我使用过的Linux命令系列总目录

  • 相关阅读:
    第01组 Alpha冲刺(5/6)
    第01组 Alpha冲刺(4/6)
    第01组 Alpha冲刺(3/6)
    第01组 Alpha冲刺(2/6)
    第01组 Alpha冲刺(1/6)
    第01组(17)需求分析报告
    第01组(17)团队展示
    结对编程作业
    Leetcode 每日一题:1014. 最佳观光组合
    Leetcode13. 罗马数字转整数
  • 原文地址:https://www.cnblogs.com/jing1617/p/7375237.html
Copyright © 2011-2022 走看看