Linux系统的hostname详述


本文以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地址
ivi. 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这个文本文件,RedHat的hostname就是在这个文件里设置。
暂时放下/etc/sysconfig/network配置方法,先了解不带参数的hostname和hostname -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
 功能介绍: 没有/etc/hosts的功能只是提供一个主机名, 它里面的hostname被/etc/rc.d/rc.sysinit读取
配置方法: 用vim打开network文件,更改HOSTNAME=NEWNAME; 这样hostname名就被改为newname了
 /etc/hosts: 它和网络相关的,相当于DNS,提供IP地址到hostname的对应
 配置方法: 用vim打开hosts文件,它的配置格式是: IP FQDN alias, 比如
127.0.0.1       localhost.localdomain   localhost       //请勿删除或修改,保留此配置
192.168.1.251  test.localdomain  test             //手动添加本机真实IP与主机名
其中IP=192.168.1.251, FQDN=test.localdomain, alias=test
注意: 一定要让配置文件network中的hostname和hosts中的alias以及FQDN的第一部分一致,否则hostname -a -f -d -i命令不能正常工作。出现故障如下:

#ping localhost
hostname: Unknown host

另外samba服务默认是使用netbios名称的,而不是主机名。但是在samba中如果你不指定netbios名称,则netbios名称就会使用你的主机名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值