我需要找到一种在基于 RHEL 的系统上完全离线安装 rpm 的方法,在我的测试中它是 AlmaLinux。因此,我需要下载软件包并在离线计算机上安装 RPM。
我当前的流程是使用 下载软件包dnf -y download $package --resolve --alldeps --downloaddir $localRPMPath
,使用 创建一个存储库createrepo
并将其安装在离线计算机上dnf -y install $package --nogpgcheck --disablerepo=* --repofrompath localrepo,file://$localRPMPath
问题在于,在某些情况下,下载的依赖项与正常安装的依赖项不同。就我而言,一个示例是包“net-snmp-agent-libs-1:5.8-14.el8_2.1.i686”。它与“rpm-libs”有依赖关系。如果我这样做dnf deplist net-snmp-agent-libs-1:5.8-14.el8_2.1.i686
,我会得到依赖项 rpm-libs-4.14.3-24.el8_6.i686,并且通过下载命令我会得到这个包。如果我使用 进行安装dnf install net-snmp-agent-libs-1:5.8-14.el8_2.1.i686
,则会安装此版本 4.14.3-23.el8 的 rpm-libs。
如果我尝试从同一台计算机上的本地存储库安装,我会收到一条错误消息,指出我无法安装此版本的 rpm-libs,因为存在其他依赖项,并且它想要安装我在执行正常操作时看到的版本安装。
我怎样才能告诉下载命令更好地检查这个或下载更多版本的包。我不在乎我的本地仓库是否大 X 倍。
谢谢