升级后,“hostname”结果与“/etc/hostname”不同

升级后,“hostname”结果与“/etc/hostname”不同

如果我在图形用户界面中打开终端窗口,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并删除它。

相关内容