在 Ubuntu 中,您可以通过多种方式使用脚本来设置主机名。以下是几种常用的方法:
hostnamectl 命令hostnamectl 是一个用于控制 systemd 的命令行工具,可以用来设置和更改系统主机名。
#!/bin/bash
# 设置新的主机名
NEW_HOSTNAME="your-new-hostname"
# 使用 hostnamectl 设置主机名
sudo hostnamectl set-hostname "$NEW_HOSTNAME"
# 重新加载 systemd-resolved 配置(如果需要)
sudo systemctl restart systemd-resolved
echo "主机名已更改为 $NEW_HOSTNAME"
将上述脚本保存为 set_hostname.sh,然后通过以下命令运行:
chmod +x set_hostname.sh
sudo ./set_hostname.sh
/etc/hostname 和 /etc/hosts您也可以手动编辑 /etc/hostname 文件来更改主机名,并更新 /etc/hosts 文件中的相应条目。
#!/bin/bash
# 设置新的主机名
NEW_HOSTNAME="your-new-hostname"
# 备份原始的 /etc/hostname 文件
sudo cp /etc/hostname /etc/hostname.bak
# 写入新的主机名到 /etc/hostname
echo "$NEW_HOSTNAME" | sudo tee /etc/hostname
# 更新 /etc/hosts 文件
sudo sed -i "s/^127.0.0.1.*$/127.0.0.1\t$NEW_HOSTNAME/" /etc/hosts
echo "主机名已更改为 $NEW_HOSTNAME"
同样,将这个脚本保存为 set_hostname.sh,然后执行:
chmod +x set_hostname.sh
sudo ./set_hostname.sh
nmcli 命令(适用于 NetworkManager)如果您使用的是 NetworkManager,可以使用 nmcli 来设置主机名:
#!/bin/bash
# 设置新的主机名
NEW_HOSTNAME="your-new-hostname"
# 使用 nmcli 设置主机名
sudo nmcli general hostname "$NEW_HOSTNAME"
echo "主机名已更改为 $NEW_HOSTNAME"
保存为 set_hostname.sh 并执行:
chmod +x set_hostname.sh
sudo ./set_hostname.sh
以上方法均需使用 sudo 权限来执行,因为修改主机名是一个需要管理员权限的操作。