Redhat
Red Hat 在安裝媒體上找不到自定義 repo
我正在嘗試創建一個 Red Hat 7.8 ISO,其中包含已更新到最新版本的一組減少的 rpm。我想出瞭如何隔離我需要的軟體包並下載它們,但是當我創建新的 ISO 時,它會啟動,啟動安裝程序,但它永遠不會在本地媒體上找到安裝源。我已按照以下步驟操作:
- 掛載源 ISO
- 將整個文件結構複製到臨時文件夾中
- 將 rpm 過濾到我需要的那些
- 使用 yumdownloader 將每個 RPM 的最新版本下載到一個新的包中
- 刪除原始 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 文件夾所在的父文件夾
末尾的句點 (.) 指的是目前文件夾,即所有包所在的位置。