歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux系統的hostname淺談

Linux系統的hostname淺談   本文以CentOS6.3為例:    www.2cto.com   在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)         設置主機名: 用命令設置的主機名是暫時的,系統重新啟動後,設置的主機名就會遺失。  www.2cto.com                            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的功能只是提供一個主機名 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中的hostname和hosts中的alias以及FQDN的第一部分一致,否則hostname -a -f -d -i命令不能正常工作。  
Copyright © Linux教程網 All Rights Reserved