参考:https://cobbler.github.io/manuals/2.6.0/3/1/3_-_Systems.html
cobbler自动化安装系统无法修改centos7的主机名问题_第1张图片
我添加了一个centos7.4的系统镜像,然后绑定了mac地址,并且设置了hostname,但是发现系统可以安装,但是hostname无法设置,经过查看资料,发现centos7使用/etc/hostname或者使用hostnamectl set-hostname xxx 来修改主机名,但是cobbler的hostname 还是在操作/etc/sysconfig/network,这个文件在centos7依然存储,但是是空文件,我试过添加HOSTNAME=XXXX在这个文件里面,重启依然没有修改主机名,可见centos7,cobbler的--hostname修改主机名是有问题的。既然cobbler自身修改不了,那就用脚本修改吧。
cobbler system edit --name=centos7-LA-SERVER-24-70 --mac=00:50:56:8a:d7:a3 --profile=centos7.4_x86_64 --ip-address=10.10.24.70 --subnet=255.255.255.0 --gateway=10.10.24.1 --interface=eth0 --static=1 --hostname=centos7-24-70 --name-servers="10.10.24.2"

脚本:

#[root@dns1 html]# cat change_hostname7.sh
#!/bin/sh
IPADDR=$(/sbin/ifconfig eth0|grep -w 'inet'|awk '{print $2}')
if [[ $IPADDR == 10.10.24.70 ]];then
echo "change hostname to LA-CEN-TOM-JT-24-17"
echo "LA-CEN-TOM-JT-24-70">/etc/hostname
hostnamectl set-hostname LA-CEN-TOM-JT-24-70
elif [[ $IPADDR == 10.10.24.18 ]];
then
hostnamectl set-hostname "LA-RED-TOM-JT-24-18"
elif [[ $IPADDR == 10.10.24.88 ]];
then
hostnamectl set-hostname "LA-RED-REDIS-JT-24-88"
elif [[ $IPADDR == 10.10.24.89 ]];
then
hostnamectl set-hostname "LA-RED-RABBIT-JT-24-89"
elif [[ $IPADDR == 10.10.24.87 ]];
then
hostnamectl set-hostname "LA-NGINX-TOM-JT-24-87"
elif [[ $IPADDR == 10.10.24.86 ]];
then
hostnamectl set-hostname "LA-RED-TOM2-JT-24-86"
elif [[ $IPADDR == 10.10.24.85 ]];
then
hostnamectl set-hostname "LA-RED-MON-JCJ-24-85"
elif [[ $IPADDR == 10.10.24.84 ]];
then
hostnamectl set-hostname "LA-RED-MYSQL-JT-24-84"
else
echo "NO HOSTNAME SET, USE DEFAULT"
hostnamectl set-hostname $IPADDR
fi