Red Hat 在安装媒体上找不到自定义存储库

Red Hat 在安装媒体上找不到自定义存储库

我正在尝试创建一个 Red Hat 7.8 ISO,其中包含一组已更新到最新版本的精简版 rpm。我弄清楚了如何隔离所需的软件包并下载它们,但是当我创建新的 ISO 时,它会启动,启动安装程序,但它从未在本地媒体上找到安装源。我已遵循以下步骤:

  1. 装载源 ISO
  2. 将整个文件结构复制到临时文件夹中
  3. 过滤 rpm 以仅显示我需要的 rpm
  4. 使用 yumdownloader 下载各个 RPM 的最新版本到新的软件包中
  5. 删除原有的Packages文件夹,并重命名为newPackages包。

下一步是创建新的 repodata,我通过在 Packages 中运行以下命令来执行此操作:

createrepo -dpo .. .

它在 repodata 文件夹中创建新的 repo 文件并替换 repomd.xml 文件

但是,当我启动时,它找不到 ISO 上的存储库。

是否有其他文件需要更新才能识别新的 repo,或者我需要一些选项来制作与 ISO 兼容的 repo?我是否删除了初始安装所需的 rpm?

答案1

我找到了很多引用 comps.xml 的页面,最后我发现源 ISO 上的 comps.xml 文件名更长,并且位于存档中。在我的例子中,文件名是:

c0dee7823d016c47d3d8ad66d65f6cbce5284a00f349dc4d7a72a971c283edd0-comps.xml.gz

弄清楚之后,我提取了文件,并将其放在新 ISO 树的父文件夹中。然后,使用以下命令,我成功地使用 Packages 文件夹中精简的软件包列表更新了原始 repo(从 Packages 文件夹运行此命令):

createrepo --update -g ../../comps.xml -dpo .. .

分解命令:

  • --update 告诉 createrepo 更新 repodata 文件夹中的现有文件
  • -g ../../comps.xml 从源 comps.xml 文件复制软件包组
  • -dp -d 标志创建数据库文件,-p 使 XML 文件更美观
  • -o 指定输出的位置。在本例中,父文件夹是原始 repodata 文件夹所在的位置

末尾的句点 (.) 指的是当前文件夹,所有包都位于此处。

相关内容