易网时代-编程资源站
Welcome
微信登录
首页
/
操作系统
/
Linux
/
Shell脚本+Kickstart文件定制CentOS 6
写了一个脚本(见下面的链接),利用kickstart文件 + 脚本来生成自动安装的ISO, 基于CentOS 6的,在CentOS 6.2下测试没问题,估计CentOS 6.*都没什么问题
免费下载地址在
http://linux.linuxidc.com/
用户名与密码都是
www.linuxidc.com
具体下载目录在
/2012年资料/3月/30日/Shell脚本+Kickstart文件定制CentOS 6/这个脚本的最大的特点就是不需要CentOS的官方原版ISO镜像,所有需要的文件都是通过网络下载,有的是从sohu的镜像源,有的是163的(分散压力,呵呵) 这样做的还有一个好处就是安装的rpm包都是最新的,进入系统之后,不需要yum -y update了 (适合有洁癖的人)
然后,rpm包都是通过yum安装,这里我安装了一个yum的插件,达到只下载不安装的目的,另外就是用yum的时候,还指定了一个--installroot的参数,让yum不去读本机的数据库,如果不加这个参数,就不能顺利的下载本机已经安装过的包
ks.cfg是用system-config-kickstart生成的kickstart配置文件,如果没有这个命令,就yum -y install system-config-kickstart来安装一下就行,也可以通过修改本地/root目录下的ananconda-ks.cfg,但需要注意的是这个文件里面有一行需要注释掉或者删除掉
repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
如果不注释,安装的时候,ananconda会找这个yum源 650) this.width=650;" border=0>下面贴出脚本
#!/bin/bash
if [ ! -e /root/xiaosu.cfg ];then
echo "you must put the kickstart file named xiaosu.cfg to /root/"
exit 1
fi
yum -y install yum-plugin-downloadonly createrepo genisoimage
mv /etc/yum.repos.d/ /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d
cat >/etc/yum.repos.d/suzezhi.repo << EOF
[suzezhi-base]
name=CentOS-$releasever - Base - 163.com
baseurl=http://mirrors.163.com/centos/6/os/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
[suzezhi-updates]
name=CentOS-$releasever - Updates - 163.com
baseurl=http://mirrors.163.com/centos/6/updates/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[suzezhi-extras]
name=CentOS-$releasever - Extras - 163.com
baseurl=http://mirrors.163.com/centos/6/extras/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[suzezhi-centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/6/centosplus/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[suzezhi-contrib]
name=CentOS-$releasever - Contrib - 163.com
baseurl=http://mirrors.163.com/centos/6/contrib/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
EOF
mkdir -p /tmp/suzezhi/temp
cd /tmp/suzezhi/temp
wget -r --no-parent -c --cut-dirs=4 --reject=gz --exclude-directories=centos/6/os/x86_64/Packages http://mirrors.sohu.com/centos/6/os/x86_64/
find . -name index.html -exec rm -f {} ;
cat >> /tmp/suzezhi/temp/yum.conf <<EOF
[main]
cachedir=/var/cache/Packages
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
EOF
for i in $(awk "/^%packages$/,/^%end$/" /root/xiaosu.cfg |grep -v -E "%end|%packages"); do
yum --installroot=/tmp/suzezhi/test -c yum.conf --downloadonly --downloaddir=/tmp/suzezhi/Packages -y install $i
done
rm -rf /etc/yum.repos.d
mv /etc/yum.repos.d.bak /etc/yum.repos.d
cd /tmp/suzezhi/
mv Packages/ /tmp/suzezhi/temp/mirrors.sohu.com/
cd /tmp/suzezhi/temp/mirrors.sohu.com
cat > .discinfo << EOF
1333560292.885204
6
x86_64
1
EOF
cat > .treeinfo << EOF
[general]
family = CentOS
timestamp = 1333560005.81
variant =
totaldiscs = 1
version = 6
discnum = 1
packagedir = Packages
arch = x86_64
[images-x86_64]
kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img
[images-xen]
kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img
[stage2]
mainimage = images/install.img
EOF
cp /root/xiaosu.cfg .
sed -i "/menu default/d" isolinux/isolinux.cfg
cat >> isolinux/isolinux.cfg << EOF
label auto
menu label ^Auto install an system
menu default
kernel vmlinuz
append ks=cdrom:/xiaosu.cfg initrdinitrd=initrd.img
EOF
mv repodata/*-comps.xml .
rm -f repodata/*
mv *-comps.xml repodata
createrepo -d --unique-md-filenames -g repodata/*-comps.xml .
cd ..
mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -o /root/xiaosu.iso -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table mirrors.sohu.com/
rm -rf /tmp/suzezhi
1
2
下一页
RHEL/CentOS 安装方法总揽Linux 更改配置而不重启服务命令相关资讯 kickstart CentOS教程
Linux运维自动化工具 Kickstart (04月09日)
Nginx DHCP TFTP Kickstart搭建自 (10/29/2015 10:38:15)
Kickstart 全自动安装部署RHEL 7.0 (09/20/2015 09:02:26)
PXE+Kickstart实现无人值守批量安 (11/11/2015 08:39:04)
RHCSA 系列(十二): 使用 (10/02/2015 19:53:58)
PXE+Kickstart实现自动安装CentOS (09/12/2015 18:25:42)
本文评论 查看全部评论 (0)
表情: 姓名:
匿名
字数
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图