我正在尝试创建一个定制的CentOS多CD安装。我们现在的发行量刚刚超过一张CD的大小。当然,你可以把它刻录到DVD上。好吧,我们有客户的旧机器不支持DVD,所以我必须在2张CD上创建发行版。到目前为止,我发现createrepo使用了--split选项,但找不到任何关于如何正确工作的好例子。从createrepo的手册页:
--split
Run in split media mode. Rather than pass a single directory,
take a set of directories corresponding to different volumes in
a media set.
下面是createrepo命令:
echo "Creating the repository..."
discinfo=`head -1 $OS_BASE/.discinfo`
createrepo -v --split -u "media://$discinfo" -g repodata/comps.xml $ISO $ISO_2
注意:iso(disc 1)和iso_2(disc 2)表示在执行createrepo之前将rpm复制到它们的生成目录。
CentOS 5的RPM目录:$ISO/CentOS
CentOS 6的RPM目录:$ISO/包
我遇到的问题是,我不确定在createrepo中使用--split选项会得到什么结果。我想我正朝着正确的方向使用——与createrepo分离,但我不太确定。
关于如何正确地建立一个多cd dist有什么想法吗??我似乎找不到任何好的例子。
*问题解决后*
createrepo——split将查看构建目录中的所有rpm,并在安装的disc1上的repodata dir中创建适当的xml文件。这些xml文件将在安装过程中告诉anaconda它们在哪个安装盘上,并基于此知道要插入某个cd。确保第4行的.discinfo文件(disc line)已正确设置为第1盘和第2盘。
最后,我只使用pkorder脚本来决定应该在disc2上放置什么rpm。我还注意到,centos 6没有pkgorder脚本,因此我无法继续使用它。在那一点上,可能需要重新进行安装,才能使用答案中描述的其他脚本。
最佳答案
我不确定,但我相信您需要使用pkgorder
和splittree.py
脚本来生成拆分的rpms目录,然后您可以在它们之间以createrepo
模式运行--split
,然后依次在每个rpm目录/etc上运行buildinstall
/etc。
关于linux - createrepo使用--split选项进行多CD分发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28836160/