Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140425
  • 博文数量: 16
  • 博客积分: 2059
  • 博客等级: 上尉
  • 技术积分: 285
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-29 09:52
文章分类

全部博文(16)

文章存档

2013年(8)

2012年(1)

2011年(1)

2010年(4)

2009年(1)

2008年(1)

分类: LINUX

2013-03-05 16:26:59

本文以CentOS6.3为例:

 

Linux中和hostname相关的有几个:

1.       系统中有HOSTNAME环境变量, 用命令echo $HOSTNAME会把hostname (主机名)显示出来

2.       还有一个hostname命令: 它有几个功能:

a)         查询主机名:

                         i.              hostname //显示主机名短格式,比如localhost;

                       ii.              hostname -f //显示主机名的长格式,带域名,比如:localhost.localdomain

                      iii.              hostname –d //显示域名,比如localdomain iv>. hostname –I //显示主机名对应的IP地址

                      iv.              hostname –a //显示主机别名(alias,hostname的输出结果一样, 比如localhost

                       v.              hostname –s //显示主机名的短格式,也就是从左边第一逗点前面部分,比如localhost.localdomain逗点前面就是localhost

b)         设置主机名: 用命令设置的主机名是暂时的,系统重新启动后,设置的主机名就会遗失。

                         i.              hostname newname //设置主机名为newname

3.       永久修改hostname

hostname修改的hostname是暂时的,如果想永久的修改hostname, 则必须修改相应的配置文件。

 

man hostname里有这么一句话,”The host name is usually set once at system startup in /etc/rc.d/rc.inet1 or /etc/init.d/boot (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname).”. CentOS中没有这句话举例说的hostname文件,而是由/etc/rc.d/rc.sysinit这个脚本负责设置系统的hostname,它读取/etc /sysconfig/network这个文本文件,RedHathostname就是在这个文件里设置。

 

暂时放下/etc/sysconfig/network配置方法,先了解不带参数的hostnamehostname -a –d –f, -i的区别: hostname是调用gethostname(2)函数,而hostname -a –d –f, -i 命令是调用gethostbyname(3)函数;gethostname(2)gethostbyname(3)的区别就是gethostbyname(3)的网络可知性,因此gethostbyname(3)函数需要询问/etc/nsswitch.conf/etc/host.conf文件来决定是从/etc/sysconfig/network配置文件里,还是从/etc/hosts配置文件里读取信息。

 

因此配置hostname有两个配置文件:

ü  /etc/sysconfig/network:没有/etc/hosts的功能只是提供一个主机名

n  功能介绍: 没有/etc/hosts的功能只是提供一个主机名, 它里面的hostname/etc/rc.d/rc.sysinit读取

n  配置方法: vim打开network文件,更改HOSTNAME=NEWNAME; 这样hostname名就被改为newname

ü  /etc/hosts:

n  它和网络相关的,相当于DNS,提供IP地址到hostname的对应

n  配置方法: vim打开hosts文件,它的配置格式是: IP FQDN alias, 比如192.168.1.1 localhost.localdomain localhost,其中IP=192.168.1.1 FQDN=localhost.localdomain, alias=localhost

 

注意: 一定要让配置文件network中的hostnamehosts中的alias以及FQDN的第一部分一致,否则hostname -a -f -d -i命令不能正常工作。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
本文参考了下面的文章

阅读(1542) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~