周海漢 /文
2010.2.3
我維護兩三個機房的數十台機器,開發用機器,運營用機器,自己工作機器也是ubuntu,有時開很多ssh,幹的還是同樣的事情,很容易搞混。所以需要一目了然的知道某台機器的情況,避免犯暈。這就需要修改主機名。預設安裝系統的主機名都是localhost,無法區分。
顯示主機名:
zhouhh@zzhh64:~$ hostname
zhh64
修改主機名:
zhouhh@zzhh64:~$ sudo hostname zzofs
zhouhh@zzhh64:~$ hostname
zzofs
看一下$ps1
zhouhh@zzhh64:~$ echo $ps1
\[\e]0;\u@\h: \w\a\]$\u@\h:\w\$
@符號後面跟\h即主機名。
命令行前的提示符主機名怎麼沒有更新呢?
重新開啟乙個終端,就看到更新了。
zhouhh@zzofs:~$
以上的修改只是臨時修改,重啟後就恢復原樣了。
redhat/centos上永久修改
[root@localhost ~]# cat /etc/sysconfig/network
networking=yes
hostname=localhost.localdomain
gateway=192.168.10.1
修改network的hostname項。點前面是主機名,點後面是網域名稱。沒有點就是主機名。
[root@localhost ~]# vi /etc/sysconfig/network
networking=yes
networking_ipv6=no
hostname=gdbk
這個是永久修改,重啟後生效。目前不知道怎麼立即生效。
想立即生效,可以同時採用第一種方法。
deb/ubuntu上修改:
hostname
localhost.localdomain
sudo vi /etc/hostname
在/etc/hostname裡面直接填上hostname
zhouhh@localhost:~$ cat /etc/hostname
zhh64
重啟後,提示符變成了。
zhouhh@zhh64:~$
如果不想重啟,則用hostname名令。
用sysctl 修改kernel.hostname
檢視:zhouhh@zhh64:~$ sysctl kernel.hostname
kernel.hostname = zhh64
修改:zhouhh@zhh64:~$ sudo sysctl kernel.hostname=zzh
kernel.hostname = zzh
重新開啟shell就變成如下hostname了zhh
zhouhh@zzh:~$
一些網路文章中提出修改主機名還需修改hosts檔案,其實hosts檔案和主機名修改無關。
cat /etc/hosts
127.0.0.1 localhost
192.168.11.116 zhh64
192.168.12.14 centdev
# the following lines are desirable for ipv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
hosts檔案是配本地主機名/網域名稱解析的。
如我本機ip是192.168.11.116名字是zhh64.就可以直接訪問主機名。
zhouhh@zhh64:~$ ping zhh64
ping zhh64 (192.168.11.116) 56(84) bytes of data.
64 bytes from zhh64 (192.168.11.116): icmp_seq=1 ttl=64 time=0.077 ms
zhouhh@zhh64:~$ ping centdev
ping centdev (192.168.12.14) 56(84) bytes of data.
64 bytes from centdev (192.168.12.14): icmp_seq=1 ttl=63 time=0.726 ms
如果是小型區域網,就可以將hosts檔案機器配全了,拷貝到每個機器,然後在ssh訪問時用主機名直接訪問。
zhouhh@zhh64:~$ ssh centdev
zhouhh@centdev's password:
last login: wed feb 3 10:03:09 2010 from 192.168.11.116
[zhouhh@centdev ~]$
[zhouhh@centdev ~]$ ifconfig eth0 | grep inet
inet addr:192.168.12.14 bcast:192.168.12.255 mask:255.255.255.0
inet6 addr: fe80::21e:c9ff:fe57:2575/64 scope:link
Linux如何修改主機名
1 以root使用者登入,然後輸入hostname,可以看到當前登入主機名為localhost.localdomain 2 更改 etc sysconfig下的network檔案,在提示符下輸入vi etc sysconfig network,然後將hostname後面的值改為想要設定的主機名 3 ...
Linux 如何修改 Linux 主機名
該方法適用於安裝了 linux 系統的raspberry pi cubieboard。在終端執行 sudo vi etc hosts 你看到的 hosts 檔案應該是這樣的 1 127.0.0.1 localhost 2 1 localhost ip6 localhost ip6 loopback ...
Linux 如何修改 Linux 主機名
該方法適用於安裝了 linux 系統的raspberry pi cubieboard。在終端執行 sudo vi etc hosts 你看到的 hosts 檔案應該是這樣的 1 127.0.0.1 localhost 2 1 localhost ip6 localhost ip6 loopback ...