在Linux系统中修改主机名可以通过多种方式实现,以下是几种常用的脚本方法:
#!/bin/bash
# 设置新的主机名
NEW_HOSTNAME="new-hostname"
# 使用hostnamectl命令修改(适用于systemd系统)
sudo hostnamectl set-hostname "$NEW_HOSTNAME"
# 更新/etc/hosts文件(可选)
sudo sed -i "s/^127.0.1.1.*/127.0.1.1\t$NEW_HOSTNAME/" /etc/hosts
echo "主机名已修改为: $NEW_HOSTNAME"
#!/bin/bash
NEW_HOSTNAME="new-hostname"
# 修改/etc/hostname文件
echo "$NEW_HOSTNAME" | sudo tee /etc/hostname > /dev/null
# 更新/etc/hosts文件
sudo sed -i "s/^127.0.1.1.*/127.0.1.1\t$NEW_HOSTNAME/" /etc/hosts
# 立即生效(不需要重启)
sudo hostname "$NEW_HOSTNAME"
echo "主机名已修改为: $NEW_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和/etc/hosts
echo "$NEW_HOSTNAME" | sudo tee /etc/hostname > /dev/null
sudo sed -i "s/^127.0.1.1.*/127.0.1.1\t$NEW_HOSTNAME/" /etc/hosts
# 立即生效
sudo hostname "$NEW_HOSTNAME"
echo "主机名已修改为: $NEW_HOSTNAME"
change_hostname.sh
chmod +x change_hostname.sh
sudo ./change_hostname.sh
/etc/hosts
文件中127.0.1.1对应的条目修改后可以使用以下命令验证:
hostname
hostnamectl
uname -n
这些命令都应该显示新的主机名。