我正在尝试将我的自定义构建包包含在 CentOS 安装程序 DVD/CD 中。我能够使用我的 Kickstart 文件重新制作 DVD。
自动化 kickstart 安装工作正常,但是,当我尝试将我的包包含在包目录中并更新 comp.xml 文件时,它不起作用。
我正在执行以下步骤。
将我的 RPM 添加到 iso/Packages/ 目录。[mypackage.rpm] 通过以下方式重新创建 repo db 文件
cd /path/to/iso/dir
discinfo=`head -1 .discinfo`
compdata=`find repodata -name *comps*xml`
createrepo -u "media://$discinfo" -g $compdata .
然后创建 ISO 映像
ISOFILE=$PWD.iso
PACKAGER="Your Name"
ISONAME="RHEL 6.3 x86_64 KVM Respin"
ISODATE="201/06/28"
mkisofs -r -R -J -T -v -no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-V "$ISONAME" \
-p "$PACKAGER" \
-A "$ISONAME - $ISODATE" \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-x "lost+found" \
--joliet-long \
-o $ISOFILE .
现在,当我在 kickstart 中使用我的包名称时
%packages --no-base
@core
mypackage
在安装阶段,我收到 Ananconda 错误,提示在 repo 中未找到“mypackage”。
我也尝试过手动编辑 comp.xml 文件,但没有帮助。
如果我能通过 %package 指令或其他方式安装 mypackage.rpm,我将不胜感激。
答案1
尝试删除‘-T’标志。
替换的 TRANS.TBL 通常不会覆盖现有的 TRANS.TBL,因此,您的新 RPM 包可能在文件系统中不可见。带有 -joliet-long 选项的 -J 应该足够了。
答案2
我明白了。
ISOFILE=$PWD.iso
PACKAGER="Chandan"
ISONAME="CentOS 6.5"
ISODATE="`date -I`"
sudo mkisofs -r -R -J -T -v -no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-V "$ISONAME" \
-p "$PACKAGER" \
-A "$ISONAME - $ISODATE" \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-x "lost+found" \
--joliet-long \
-o $ISOFILE .