有關于Linux/Ubuntu修改主機名方法
1.臨時修改主機名
顯示主機名:
zhouhh@zzhh64:~$ hostname
zhh64
修改主機名:
zhouhh@zzhh64:~$ sudo hostname zzofs
zhouhh@zzhh64:~$ hostname
zzofs
看一下$PS1
zhouhh@zzhh64:~$ echo $PS1
/[/e]0;/u@/h: /w/a/]${debian_chroot:+($debian_chroot)}/u@/h:/w/$
@符號后面跟/h即主機名。
命令行前的提示符主機名怎么沒有更新呢?
重新打開一個終端,就看到更新了。
zhouhh@zzofs:~$
2.永久修改主機名
以上的修改只是臨時修改,重啟后就恢復原樣了。
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名令。
3. 其他修改方式
用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@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