在氣隙(離線)CentOS 6 系統上安裝 yum 包
我有一個 CentOS 6 系統,出於安全原因,它是氣隙的。它可能從未連接到網際網路,如果有,它也很長時間沒有更新。
我想把所有的 .rpm 包放在一個驅動器上,這樣它們就可以離線安裝而無需查詢網際網路。但是,我在測試 VM 上遇到的問題是
yum
,即使指定了本地路徑,它也會一直掛起並嘗試從線上儲存庫進行更新。此外,有沒有辦法使用/輕鬆獲取包和該包的所有依賴項?目前,它仍然缺少一些依賴項(例如,當我拉動 gcc-c++ rpm 時,它會抓取但不會拉動,或者)
yum-utils``yumdownloader``cpp``gcc``cloog-ppl``mpfr``ppl
我已經嘗試過這樣的解決方案,但我不能假設已經存在依賴關係樹,或者
yum
它將是最新的。在全新安裝 docker 映像時,我第一次嘗試執行 yum(禁用網際網路)時,我得到
Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again
如果您擔心已安裝版本和最新穩定版本之間的兼容性,您可能需要確定您的 centos 版本
/etc/redhat-release
並使用http://vault.centos.org/中的軟體包,但請記住它們不會包含任何安全性更新或錯誤修復。要下載軟體包 - 使用官方 redhat 說明:https ://access.redhat.com/solutions/10154
yum install yum-plugin-downloadonly yum install --downloadonly --downloaddir=<directory> <package>
或者
yum install yum-utils yumdownloader --resolve
您還可以使用此答案中的技術查看在要下載 rpm 的 vm 上複製 yum 歷史記錄:https ://unix.stackexchange.com/a/83115
最簡單的方法,它已經工作了很長時間是:
yum-debug-dump => gives file. yum-debug-restore <file-from-debug-dump>
…它的工作原理很像 get/set selections dpkg 命令 AIUI。另請注意,如果您正在回放歷史記錄,您可以使用:
yum history addon-info last saved_tx => gives file yum load-tx <file-from-addon-info>
…而不必自己解析它。
編輯:
要從目錄安裝所有 rpm,如果要安裝它們,或者如果某些下載的文件比已經存在的文件更新,
cd
則只需使用它 ,並且您可以更新它們。rpm -ivh *.rpm``rpm -Uvh *.rpm