Redhat

Red Hat 在安裝媒體上找不到自定義 repo

  • April 16, 2021

我正在嘗試創建一個 Red Hat 7.8 ISO,其中包含已更新到最新版本的一組減少的 rpm。我想出瞭如何隔離我需要的軟體包並下載它們,但是當我創建新的 ISO 時,它會啟動,啟動安裝程序,但它永遠不會在本地媒體上找到安裝源。我已按照以下步驟操作:

  1. 掛載源 ISO
  2. 將整個文件結構複製到臨時文件夾中
  3. 將 rpm 過濾到我需要的那些
  4. 使用 yumdownloader 將每個 RPM 的最新版本下載到一個新的包中
  5. 刪除原始 Packages 文件夾並重命名 newPackages 包。

下一步是創建新的 repodata,我通過在 Packages 中執行以下命令來完成:

createrepo -dpo .. .

它在 repodata 文件夾中創建新的 repo 文件並替換 repomd.xml 文件

但是,當我啟動時,它在 ISO 上找不到儲存庫。

是否有另一個文件需要更新以辨識新的儲存庫,或者我需要某個選項來製作與 ISO 兼容的儲存庫?我是否刪除了初始安裝所需的 rpm?

我發現了許多引用 comps.xml 的頁面,最後我發現源 ISO 上的 comps.xml 文件名更長,並且在存檔中。就我而言,文件名是:

c0dee7823d016c47d3d8ad66d65f6cbce5284a00f349dc4d7a72a971c283edd0-comps.xml.gz

弄清楚這一點後,我提取了文件,並將其放在新 ISO 樹的父文件夾中。然後,使用以下命令,我成功地使用我的 Packages 文件夾中的縮減包列表更新了原始儲存庫(從您的 Packages 文件夾執行此命令):

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

分解命令:

  • –update 告訴 createrepo 更新 repodata 文件夾中的現有文件
  • -g ../../comps.xml 從源 comps.xml 文件複製包組
  • -dp -d 標誌創建數據庫文件,-p 使 XML 文件漂亮
  • -o 指定輸出的位置。在這種情況下,原始 repodata 文件夾所在的父文件夾

末尾的句點 (.) 指的是目前文件夾,即所有包所在的位置。

引用自:https://serverfault.com/questions/1060535