Keep on going, never give up.

Linux HostName修改设置

HostName是指为连接到网络的计算机所指定的一个标签,在网络通信中用于标识该主机,说来很简单,但是实际应用起来,跟其它几个词汇很容易搞混,比如ServerName、Host、DomainName等,本文归纳总结一下HostName概念,希望写完本文自己也能有个大概认识,本文不妨有理解错误,肯定各位指正。

HostName归根结底,不过是个Name名称而已,目的是避开复杂的、无意义的主机标识(比如,默认的Localhost,IP标识等),让标识更人性化,更易记。如要访问该主机则需要进行一次“名称-IP地址”转换。 所以,这个Name是面向网络使用的,单机没有必要,就像一个人的名字一样,隐居南山的人根本不要什么名字,但是出来办理暂住证、未婚证明、子女择校、购买菜刀则需要名字。

言归正传,首先我们需要搞厘清HostName跟ServerName、Host、DomainName、uname(RedHat)区别,然后再看看HostName格式是个什么样子的。

一、HostName概念理解

Linux(Redhat)上相关配置主机名相关的文件如下:

  • /etc/sysconfig/network
  • /etc/hosts
  • /proc/sys/kernel/hostname,Debian上是/etc/hostname

下面分别看看。

1、/etc/sysconfig/network

RedHat5.4内容如下:

  • NETWORKING=yes
  • NETWORKING_IPV6=no
  • HOSTNAME=localhost.localdomain

默认HostName是localhost.localdomain,一般相同类型、版本系统安装完成后的默认值都相同。实际应用需手动修改掉。

2、/etc/hosts

这个文件Linux和Windows都有,只供本机“向外访问”解析使用的,相当于本机的DNS,所以设置的所谓HostName其实并不能对外部生效。比如自己设置:

12.34.56.78 Gogo

执行ping Gogo会自动转向12.34.56.78,而别人的机子可能设置为:12.34.56.78 Yazi,则需要ping Yazi。

但是,/etc/rc.d/rc.sysinit启动初始化文件则会检查/etc/sysconfig/network的HostName,如果是默认值(Localhost或Localhost.localdomain),还会检查这个/etc/hosts是否设置了名称,如果设置了新的名称则会自动替换/etc/sysconfig/network。

3、/proc/sys/kernel/hostname

RedHat5.4上该文件则只有这么一句:

  • localhost.localdomain

所以默认这个名称跟/etc/sysconfig/network是相同的。相同的为什么还需要记在两个地方呢?(肯请网友指教),天缘理解是/proc/sys/kernel/hostname看名称是供内核使用的文件,可能只是的系统内核变量。而/etc/sysconfig/network则记录更多与网络有关的参数设置,比如上文的IPV6是否开启等。

二、如何查看和修改HostName

1、查看主机名称

查看HostName命令如下:

  • # uname -n
  • # hostname
  • # cat /proc/sys/kernel/hostname

2、修改主机名称

临时修改,重启丢失:

# hostname newhostname

临时修改立即生效。

永久修改HostName(假设设置主机名为ww.metsky.com):

# echo "HOSTNAME=ww.metsky.com" >> /etc/sysconfig/network
# hostname "ww.metsky.com"

上一句设置到文件永久修改,下一句临时修改,立即生效。这样修改后无需重启,因为临时修改和重启后配置相同。

三、HostName概念归纳

天缘写本文目的就是为了本节,厘清这些概念,尽管有些概念之间风马牛不相及,但是他们都是Name:

  • HostName —— 上文介绍
  • ServerName —— 站在Client角度去称呼HostName
  • Host —— 主机统称
  • DomainName —— 域名,就像www.Metsky.com,给所有人及访客使用,DNS负责解析映射到IP。
  • uname —— Linux显示系统信息命令,具体可使用uname --help 查看。

参考资料:

http://en.wikipedia.org/wiki/Hostname

更多文章:

Linux下如何卸载软件

Linux下重置MySQL ROOT密码

Linux下编译安装OpenSSH

在Linux上安装和使用xampp教程

Linux下C/C++编程访问MYSQL 

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.