Centos

在氣隙(離線)CentOS 6 系統上安裝 yum 包

  • April 13, 2017

我有一個 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

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