我想在无法访问互联网的 RedHat 系统上安装一些软件包(.rpm 文件)。因此,我必须在另一个系统上下载软件包并将它们复制到目标系统。但我没有另一个RedHat系统;我只有 MacBook。而且,更糟糕的是,我在 MacBook 上的互联网访问是通过绑定手机的 3G 互联网连接实现的,而我的网络提供商将绑定的互联网速度限制为 384 kBps。因此,我无法下载 1.5 GB 的 RedHat ISO 来安装为虚拟机,因为这需要几个小时。因此,能够在我的 Mac 上下载所需的 RPM 文件会更加高效,因为它们的大小通常为几 kB,而且我无法看到所有所需 RPM 依赖文件的总大小超过,100MB。
那么,我该如何编写与下面基于 Fedora 的 Linux 代码等效的 Mac 代码:
sudo yum install \
--installroot=</path/to/tmp_dir> \
--downloadonly --downloaddir <rpm_dir> <package>
为了在 Mac 中下载所有必需的 RPM 包及其依赖项?
答案1
最简单的方法是安装 Docker 并提取基本的 Fedora 映像(未压缩的约 250MB),然后使用 或yum deplist
来repoquery
获取依赖项列表并yumdownloader
获取 URL。
您还可以/etc/yum.conf
通过设置进行修改keepcache=1
,从容器内安装软件包并获取保存的 RPM,但这可能还会下载您已经安装在其他系统上的软件包,因为 fedora docker 镜像非常小。