相关命令: hostname
hostnamectl
hostname: 临时修改当前会话的主机名。使用hostname newname
命令修改主机名时,它只会改变当前会话的主机名,重启后会恢复原来的主机名。
hostnamectl: 是systemd
系统和服务管理器的一部分,它可以用于查看和修改系统的主机名。hostnamectl 可以修改静态主机名,这种修改会保存在 /etc/hostname 文件中,重启后不会丢失。
查看主机名
执行命令hostname
, 获得类似如下信息
或者,执行命令hostnamectl status
, 获取更加详细的信息
1
2
3
4
5
6
7
8
9
| Static hostname: 16004707-P5
Icon name: computer-container
Chassis: container
Machine ID: 054d74549xxxxxxxxxxxxx4da04b0746
Boot ID: 07b759c93xxxxxxxxxxxxx5f93511c25
Virtualization: wsl
Operating System: Ubuntu 22.04.3 LTS
Kernel: Linux 5.15.153.1-microsoft-standard-WSL2
Architecture: x86-64
|
修改主机名
永久修改主机名(立即生效,不需要重启系统)
1
2
3
4
5
6
| NEW_HOSTNAME='new-host'
# 修改hosts
sed -i "s/$(hostname)/${NEW_HOSTNAME}/g" /etc/hosts
hostnamectl set-hostname $NEW_HOSTNAME
|
虽然hostnamectl
命令可以使更改立即生效,但为了确保所有服务都识别新的主机名,建议重启系统。
验证
1
2
3
| cat /etc/hosts
hostnamectl status
|