hostname命令,修改主机名及host文件
Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。早期版本这个命令属于net-tool工具的一部分,现在由hostname程序完全提供。
———————————–
hostname
———————————–
cat /proc/sys/kernel/hostname
———————————–
上面两种输出结果相同。
修改运行时Linux系统的hostname,即不需要重启系统,运行后立即生效,但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的设置文件
一、命令格式:
hostname [参数]
参数:
-h 显示帮助文档
-V 显示命令版本
-v 显示详细执行过程
-a 显示主机别名
-d 显示主机dns域名
-F file 从文件读取
-f 显示完全格式的域名
-A 显示机器的全部FQDNs
-i 显示指定主机的ip地址
-I 显示主机所有的地址
-s 以短格式显示,仅显示从第一个点分开的部分
-y 显示nis域名
二、举例
1.临时修改:
———————————–
hostname newhostname
———————————–
2.永久修改,通过配置文件修改,系统重启后生效:
———————————–
vi /etc/sysconfig/network #CentOS系列发行版的配置文件,
NETWORKING=yes
HOSTNAME=hostname #在这修改把hostname的内容给成你的新主机名即可
———————————–
vi /etc/hostname #Debian系列发行版配置文件
hostname #在这修改把hostname的内容给成你的新主机名即可
———————————–
vi /etc/HOSTNAME #SUSE系列发行版配置文件
hostname #在这修改把hostname的内容给成你的新主机名即可
———————————–
3、设置FQDN
FQDN是Fully Qualified Domain Name的缩写, 含义是完整的域名. 例如, 一台机器主机名(hostname)是www, 域后缀(domain)是example.com, 那么该主机的FQDN应该是 www.example.com.另外, 其实FQDN最后是以”.”来结尾的, 但是大部分的应用和服务器都允许忽略最后这个点。
Linux允许用户通过hostname命令查看并设置主机名。 用户也可以通过hostname -f命令得到该主机的FQDN. 但是, 却没有直接设置FQDN的命令,可以通过 /etc/hostname + /etc/hosts组合进行设置
编辑 /etc/hosts,增加一行
————————————————–
172.0.0.1 hostname.example.com hostname #172.0.0.1为主机的ip地址,hostnamew为上面设置的主机名,example.com域名
————————————————–
退出ssh,再登陆,就应该生效。上面的方法Debian,SUSE,CentOS系列都适用
4、查看主机名
———————————–
[root@CentOS ~]# hostname
CentOS
———————————–
5、查看主机FQDN
———————————–
[root@CentOS ~]# hostname -f
CentOS.example.com
———————————–
三、host文件
hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。Debian,SUSE,CentOS系列都适用
Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc/hosts文件通常里面包含这一条记录
127.0.0.1 localhost.localdomain localhost
hosts文件格式是一行一条记录,分别是IP地址 hostname aliases,三者用空白字符分隔,aliases可选。
127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。
修改hostname后,如果想要在本机上用newhostname来访问,就必须在/etc/hosts文件里添加一条newhostname的记录。比如我的eth0的IP是192.168.1.61,我将hosts文件修改如下:
———————————–
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.61 CentOS.example.com CentOS
———————————–
这样,我就可以通过CentOS或者CentOS.example.com来访问本机。