Ubuntu 上的永久主机名更改

rga*_*ber 5 startup hostname 16.04

我已经成功更改了我的 Ubuntu 机器的主机名,但每当我重新启动它时,我都需要运行此命令以使用主机名访问它

sudo /etc/init.d/hostname.sh start
Run Code Online (Sandbox Code Playgroud)

这是我过去所做的更改:

# take care of "hostname" command and editing "/etc/hostname"
hostnamectl set-hostname <new.hostname>
# Edit "/etc/hosts"
127.0.1.1     <new.hostname>
Run Code Online (Sandbox Code Playgroud)

我怎样才能使它永久化?

小智 5

我按照[这些说明]进行操作,即使在重新启动机器后它仍然有效。

概括:

sudo hostname NEW_NAME_HERE
sudo nano /etc/hostname # change OLD_NAME by NEW_NAME
sudo nano /etc/hosts # change OLD_NAME by NEW_NAME
sudo systemctl restart systemd-logind.service
hostnamectl set-hostname NEW_NAME_HERE
Run Code Online (Sandbox Code Playgroud)

此外,您还应该在您的计算机上重新创建 ssh 密钥:

sudo rm /etc/ssh/ssh_host_*
sudo dpkg-reconfigure openssh-server
Run Code Online (Sandbox Code Playgroud)

以防万一,请检查 /etc 上旧主机名的引用并修复它:

sudo grep -R OLD_NAME /etc/ 2>/dev/null
Run Code Online (Sandbox Code Playgroud)


use*_*274 3

编辑文件/etc/hostname

man 5 hostname

它应该包含一个以换行符结尾的主机名字符串。

  • 正如我在问题中提到的,“hostnamectl set-hostname”负责处理这个问题。这里:http://manpages.ubuntu.com/manpages/trusty/man1/hostnamectl.1.html (2认同)