How to custom RedHat DVD
一、准备rhel-server-5.4-i386-dvd.iso
二、准备4个文件
1、comps-server.xml
----来自原始光盘的repodata目录中的Server/repodata/目录中的comps-rhel5-server.xml的修改,修改方法参
考 http://cooker.techsnail.com/index.php/Custom_Linux_bootable_CD
2、install.log
----来自已经完成安装的系统,内容是选择core和base和dialup软件组后装完的系统中所带的RPM包列表。
3、makesrcdisk.sh 【未测试】 【注意:ks.cfg中有Extra目录, 但脚本中未添加Extra目录,如需要增加自己的软件,可以在上面的脚本中加入】
----安装过程脚本,内容如下,见脚本即见步骤。
#!/bin/bash
########################################################
## set parameter
########################################################
currentpath=`dirname $0`
cdromsourceiso=$currentpath/rhel-server-5.4-i386-dvd.iso
mediapath=/mnt
isoimagepath=/iso
installrpmlist=$currentpath/install.log
xmlrepofile=$currentpath/comps-hissage-server.xml
destisofile=mini32.iso
kickstartfile=$currentpath/ks_2.cfg
isomenufile=$currentpath/isolinux.cfg
if [[ -z $currentpath ]] || [[ -z $cdromsourceiso ]] || [[ -z $mediapath ]] || [[ -z $isoimagepath ]] || [[ -z $installrpmlist ]] || [[ -z $xmlrepofile ]] || [[ -z $destisofile ]]
then
echo "missing args"
exit
fi
########################################################
## mount iso image
########################################################
if [[ `ls /mnt|wc -l` -ne 0 ]]
then
echo "/mnt mount point is not empty"
exit
fi
mount -t iso9660 -o loop $cdromsourceiso /mnt
if [[ `ls /mnt|wc -l` -eq 0 ]]
then
echo "mount iso image failed"
exit
fi
########################################################
## check required rpm
########################################################
if ! rpm -qa|grep -q createrepo || ! rpm -qa|grep -q mkisofs || ! rpm -qa|grep -q rsync
then
echo "missing rpms createrepo or mkisofs or rsync"
exit
fi
########################################################
## copy required file
########################################################
rsync -av --exclude Server/ $mediapath/ $isoimagepath/
mkdir -p $isoimagepath/Server
########################################################
## copy customed rpms
########################################################
less $installrpmlist| awk -F" " '/Installing/ {print $2}'|while read line
do
line=`echo $line|sed 's/[0-9]\+:\(.*\)$/\1/'`
rpmfile=$line.rpm
if [[ ! -e $mediapath/Server/$rpmfile ]]
then
echo "not exit $rpmfile"
exit
fi
cp -a $mediapath/Server/$rpmfile $isoimagepath/Server/
done
########################################################
## create repo
########################################################
discinfo=$(head -1 $isoimagepath/.discinfo)
if [[ -z $discinfo ]] || [[ $discinfo = "" ]]
then
echo "missing discinfo"
exit
fi
/bin/rm -f $isoimagepath/Server/repodata/*
/bin/cp -f $xmlrepofile $isoimagepath/Server/repodata
createrepo -u "media://$discinfo" -g repodata/$xmlrepofile $isoimagepath/Server
########################################################
## create disk
########################################################
/bin/cp -f $isomenufile $isoimagepath/isolinux/isolinux.cfg
/bin/cp -f $kickstartfile $isoimagepath/ks.cfg
mkisofs -R -J -T -v -no-emul-boot -boot-load-size 4 -boot-info-table -V Hesine -b isolinux/isolinux.bin -c isolinux/boot.cat -o $destisofile $isoimagepath
echo "create iso success!"
4、ks.cfg
光盘kickstart文件,内容如下
install
cdrom
#xconfig --startxonboot
text
key 2515dd4e215225dd
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
rootpw --iscrypted $1$ra5hd2y4$nqcZPQxT75.tewecKyf7Q1
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
firstboot --disable
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda
network --bootproto=dhcp --device=eth0 --onboot=on
reboot
# 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
#clearpart --linux
#part swap --recommended
#part / --fstype ext3 --size=7000 --grow
%post --nochroot --log=/mnt/sysimage/root/copy.log --erroronfail
#!/bin/sh
mkdir -p /mnt/cdrom
mount -t iso9660 /tmp/cdrom /mnt/cdrom
cp -a /mnt/cdrom/Extra /mnt/sysimage
umount /mnt/cdrom
%post --log=/mnt/sysimage/root/post.log --erroronfail
#!/bin/sh
cd /Extra/software
/bin/bash /Extra/software/postscript.sh
%packages
@base
@core
@dialup
5.isolinux.cfg
修改头三行为
default linux ks=cdrom:/ks.cfg
prompt 1
timeout 1
三、必备软件包
rsync、createrepo、mkisofs
四、运行脚本
makesrcdisk.sh
五、制作Redhat6.0安装光盘
因为光盘目录有变化,因此制作库的软件包有升级,拷贝文件的脚本有变化,其他雷同
脚本如下
makesrcdisk.sh脚本如下
#!/bin/bash
########################################################
## set parameter
########################################################
currentpath=`dirname $0`
cdromsourceiso=$currentpath/rhel-server-6.0-x86_64-dvd.iso
mediapath=/mnt
isoimagepath=/iso
installrpmlist=$currentpath/install.log
xmlrepofile=$currentpath/comps-hissage-server.xml
destisofile=mini64.iso
kickstartfile=$currentpath/ks_2.cfg
isomenufile=$currentpath/isolinux.cfg
if [[ -z $currentpath ]] || [[ -z $cdromsourceiso ]] || [[ -z $mediapath ]] || [[ -z $isoimagepath ]] || [[ -z $installrpmlist ]] || [[ -z $xmlrepofile ]] || [[ -z $destisofile ]]
then
echo "missing args"
exit
fi
########################################################
## mount iso image
########################################################
if [[ `ls /mnt|wc -l` -ne 0 ]]
then
echo "/mnt mount point is not empty"
exit
fi
mount -t iso9660 -o loop $cdromsourceiso /mnt
if [[ `ls /mnt|wc -l` -eq 0 ]]
then
echo "mount iso image failed"
exit
fi
########################################################
## check required rpm
########################################################
if ! rpm -qa|grep -q createrepo || ! rpm -qa|grep -q mkisofs || ! rpm -qa|grep -q rsync
then
echo "missing rpms createrepo or mkisofs or rsync"
exit
fi
########################################################
## copy required file
########################################################
rsync -av --exclude Packages/ --exclude Server/repodata/ $mediapath/ $isoimagepath/
mkdir -p $isoimagepath/Packages
mkdir -p $isoimagepath/Server/repodata
########################################################
## copy customed rpms
########################################################
less $installrpmlist| awk -F" " '/Installing/ {print $2}'|while read line
do
rpmfile=$line.rpm
if [[ ! -e $mediapath/Packages/$rpmfile ]]
then
echo "not exit $rpmfile"
exit
fi
cp -a $mediapath/Packages/$rpmfile $isoimagepath/Packages/
done
########################################################
## create repo
########################################################
discinfo=$(head -1 $isoimagepath/.discinfo)
if [[ -z $discinfo ]] || [[ $discinfo = "" ]]
then
echo "missing discinfo"
exit
fi
/bin/rm -f $isoimagepath/Server/repodata/*
/bin/cp -f $xmlrepofile $isoimagepath/Server/repodata
createrepo -u "media://$discinfo" -g repodata/comps-hissage-server-2.xml $isoimagepath/Server
########################################################
## create disk
########################################################
/bin/cp -f $isomenufile $isoimagepath/isolinux/isolinux.cfg
/bin/cp -f $kickstartfile $isoimagepath/ks.cfg
mkisofs -R -J -T -v -no-emul-boot -boot-load-size 4 -boot-info-table -V Hesine -b isolinux/isolinux.bin -c isolinux/boot.cat -o $destisofile $isoimagepath
echo "create iso success!"
六、参考
http://cooker.techsnail.com/index.php/Custom_Linux_bootable_CD
http://www.redhat.com/archives/kickstart-list/2011-March/msg00007.html
http://forums.fedoraforum.org/showthread.php?t=247303
http://www.linuxquestions.org/questions/red-hat-31/create-custom-rhel5-4-iso-802845/
http://www.linuxtopia.org/online_books/rhel6/rhel_6_migration_guide/rhel_6_migration_ch02s02s02s04.html
How to custom RedHat DVD相关推荐
- linux版本i686,linux-x86_64平台上的gcc i686
我在RHEL X86_64上安装GCC i686时遇到一些麻烦. 确实,我必须在此平台上构建一些32位软件和共享库. 我可以在32位平台(Linux或Windows)上构建这些软件和库. 我的问题在这 ...
- 【推荐】Redhat 5配置YUM服务器【利用DVD盘做yum源】
话说N久没写东东了,生命在于运动,博客在于更新,更新下吧. 平台还是Redhat 5里,要准备的东西很简单,只要一张DVD光盘就可以了. 当然,还是老话,这里用的是VMware虚拟机,不是物理机,只是 ...
- linux iso合并,把RedHat Linux 5.0的CD ISO合并成DVD的脚本
最近找RedHat Linux5.0 x86_64的DVD ISO文件,结果一直找不到,却找到了6个cd的ISO,因为最后一个为源码盘,暂时不管,把其他5个CD合并成一个DVD. 脚本如下: vim ...
- redhat linux光盘4,技巧:把3张Redhat Linux 9的安装光盘刻录到一张DVD光盘中
有DVD刻录机了,想把3张RedHat Linux 9的安装光盘刻录到一张DVD中.我尝试过用UltraISO打开第一张盘的ISO后再把其余两张德文件也加进去,然后保存为一个1.7GB左右的ISO文件 ...
- [转]VirtualBox下RedHat 5.4 使用DVD光盘作为yum源
转自:http://blog.csdn.net/lele5000/article/details/7080749 1.首先挂载光盘 设备-分配光驱-Choose a virtual CD/DVD di ...
- redhat使用DVD光盘作为yum软件源
1. 放系统光盘到光驱 2. 创建光盘挂载目录 mkdir -p /mnt/cdrom 3. 挂载光驱到/mnt/cdrom目录 mount /dev/cdrom /mnt/cdrom 返回mount ...
- RHEL 4 update 4 DVD版制作
RedHat Enterprise Linux 一般说来 RedHat 只有提供标准光盘 ISO 档案,伴随软件套件的功能演进,RHEL 4 update 4 已经有 5 张光盘片的容量.不过一 ...
- VMWare虚拟机安装RedHat Linux全过程
简单的说,vmware就是一个虚拟机软件,它可以在你现有的OS上虚拟出一个新的子机,这个子机一方面是建立在你正在运行的OS之上的,同时, 它又拥有自己独立的CPU,硬盘,内存及各个硬件,当然,这些都是 ...
- Redhat Linux 8.3 安装方法
Redhat Linux 8.3 安装方法 Red Hat Linux Enterprise 8.3安装教程 一,创建虚拟机 1.打开VMware,点击创建新的虚拟机,选择自定义类型配置: 2,选择硬 ...
最新文章
- Substance Painter实时角色制作视频教程
- SIP协议的传输层原理报文解析(解读rfc3581)(待排版)
- 点云处理不得劲?球卷积了解一下
- 支持向量回归 svr
- Metaphors for a richer understanding of software development -- Code complete reading notes(2)
- SAP Spartacus lock focus directive如何判断有没有focusable children
- php引用类,thinkphp引用类的使用
- 厦门one_理想ONE真是“500万内最好的车”?
- python编程(rq调度系统)
- 自动控制原理5.1---频率特性
- 【英语四六级-必背单词】高中英语单词(C - 1)MP3试听与下载
- 英语砖石法则(三)----用好你的耳朵
- 微慕小程序专业版V3.6.6发布
- 如何用计算机打出平方,平方符号在电脑怎么打出来(电脑输入平方符号的2种方法)...
- 【java】Java中关于String类型的详解
- 单工通信、半双工通信和双工通信
- js 递归树根据子节点获取所有父节点
- CentOS7 安装Chrome
- 人工智能之数学基础篇—线性代数基础(下)
- Android 移动广告sdk的原理
热门文章
- 接口应用练习题(用接口的方式实现某网上商城的网上支付功能)
- 【RS】Amazon.com recommendations: item-to-item collaborative filtering - 亚马逊推荐:基于物品的协同过滤...
- Java URL协议扩展实现
- 浪潮存储双活方案:新疆道路运输管理局的大数据应用不再是梦
- 2017中国新型智慧城市创新50强在京发布
- linux磁盘和文件系统管理
- 链路聚合-CISCO
- 语音通话框架_普通话考试得高分的方法
- 华为ac控制器web配置手册_家庭WIFI网络规划设计与配置实战,一文教会你
- oracle删除定义变量,Oracle存储过程,临时表的创建、删除,变量的定义和使用