Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看,本篇文章重点为大家讲解一下Linux下修改hostname具体实现方法。
查看当前的主机名
首先我们使用hostname命令来查看当前的主机名。
hostname1
也可以使用hostnamctl命令
hostnamectl1
方法1:修改配置文件
主机名保存在/etc/hostname文件里,所以我们可以打开这个文件,手动编辑主机名。
sudo nano /etc/hosts
12
把旧的主机名删除,替换为新的主机名,保存文件就行了。要注意大小写。
如果你不更新/etc/hosts文件,那么有的程序,如sudo,不知道如何解析新的主机名。
如果你在更改Linux服务器的主机名,那么新的主机名应该要解析为Linux服务器的公网IP。如果更改个人电脑的主机名,那么新的主机名应该解析为127.0.0.1,或者127.0.1.1。
127.0.1.1是Debian系Linux发行版解析本地主机的IP。Debian系统在安装时,如果计算机的IP是动态的,那么Debian安装程序会在/etc/hosts文件中创建127.0.1.1 这一条目。127.0.1.1地址使用loopback网卡,实际上127.0.0.0/8 (127.0.0.0 ~ 127.255.255.255)都使用loopback网卡。
方法2:hostnamectl命令
命令语法为:
sudo hostnamectl <span style="color: #4ec9b0;line-height: 26px">set</span>-hostname
12
这条命令会删除/etc/hostname文件中的主机名,然后替换为新的主机名。和第一种方法一样,我们也需要更新/etc/hosts文件。这两种方法的本质都是一样的。
方法3:hostname命令进行临时更改
如果只需要临时更改主机名,可以使用hostname命令。
sudo hostname
12
这条命令不会更改/etc/hostname文件中的静态主机名(static hostname),它更改的只是临时主机名(transient hostname)。所以重启计算机后会回到旧的主机名。
静态主机名保存在/etc/hostname文件中。