![升级后,“hostname”结果与“/etc/hostname”不同](https://linux22.com/image/917697/%E5%8D%87%E7%BA%A7%E5%90%8E%EF%BC%8C%E2%80%9Chostname%E2%80%9D%E7%BB%93%E6%9E%9C%E4%B8%8E%E2%80%9C%2Fetc%2Fhostname%E2%80%9D%E4%B8%8D%E5%90%8C.png)
如果我在图形用户界面中打开终端窗口,hostname
命令结果与以下内容不同/etc/hostname
:
me@ZyXEL1:~$ hostname
ZyXEL1
me@ZyXEL1:~$ cat /etc/hostname
N4010
me@ZyXEL1:~$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 N4010
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
命令sudo
显示:
sudo: unable to resolve host ZyXEL1: No such file or directory
在 tty1、tty2 和...中,命令提示符me@N4010:~$
代替了错误的提示符:me@ZyXEL1:~$
,但sudo
结果与终端窗口相同:
me@N4010:~$sudo
sudo: unable to resolve host ZyXEL1: No such file or directory
答案1
通过搜索网络,我发现问题是由我的无线调制解调器/路由器引起的,因为它是 ZyXEL ADSL2+ 调制解调器/路由器。我不知道为什么以前没有发现过这个问题,但防止(至少在我的情况下)这种无人值守的主机名更改的解决方案是进行更改,/etc/dhcp/dhclient.conf
以便系统不hostname
从 DHCP 服务器(在无线调制解调器/路由器上运行)请求。
跑步
sudo nano /etc/dhcp/dhclient.conf
找到类似于以下命令的行并将其注释掉:
send host-name = gethostname()
然后找到一个request
要求的命令hostname
。它应该是类似于以下内容的一行:
request subnet-mask, broadcast-address, time-offset, routers,
request
在命令前面的参数列表中找到host-name
并删除它。