使用脚本修改centos主机名,在网上找了一个生成随机字符串的脚本,就是下面的#create random name这段。
修改完/etc/sysconfig/network里的hostname之后,还要用hostname命令修改当前的hostname,这样才能在第一次开机的时候就显示修改过的hostname。
#!/bin/bash
# chkconfig: - 85 15
# description: hostname_change
#config
HOSTNAME_PATH=/root/HOSTNAME
INIT_SHELL_NAME=hostname_change
#create random name
MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
LENGTH="5"
while [ "${n:=1}" -le "$LENGTH" ]
do
NAME="$NAME${MATRIX:$(($RANDOM%${#MATRIX})):1}"
let n+=1
done
#change hostname
name=$(cat $HOSTNAME_PATH)
if [ -n "$name" ]
then
new_hostname=$name;
else
new_hostname="host-${NAME}";
fi
sed -i "s/HOSTNAME=.*/HOSTNAME=$new_hostname/g" /etc/sysconfig/network
hostname $new_hostname
#del init sh
chkconfig --del $INIT_SHELL_NAME > /var/log/messages 2>&1
将改脚本放置在/etc/rc.d/init.d/目录下面,比如名字为change_hostname
赋上权限变成可执行脚本
chmod +x /etc/rc.d/init.d/change_hostname
加入开机启动
chkconfig --add change_hostname
chkconfig --level 2345 change_hostname on