定制打包自己的ISO镜像(kickstart)
来源:互联网 发布:sem优化培训 编辑:程序博客网 时间:2024/05/16 11:50
本文以一个Centos6.5的ISO镜像为基础,添加一些自己的RPM包或者Kickstart文件,重新打包成一个新的ISO镜像。
1. 建立文件目录结构
~/Centos6.5
+ -- isolinux
| + -- Packages
| + -- ks
+ -- utils
+ -- CoreBase
+ -- PackISO
+ -- AddRPM
2. 拷贝系统文件到新建目录
mount -o loop 挂载Centos6.5.iso到一个目录,然后把所有文件拷贝到isolinux下,注意拷贝到.discinfo文件。再把../isolinux/isolinux/* 拷贝出来
# mv isolinux/Packages/* PackISO
要使用kickstart的话,把ks文件放到ks文件夹中即可
3.决定打包哪些RPM
Centos6.5核心基本包的选择:
使用一个perl脚本来解析comps.xml文件
(1)安装perl:
# cd PackISO
rpm -Uvh perl-Compress-Raw-Zlib-2.021-136.el6.x86_64.rpm\
perl-Compress-Zlib-2.021-136.el6.x86_64.rpm\
perl-HTML-Parser-3.64-2.el6.x86_64.rpm\
perl-HTML-Tagset-3.20-4.el6.noarch.rpm\
perl-IO-Compress-Zlib-2.021-136.el6.x86_64.rpm\
perl-IO-Compress-Base-2.021-136.el6.x86_64.rpm\
perl-libwww-perl-5.833-2.el6.noarch.rpm\
perl-URI-1.40-2.el6.noarch.rpm\
perl-XML-Parser-2.36-7.el6.x86_64.rpm\
perl-XML-Simple-2.18-6.el6.noarch.rpm
(2)perl工具
follow_deps.pl
http://smorgasbork.com/content/follow_deps.txt
parse_comps.pl
http://smorgasbork.com/content/parse_comps.txt
两个工具放在utils目录下
(3)comps.xml
# cp isolinux/repodata/b4e0b9342ef85d3059ff095fa7f140f654c2cb492837de689a58c581207d9632-comps.xml ./comps.xml
(4)选择核心基本包
# cd CoreBase
#~/Centos6.5/utils/parse_comps.pl ~/Cnetos6.5/comps.xml ~/Centos6.5/PackISO x86_64
(5)添加自己的rpm包
比如openstack相关的安装包,全部放到AddRPM文件夹下
(6)检测rpm包的依赖问题
把全部要打包的文件全部拷贝到~/Centos6.5/isolinux/Packages
# cp ~/Centos6.5/CoreBase/*.rpm ~/Centos6.5/isolinux/Packages
# cp ~/Centos6.5/AddRPM/*.rpm ~/Centos6.5/isolinux/Packages
使用follow_deps.pl从PackISO中得到相关依赖的rpm包:
# cd ~/Centos6.5/isolinux/Packages
# ~/Centso6.5/utils/follow_deps.pl ~/Centos6.5/PackISO x86_64
检测依赖:
# mkdir /tmp/testdb
# rpm --initdb --dbpath /tmp/testdb
# rpm --test --dbpath /tmp/testdb -Uvh *.rpm
把还需要到的依赖包加到Packages里面,直到没有依赖问题。
(7)打包ISO
# cd isolinux
# declare -x discinfo=`head -1 .discinfo`
# createrepo -u "media://$discinfo" -g ~/Centos6.5/comps.xml .
# cd ~/Centos6.5
# mkisofs -o custom.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -v -T isolinux/
- 定制打包自己的ISO镜像(kickstart)
- 自己封装windows的ISO镜像
- Ubuntu14.04下定制Ubuntu的ISO镜像
- 定制自己的ubun安装镜像
- 制作自己的ubuntu系统iso镜像
- redhat用kickstart.cfg自动安装后,挂载ISO镜像并从中拷贝文件
- Linux-centos-kickstart-无人值守自动安装-ISO镜像制作
- Ubuntu 16.04 定制自己系统镜像
- 自己制作Linux的镜像文件XXX.iso的大致组成
- 制作属于自己的CentOS 6.4一键自动化安装ISO镜像光盘
- 自己来制作iso镜像用于安装OpenBSD
- ubuntu挂载iso镜像的命令
- linux下挂载iso镜像的方法
- linux下挂载iso镜像的方法
- Docker的boot2docker.iso镜像使用
- Docker的boot2docker.iso镜像使用
- Linux下修改镜像(iso)
- 制作iso镜像
- NAND Flash闪存坏块的相关知识
- 计算机网络
- 30个数据可视化的简单图表工具
- springMVC整合mybatis时候配置mybatis-config异常
- 浅谈前端集成解决方案
- 定制打包自己的ISO镜像(kickstart)
- java常用设计模式
- Google和Micosoft是这么干的。加载cdn jquery核心文件
- Swift笔记(四)之控制流(Control Flow)
- 旧文 关于数据库设计。
- 《The Swift Programming Language》中文版
- Javascript 中 null、NaN和undefined的区别 --welcome www.1maitao.com
- SQL之过滤排序语法
- java调用svnkit实现svn功能