我使用过的Linux命令之hostname - 显示或设置主机名
我使用过的Linux命令之hostname - 显示或设置主机名
用途说明
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~]#grepjfht/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 -i127.0.0.1 <== 由于/etc/hosts文件设置不够合理,所以显示回环地址(loopback 127.0.0.1)。
[root@jfht ~]# hostname -f
jfht<==由于/etc/hosts文件中没有设置FQDN,所以无法显示fqdn。
[root@jfht~]#grepjfht/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~]#hostnamenew55
[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
Lastlogin:SatNov617:00:082010from192.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 ~]# rebootLastlogin:SatNov617:10:082010from192.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命令系列总目录