#!/bin/bash
#||
color(){
echo -e “\033[$1m$2\033[0m”
}
f(){
a=32
while [ KaTeX parse error: Undefined control sequence: \0 at position 36: …a++ echo -ne "\̲0̲33[a;5m$1\033[0m"
done
}
decide(){
color 35 $1
exit
}
#||
color 35 “||||"
color 32 "|| description:cobbler_auto_mount || "
color 32 "|| author:YSQ || "
color 32 "|| version:4.1 || "
color 32 "|| date:20201112 || "
color 35 "||||”
sleep 2
#: <<‘COMMENT’
#||关闭防火墙和selinux
setenforce 0
firewall-cmd --set-default-zone=trusted &>/dev/null
#首先把cobbler压缩包放在root目录中
#||解压cobbler.zip
clear
rpm -q unzip &>/dev/null
[ $? -eq 0 ]||yum -y install unzip &>/dev/null
zip=/root/cobbler.zip
f ✻❂❀
echo -n “unzip解压加载中…”
echo
[ -e $zip ]||decide 请将cobbler.zip放在root目录下!!!
unzip -nq /root/cobbler.zip -d /
unzip -nq /cobbler/.zip -d /opt/
f ✻❂❀
echo -n “unzip解压完成…”
echo
#********************************||install dhcp httpd tftp mod_ssl
f ✻❂❀
echo -n “yum安装加载中…”
echo
yum -y install dhcp httpd tftp mod_ssl &>/dev/null
rpm -q cobbler &>/dev/null
[ $? -eq 0 ]&& systemctl restart cobblerd||yum -y install /opt/cobbler/.rpm &>/dev/null
f ✻❂❀
echo -n “yum安装完成…”
echo
#||检测cobbler是否安装成功
rpm -q cobbler &>/dev/null
[ $? -eq 0 ] || (echo “cobbler安装失败!!!进行第二次安装…”; yum -y install /opt/cobbler/cobbler.* &>/dev/null)
#||修改settings,dhcp.template配置文件
#===================settings
while :
do
read -p “请输入你的本机的ip地址:” NIP
#===================ip正则判断输入是否正确
echo KaTeX parse error: Can't use function '\.' in math mode at position 24: … '^[0-9]\{1,3\}\̲.̲[0-9]\{1,3\}\.[…’ &>/dev/null
if [
?
−
e
q
0
]
;
t
h
e
n
b
r
e
a
k
e
l
s
e
c
o
l
o
r
35
"
警
告
!
!
!
i
p
不
符
合
规
则
,
请
认
真
对
待
重
新
输
入
"
f
i
s
l
e
e
p
1
d
o
n
e
s
e
d
−
r
i
′
/
m
a
n
a
g
e
d
h
c
p
:
∣
p
x
e
.
∗
:
/
s
/
0
/
1
/
;
/
s
e
r
v
e
r
:
/
s
/
1.
∗
/
′
"
? -eq 0 ];then break else color 35 "警告!!!ip不符合规则,请认真对待重新输入" fi sleep 1 done sed -ri '/manage_dhcp: |^pxe.*: /s/0/1/ ; /server: /s/1.*/'"
?−eq0];thenbreakelsecolor35"警告!!!ip不符合规则,请认真对待重新输入"fisleep1donesed−ri′/managedhcp:∣pxe.∗:/s/0/1/;/server:/s/1.∗/′"NIP"’/’ /etc/cobbler/settings
#===================password
stty -echo
read -p ‘设置登录密码:’ pwd
stty echo
pwdssl=$(openssl passwd -1 KaTeX parse error: Can't use function '\"' in math mode at position 56: …crypted/s/".*/'\̲"̲pwdssl"’/’ /etc/cobbler/settings
echo
color 35 “设置密码完成>>>>进入配置ip环节”
#===========dhcp
#=KaTeX parse error: Expected '}', got 'EOF' at end of input: …/s/192.168.1/'"{NIP%.*}"’/g’ /etc/cobbler/dhcp.template
#||部署引导文件
tar -xPf /cobbler/cobbler_boot.tar.gz &>/dev/null
#||启动服务
systemctl restart cobblerd httpd tftp rsyncd
#COMMENT
#*****************************||检测配置是否成功
Test(){
grep ‘TASK’ .cob.txt &>/dev/null
if [ $? -eq 0 ];then
color 33 ' TASK COMPLETE ’
else
color 35 ' FAILED COMPLETE ***’
exit
fi
}
TF(){
case $1 in
1)
Test;;
*)
Test
esac
}
#********************************||同步cobbler配置
cobbler sync | tail -1 > .cob.txt
TF 1
f ✻❂❀
echo -n “sync同步检测完成…”
echo
#********************************||cobbler导入镜像
#: <<‘COMMENT’
[ -e /myiso ] || mkdir /myiso
ls /myiso/* &>/dev/null
[ $? -eq 0 ] || mount /dev/cdrom /myiso &>/dev/null
read -p “请输入你的系统名字:” os_name
f ✻❂❀
echo -n “镜像导入进行中…”
echo
rm -rf .cob.txt
echo “#!/bin/bash
#关联脚本来实现镜像导入~~从而避免新建虚拟机出现超时bug
cobbler import --path=/myiso --name=$1
" > cobb.sh
sleep 2
bash cobb.sh KaTeX parse error: Expected 'EOF', got '#' at position 51: … -rf .cob.txt #̲COMMENT f ✻❂❀ …os_name-x86_64”’/’ $d_path
color 32 “>>>>>默认菜单设置完毕>>>>>”
color 34 “cobbler自动部署完成”
color 34 “>>>>>>>>>>>>>>>>>>>>>>>>>>>>>”
color 32 “温馨提示:”
color 34 “\t内存:2G以上\n\t设置网络适配器保持一致”
color 34 “>>>>>>>>>>>>>>>>>>>>>>>>>>>>>”