Linux修改hostname
檢視主機hostname的方式
shell> hostname rac4 shell> cat /proc/sys/kernel/hostname rac4 shell> cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=rac4
修改hostname
# 通過hostname命令修改hostname,立即生效但重啟後會失效 shell> hostname RAC3 同立即生效但重啟後會失效 shell> echo RAC3 > /proc/sys/kernel/hostname shell> sysctl kernel.hostname=RAC3 kernel.hostname = RAC3 # 通過network檔案中的hostname,重啟後生效 shell> vi /etc/sysconfig/network ==================================================== NETWORKING=yes HOSTNAME=RAC3 ==================================================== shell> shutdown -r now
hostname與/etc/hosts的關係
hosts檔案的作用相當如DNS,提供IP地址到hostname的對應。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的記錄。
more /etc/hosts 127.0.0.1 localhost localhost.localdomain 192.168.1.252 com.svoid svoid
這樣,就可以通過svoid或者com.svoid 來訪問本機。
從上面這些來看,/etc/hosts於設定hostname是沒直接關係的,僅僅當需要在本機上用新的hostname來訪問自己的時候才會用到/etc/hosts檔案,兩者沒有必然的聯絡。
但是如果預設hostname為 localhost 或 localhost.localdomain, 將會使用/etc/hosts中介面IP地址對應的 hostname 來重新設定系統的hostname。
問題重現
shell> more /etc/hosts 127.0.0.1 localhost localhost.localdomain 192.168.1.252 rac4 shell> more /etc/sysconfig/network #修改hostname NETWORKING=yes HOSTNAME=localhost shell> hostname localhost #修改hostname shell> shutdown -r now shell> hostname #重啟之後發現hostname沒變 rac4
檢視/etc/rc.d/rc.sysinit啟動指令碼
HOSTNAME=$(/bin/hostname) if [ -f /etc/sysconfig/network ]; then . /etc/sysconfig/network fi if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then HOSTNAME=localhost fi ipaddr= if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]; then ipaddr=$(ip addr show to 0.0.0.0/0 scope global | awk '/[[:space:]]inet / { print gensub("/.*","","g",$2) }') for ip in $ipaddr ; do HOSTNAME= eval $(ipcalc -h $ip 2>/dev/null) [ -n "$HOSTNAME" ] && { hostname ${HOSTNAME} ; break; } done fi
參考:
http://www.cnblogs.com/yuechaotian/archive/2013/02/20/2918175.html
http://www.cnblogs.com/kerrycode/p/3595724.html
整理自網路
Svoid
2015-04-03
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29733787/viewspace-1551858/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux 修改hosts檔案以及修改hostnameLinux
- linux CentOS6.x 修改主機名(Hostname)LinuxCentOS
- Ubuntu18.04 修改hostnameUbuntu
- centos7修改hostnameCentOS
- linux 配置hostnameLinux
- 新版本linux更新hostname的方法Linux
- Linux基礎命令—顯示主機名hostnameLinux
- Linux基礎命令---顯示主機名hostnameLinux
- location.hostname
- ubuntu 18.04 更改 hostnameUbuntu
- URL hostname 屬性
- anacond 或python3 報check_hostname requires server_hostname錯誤PythonUIServer
- Linux修改時間Linux
- Linux 修改時間Linux
- host=wwwtl555222com17008768000-HOSTNAME
- linux 修改swap空間Linux
- linux核心修改編譯Linux編譯
- linux下修改mtu值Linux
- Linux 修改 預設 shellLinux
- Linux修改IP永久生效Linux
- 在Linux中,linux核心引數如何修改?Linux
- 【Redis】錯誤:failed: Hostname must not be empty or nullRedisAINull
- java.lang.IllegalStateException: Service id not legal hostnameJavaException
- linux修改系統引數Linux
- Linux Ubuntu 修改網路卡名字LinuxUbuntu
- linux主機名的修改Linux
- Linux修改網路卡的名字Linux
- Linux rename命令批量修改檔名Linux
- 如何修改Linux的遠端埠Linux
- Linux系統修改ssh埠教程。Linux
- Linux 7 修改時區不生效Linux
- 簡單修改Linux主機名Linux
- 修改Kali Linux終端主題Linux
- 修改linux終端提示符Linux
- linux 檢視修改主機名Linux
- HTTPSConnection.__init__() got an unexpected keyword argument check_hostnameHTTPGo
- 使用vim修改linux中的檔案Linux
- Linux修改檔名命令是什麼?Linux
- 修改Kali Linux 2020.1主題顏色Linux