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

时间:2015-03-03 15:56:44

标签: linux centos install

我正在尝试创建一个自定义的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 一起使用后会发生什么。我认为我正朝着正确的方向前进,使用 - 分裂 createrepo ,但我不太确定。

关于如何正确构建多CD分辨率的任何想法?我似乎无法找到任何好的例子。

*问题解决后

createrepo --split将查看构建目录中的所有RPM,并将在安装的disc1上的repodata目录中创建相应的XML文件。这些XML文件将在安装过程中告诉anaconda他们所在的安装光盘,并根据此信息要求您插入某张CD。确保第4行(Disc#Line)上的.discinfo文件已正确设置为光盘1和2.

我最终只使用pkorder脚本来决定我应该在disc2上放置什么RPM。我也注意到CentOS 6没有pkgorder脚本,所以我将无法继续使用它。此时可能需要重新修改我的安装,以使用答案中描述的其他脚本。

1 个答案:

答案 0 :(得分:2)

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