createrepo 使用 --split 选项进行多 CD 分发

createrepo using --split option for a multi CD distribution

我正在尝试创建自定义的 CentOS 多 CD 安装。我们目前的发行版刚刚超过 CD 的大小。当然,您可以将其刻录到 DVD 上。好吧,我们有客户使用不支持 DVD 的旧机器,所以我必须在 2 张 CD 上创建一个分发版。到目前为止,我已经使用 --split 选项找到了 createrepo,但找不到任何关于如何使其正常工作的好例子。来自 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(光盘 1)和 ISO_2(光盘 2)表示在执行 createrepo 之前复制了 RPM 的构建目录。

CentOS 5 的 RPM 目录:$ISO/CentOS

CentOS 6 的 RPM 目录:$ISO/Packages

我遇到的问题是,我不确定将 --split 选项与 createrepo 结合使用会发生什么。我认为我使用 --splitcreaterepo 正朝着正确的方向前进,但我不太确定。

关于如何正确构建多 CD 发行版的任何想法?我似乎找不到任何好的例子。

* 问题解决后*

createrepo --split 将查看构建目录中的所有 RPM,并将在安装的 disc1 上的 repodata 目录中创建适当的 XML 文件。这些 XML 文件会在安装过程中告诉 anaconda 它们在什么安装盘上,并据此知道要求您插入某个 CD。确保第 4 行(Disc # 行)上的 .discinfo 文件已针对光盘 1 和 2 正确设置。

我最后只使用 pkorder 脚本来决定我应该在 disc2 上放置什么 RPM。我还注意到,CentOS 6 没有 pkg​​order 脚本,所以我以后将无法使用它。届时可能必须重新安装我的安装才能使用答案中描述的其他脚本。

我不确定,但我相信您需要使用 pkgorder 然后 splittree.py 脚本来生成拆分 RPM 目录然后您可以 运行 createrepo--split 模式下跨越它们,然后 运行 buildinstall/等等。每个 RPM directory/etc。按顺序。