Red Hat 在安裝媒體上找不到自訂儲存庫

Red Hat 在安裝媒體上找不到自訂儲存庫

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

  1. 掛載源 ISO
  2. 將整個檔案結構複製到臨時資料夾中
  3. 將轉速過濾至我需要的轉速
  4. 使用 yumdownloader 將每個 RPM 的最新版本下載到 newPackages 中
  5. 刪除原來的Packages資料夾並重新命名為new​​Packages包。

下一步是建立新的 repodata,我透過在 Packages 中執行以下命令來完成此操作:

createrepo -dpo .. .

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

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

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

答案1

我發現了許多引用 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 資料夾所在的父資料夾

末尾的句點 (.) 指的是目前資料夾,這是所有套件所在的位置。

相關內容