我有一台 OracleLinux 8.8 服务器,它无法访问互联网,因此无法访问公共存储库。此外,可用的存储空间非常小,所以我无法将完全同步的存储库放在那里。我正在尝试找到一种方法来获取适合此服务器的正确安装/更新包,并从中创建自定义存储库。
我至少认为我能够获得这些包裹。到目前为止,我得到了:
- 在目标服务器上创建了当前软件包列表(rpm -qa > packagelist.txt)- 还添加了一些需要安装的额外软件包
- 我设置了一个具有类似版本的 VirtualBox VM
- 在虚拟机中,设置目标服务器想要访问的相同存储库
- 用于
yumdownloader --resolve ...
获取所有可用的包 - 运行
createrepo
下载的文件 - 将新的 repo 复制到目标服务器并配置为供 yum 使用
现在的问题是yum
抱怨缺少软件包组元数据。当我使用创建在线存储库的完整副本时,reposync --download-metadata ...
我拥有软件包组信息。但如何为我的自定义存储库准备它?
编辑:我设法通过另一种方法安装了我最需要的软件包:使用 SSH 隧道设置 socks5 代理。这种方法在某些情况下有效 - 但不适合生产服务器。
因此,我需要能够获取有关所有所需包的信息,然后分别下载它们以及它们的所有相关元数据结构(流、组等),然后将这些最少量的安装包复制到目标服务器。
在 AIX 服务器上有一个名为比较报告它能够获取所有已安装软件包的列表 - AIX 等效于rpm -qa- 组建两台服务器并明确告知在一台服务器上安装什么以与另一台服务器完全匹配。