如何在 RHEL 8 / CentOS 8 系统中下载 RPM 包而不安装它们 ?

在 RHEL 和 CentOS 服务器上工作时,在某些情况下,我们希望从命令行下载特定的或一组 RPM 包,而不安装它。虽然我们可以使用 wget 命令来下载包,但是 wget 不会下载包及其依赖项。

在 RHEL 8 或 CentOS 8 上,DNF 或 yum 是一个命令行包管理工具。使用 DNF 或 yum,我们可以安装、更新和删除 RPM 包。除此之外,它还可以用来下载包和依赖项,而不需要安装它们。

在本指南中,我们将介绍RHEL 8 或 CentOS 8 系统中,如何下载 RPM 包而不需要安装它们。

下载特定的 RPM 包

RHEL 8 或 CentOS 8 的 dnf 或 yum 命令有下载标志,允许下载 RPM 包。

语法如下:

$ sudo dnf download

假设我们想下载 nfs-utils 包

$ sudo dnf download nfs-utils

上面的命令将在本工作目录中下载 nfs-utils 包,它不会下载依赖项。查看下载的包

$ ls
nfs-utils-2.3.3-26.el8.x86_64.rpm
$

下载 RPM 包和依赖项

使用 dnf 或 yum 命令中的 -downloadonly 标记,可以下载 RPM 包及其依赖项。我们也可以使用 dnf 命令中的 -downaddir 标记把 RPM 包下载到特定的文件夹。

语法如下:

$ sudo dnf install –downloadonly –downloaddir

假设我们想在 packages 目录中下载 Ansible RPM 及其依赖项。

$ mkdir packages
$ sudo dnf install ansible --downloadonly --downloaddir ~/packages/

Download-RPM-Package-DNF-Command-RHEL

成功执行上述命令后,验证是否下载了 Ansible RPM 包

$ ls -l packages/

Verify-Downloaded-RPM-Packages-ls-Command

现在,我们可以为这些包制作一个 tar 文件,并将其传输到我们想要安装 ansible 的远程系统(该系统没有互联网和软件源连接)

下载分组包

假设我们想下载 Development Tools 分组下的所有包

$ sudo dnf group install "Development Tools" --downloadonly --downloaddir ~/dev-tools/ -y

Download-Development-tools-rhel-centos

检查软件包是否已下载

$ ls -l ~/dev-tools/

Verify-Group-Downloaded-Packages-ls-command

注意 :当我们使用 dnf 或 yum 命令下载软件包时,如果不使用 -downloaddir 标志,软件包将会下载到如下目录:

  • ‘/var/cache/dnf/dnf/baseos-xxxxx/packages/’,
  • '/var/cache/‘dnf/appstream-xxxx/packages/’,
  • ‘/var/cache/dnf/epel-xxxx/packages/’

我的开源项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值