定制化 大数据平台一键安装OS
大数据平台一键安装OS系列
大数据平台一键安装OS【搭建脚本篇】定制化OS镜像制作
1.操作环境操作环境:VMware Workstarion 9 and vSphere client系统:CentOS -6.8-x86_64工具:gconf-editor anaconda repodata createrepo mkisofs rsync
2.主要思路定制化是通过kickstart脚本来实现的,linux系统安装完毕后在root目录下会生成anaconda-ks.cfg install.log等文件,anaconda-ks.cfg是自动安装脚本,install.log是安装包的一些信息记录。在定制化中我们用到的主要是anaconda-ks.cfg这个kickstart脚本,这个脚本 香港云主机可以通过工具生成,也可以通过修改原来系统的anaconda-ks.cfg文件来实现。这里为了方便,采用的是原来系统的anaconda-ks.cfg来进行修改,在kickstart脚本中我们可以自行设置在安装过程中要实现的操作,实现自动化定制化安装。
3.工具安装在定制过程中,需要安装一些工具,这些工具用于生成我们需要的文件和最后制作镜像文件,进入centos,管理员模式下在命令行输入如下命令:#挂载镜像
4.定制化过程#建立系统制作目录mkdir /home/source挂载镜像centos6.8.iso#复制除了Packages文件夹以外的所有文件到系统制作目录mount /dev/sr0 /mntcd /mntcp -rf * /home/source/上传ks.cfg 服务端脚本配置和ks-config.cfg客户端脚本配置到isolinux文件夹下执行yum install dos2*dos2unix isolinux/*.cfg#复制原系统的anaconda-ks.cfg和install.log文件到系统制作目录[root@localhost ~]#cp /root/anaconda-ks.cfg /root/install.log /home/source#参照当前的系统,复制相应的软件包到系统制作目录,install.log记录了本机安装的软件包的信息,参考install.log可以减少复制多余的软件包。[root@localhost ~]#mkdir /home/source/Packages[root@localhost ~]#awk ‘/Installing/{print $2}’ /home/source/install.log | xargs –I cp /mnt/Packages/{}.rpm /home/source/Packages/cp /mnt/.discinfo /home/source/ #这一步很重要#修改/制作kickstart脚本,修改这个脚本有两种方法,第一种方法是通过修改原系统的anaconda-ks.cfg脚本,第二种方法是通过system-config-kickstart工具来制作。第一种较为简单,修改的地方较少,而第二种方法是制作一个kickstart脚本,制作的过程由很多参数是需要手动设置的,容易出问题。#对里面的参数进行解释timezone Asia/Shanghai #设置系统的时区,在时区设置是前面不加—utc否则时区设置不生效bootloader –location=mbr –driveorder=sda –append=”crashkernel=auto rhgb quiet” #auto rhgb quiet参数设置了系统的启动方式,去掉rhgb则在开机的过程中不显示开机动画,而是以文本的形式打印出系统的启动过程# The following is the partition information you requested# Note that any partitions you deleted are not expressed# here so unless you clear all partitions first, this is# not guaranteed to work#这里设置分区操作,如果不在kickstart脚本中设置,则在安装过程中需要手动来进行设置clearpart –all –initlabel part /boot –fstype=ext4 –size=300part / –fstype=ext4 –grow –size=37000 #硬盘大小根据具体的大小设置,一般我给虚拟机的大小为40G,所以这里设置为37000,剩余的空间用作boot和swap分区。part swap –grow –maxsize=1984 –size=1984#修改引导显示画面,引导显示画面的背景图片在安装光盘中的isolinux文件夹内部只需要用其他图片替换掉即可。修改系统名字(安装ambari服务不能修改名字)#echo ” OS release 1.1″ > /etc/centos-release#echo ” OS release 1.1″ > /etc/redhat-release#sed -i ‘s/CentOS release 6.8 (Final)/ OS release 1.1/g’ /etc/issue#sed -i ‘s/CentOS release 6.8 (Final)/ OS release 1.1/g’ /etc/issue.net#sed -i ‘s/localhost.localdomain/vasp.host/g’ /etc/sysconfig/network#sed -i ‘s/CentOS/OS/g’ /etc/rc.d/rc.sysinit#sed -i ‘s/CentOS/OS/’ /etc/grub.conf
5.添加背景图片cd /home/source/Packages/isolinux/#添加背景图片menu background splash.jpg替换成
注意图片大小和名字必须跟原图片一样#自定义的安装选项,并将这个选项设置为默认选项,并设置自定义的kickstart安装脚本的文件路径,实现以文本形式自动安装。真重要,如果不变成一样,会遇到图片无法变过来的情况。按格式添加并修改菜单选项:######################添加以下内容label menu os server install new system menu os server install new system kernel vmlinuz append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img label menu os client install new system menu os client install new system kernel vmlinuz append ks=cdrom:/isolinux/ks-config.cfg initrd=initrd.imglabel rescue menu label ^Rescue installed system kernel vmlinuz append initrd=initrd.img rescuelabel Boot menu label Boot from ^local drive localboot 0xfffflabel memtest86 menu label ^Memory test kernel memtest append –
成果图:
6.生成新的镜像#生成新的repodata文档[root@localhost ~]#cd /home/source[root@localhost ~]#cp repodata/*comps.xml ./comps.xml[root@localhost ~]#rm –rf repodata[root@localhost ~]#declare –x discinfo=`head –1 .discinfo`[root@localhost ~]#createrepo –g comps.xml /home/source#或者,也可以通过以下命令来实现,这个命令和上面区别在于它只更改那些在上次产生元数据之后被修改,添加或者删除了的项目,所以这个命令一般是用于在修改了包或组之后重新生成repodata文档,可以提高效率。[root@localhost ~]#createrepo –u “media://$discinfo” –g comps.xml | /home/source
#为了方便,也可以通过脚本来进行操作,具体的脚本如下:# sh 1.shSpawning worker 0 with 3233 pkgsWorkers FinishedGathering worker results
Saving Primary metadataSaving file lists metadataSaving other metadataGenerating sqlite DBsSqlite DBs complete#如果修改了Packages文件夹内的软件包,则需要重新生成comps.xml文件,可以将以上脚本保存为一个.sh文件,放于/root目录下随时使用。到这里所有的准备工作都已经完成,接下来可以开始制作镜像文件了。制作镜像文件用到的工具有mkisofs和implantisomd5,前者用来制作镜像,后者用来进行md5校验,检测文件在传输过程中是否损坏。进入系统制作目录/home/source运行一下命令:[root@localhost ~]#mkisofs –o os.iso –b isolinux/isolinux.bin –c isolinux/boot.cat –no-emul-boot –boot-load-size 4 –boot-info-table –R –J –v –T –joliet-long /home/source#执行上述命令之后,在/home/source目录下会生成一个名为OS.iso的镜像文件进入/home/source目录。
执行命令:[root@localhost source]#/usr/bin/implantisomd5 os.iso#向镜像文件插入md5校验值,防止镜像文件在复制过程中损坏,校验时在相应文件目录下输入如下命令,即可对文件进行校验,校验文件没问题后,可以通过xftp将镜像文件复制出来,下一步就可以安装测试了。[root@localhost ]#checkisomd5 os.iso生成镜像命令:yum install -y mkisofscreaterepo -g repodata/*x86_64-comps.xml /home/source/declare -x discinfo=`head -1 .discinfo`createrepo -u “media://$discinfo” -g repodata/*x86_64-comps.xml /home/source/mkisofs -o os.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long /home/source
7.生成HDP镜像
跟上述一样的操作createrepo -g repodata/*x86_64-comps.xml /home/hdpdeclare -x discinfo=`head -1 .discinfo`createrepo -u “media://$discinfo” -g repodata/*x86_64-comps.xml /home/hdpmkisofs -o hdp2.4.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long /home/hdp效果图:
————————————————————————————————————————————————如果你觉得作者的文章写的不错,请通过“支付宝”或“微信”奖励作者一些银子~不需要太多(0.1、1元、3元、5元就可),不奖励就请点个赞吧,谢谢!
这篇文章主要讲解了“win7电脑连接不了手机怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win7电脑连接不了手机怎么解决”吧!一、手机数据线连接电脑,手机上提示“主机无反应”怎么办?这是因为你使用的是…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。