在Linux系统中,可以通过多种方式修改主机名。以下是几种常用的脚本方法:
#!/bin/bash
# 设置新主机名
NEW_HOSTNAME="new-hostname"
# 使用hostnamectl修改主机名
sudo hostnamectl set-hostname "$NEW_HOSTNAME"
# 验证修改
echo "当前主机名: $(hostname)"
#!/bin/bash
# 设置新主机名
NEW_HOSTNAME="new-hostname"
# 修改/etc/hostname文件
echo "$NEW_HOSTNAME" | sudo tee /etc/hostname > /dev/null
# 立即生效(不需要重启)
sudo hostname "$NEW_HOSTNAME"
# 验证修改
echo "当前主机名: $(hostname)"
#!/bin/bash
# 设置新主机名
NEW_HOSTNAME="new-hostname"
# 修改/etc/hostname
echo "$NEW_HOSTNAME" | sudo tee /etc/hostname > /dev/null
# 修改/etc/hosts文件中的旧主机名
OLD_HOSTNAME=$(hostname)
sudo sed -i "s/$OLD_HOSTNAME/$NEW_HOSTNAME/g" /etc/hosts
# 立即生效
sudo hostname "$NEW_HOSTNAME"
# 验证修改
echo "当前主机名: $(hostname)"
#!/bin/bash
# 设置新主机名
NEW_HOSTNAME="new-hostname"
# 修改/etc/sysconfig/network(适用于RHEL/CentOS 6等)
if [ -f /etc/sysconfig/network ]; then
sudo sed -i "s/HOSTNAME=.*/HOSTNAME=$NEW_HOSTNAME/" /etc/sysconfig/network
fi
# 修改/etc/hostname
echo "$NEW_HOSTNAME" | sudo tee /etc/hostname > /dev/null
# 修改/etc/hosts
OLD_HOSTNAME=$(hostname)
sudo sed -i "s/$OLD_HOSTNAME/$NEW_HOSTNAME/g" /etc/hosts
# 立即生效
sudo hostname "$NEW_HOSTNAME"
# 验证修改
echo "当前主机名: $(hostname)"
change_hostname.sh
chmod +x change_hostname.sh
sudo ./change_hostname.sh
选择哪种方法取决于你的Linux发行版和版本,现代Linux发行版推荐使用第一种hostnamectl
方法。