码迷,mamicode.com
首页 > 其他好文 > 详细

基于centos7系列cobbler自动安装配置

时间:2019-10-30 22:33:02      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:ado   ble   short   art   firewalld   win   命令   auto   swa   

基于centos7.6的脚本,centos7应该都是适用的,执行脚本前提保持能正常访问公网,能正常使用yum安装软件
示例ks配置文件centos7.6ks.cfg默认清空磁盘sda的mbr以及所有分区,需要注意
可以根据ks配置模板,自定义添加删除软件包,调整分区大小,添加自定义命令等

#!/bin/bash
#====================================================
# Author: Mr.Song
# Create Date: 2019-10-11
# Description: auto install config cobbler
#====================================================

##########################################
#wanning!!!! ks config file default clear sda mbr and all partition!!!!!
#wanning!!!! ks config file default clear sda mbr and all partition!!!!!
#wanning!!!! ks config file default clear sda mbr and all partition!!!!!
##########################################

#cobbler web url:https://SERVER_IP/cobbler_web
#cobbler web user/pass:cobbler/cobbler

set -x 
systemctl stop firewalld&& systemctl disable firewalld
setenforce 0 && sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/sysconfig/selinux
yum install -y epel-release  ||‘echo "install epel yum  error,please check network or yum config" &&exit 1‘
yum -y  install cobbler dhcp httpd xinetd tftp-server syslinux pykickstart rsync cobbler-web debmirror pykickstart fence-agents || ‘echo "install cobbler error,please check network or yum config" &&exit 1‘
systemctl restart httpd xinetd rsyncd && systemctl enable  httpd xinetd rsyncd dhcpd
SERVER_IP=`ifconfig | grep broadcast | grep -v 172 | awk -F" " ‘{print $2}‘`
SERVER_NET_ADDR=`echo $SERVER_IP | awk -F"." ‘{print $1,$2,$3}‘|sed ‘s/[[:space:]]/./g‘`
sed -ri "s/^(manage_dhcp: ).*/\11/" /etc/cobbler/settings
sed -ri "s/^(next_server: ).*/\1$SERVER_IP/" /etc/cobbler/settings
sed -ri "s/^(server: ).*/\1$SERVER_IP/" /etc/cobbler/settings
sed -ri "/disable/s/yes/no/"  /etc/xinetd.d/tftp
sed -ri "s#192.168.1#$SERVER_NET_ADDR#g;/option routers/s#192.168.10.5#$SERVER_IP#;/option domain-name-servers/s#192.168.10.1#$SERVER_IP#;/next-server/s#\$next_server#$SERVER_IP#" /etc/cobbler/dhcp.template
#COBBLER_PASS=`openssl passwd -1 -salt ‘test‘ ‘111111‘`
#sed -ri "s/^(default_password_crypted: ).*/\1"$COBBLER_PASS"/" /etc/cobbler/settings
systemctl enable  cobblerd && systemctl restart cobblerd 
if [ $? -ne 0 ];then
    echo "cobbler service error,please check log error"
    exit 1
fi
sleep 3

cobbler get-loaders ||‘echo "get sample file fail,please check config"&&exit 1‘
sed -i  ‘/@dists="sid";/s/^/#/;/@arches="i386";/s/^/#/‘ /etc/debmirror.conf
cobbler sync
systemctl restart cobblerd 
cat > /var/lib/cobbler/kickstarts/centos7.6ks.cfg <<-  ‘EOF‘
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
#url --url=http://192.168.10.11/cblr/links/CentOS-7.6-x86_64
url --url=$tree
# Use text install
text

firewall --disabled
selinux --disabled

# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts=‘us‘
# System language
lang en_US.UTF-8

# Network information
#network  --bootproto=dhcp --device=ens33 --onboot=yes --ipv6=auto --no-activate
network  --bootproto=dhcp --device=ens33 --onboot=yes 
network  --hostname=localhost.localdomain

# Root password
#rootpw --iscrypted $6$zXlxIRJdARN9vxNF$2y3Y7g3MkPjIXCEEtP1f9ybId5bTMzhjXAEewgEqdfjv2pagfChjkyzkzXdFWtYwSw6gAgb6VrD3ZF/bQJVRL.
rootpw 111111
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
#autopart --type=lvm
zerombr 
part /boot/efi --fstype="efi" --ondisk=sda --size=512 --fsoptions="defaults,uid=0,gid=0,umask=0077,shortname=winnt"
#part /app --fstype="xfs" --size=1024
part swap --fstype="swap" --size=4096 --ondisk=sda
part / --fstype="xfs" --size=1 --grow --ondisk=sda
#part /boot --fstype="ext4" --size=500

# Partition clearing information
clearpart --all --initlabel
#clearpart --none --initlabel
#reboot after install system
reboot

%packages
@^minimal
@core
wget
rsync
screen
dos2unix
telnet
lrzsz
sysstat
vim
nano
gcc
chrony
bash-completion
net-tools
psmisc
tree
dmidecode
kexec-tools

%end
%post
#rm -f /etc/yum.repos.d/*.repo
#wget $tree
#mkdir -p  /mnt/iso/centos7.6
#rsync $tree/*  /mnt/iso/centos7.6
%end

EOF

##########################################
#step1 : mount iso
#mkdir -p /mnt/iso/centos/7.6 &&mount /dev/cdrom /mnt/iso/centos/7.6
#step2: import iso (cobblerd service must be normal running)
#cobbler import --path=/mnt/iso/centos/7.6 --name=CentOS7.6-x86_64 --arch=x86_64  --kickstart=/var/lib/cobbler/kickstarts/centos7.6ks.cfg
#step3:sync data and start dhcpd
#cobbler sync && systemctl restart dhcpd xinetd httpd cobblerd 
#step4:start VM or physical machine and start pxe install system

#cobbler help
#list system iso command:cobbler list 
#change iso ks config:cobbler profile edit --name=CentOS7.6-x86_64 --kickstart=/var/lib/cobbler/sample_end.ks

基于centos7系列cobbler自动安装配置

标签:ado   ble   short   art   firewalld   win   命令   auto   swa   

原文地址:https://blog.51cto.com/8460152/2446450

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!