如何使用yum命令只下载软件包而不执行安装操作

本文介绍如何在CentOS或RHEL环境下利用yum命令仅下载指定软件包而不进行安装的操作方法,通过设置特定参数实现软件包及其依赖项的下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内部linux服务器上不了外网,但又需要安装某些软件包,坑爹的是linux中的软件包安装依赖有比较多。或者说有时就是需要使用yum去下载rpm,但是又不想在服务器安装该软件包。总之为了满足这种奇葩需求,试试下面操作吧


CentOS 或 RHEL环境下包管理工具yum可以很好的解决linux下的软件包安装依赖问题,下面就演示如何使用yum命令去下载docker的安装介质,但是不做安装操作:


[root@DevOps docker]# yum install --downloaddir=/tmp/tmp_docker/ --downloadonly docker-engine

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.163.com

Resolving Dependencies

--> Running transaction check

---> Package docker-engine.x86_64 0:17.05.0.ce-1.el7.centos will be installed

--> Processing Dependency: selinux-policy >= 3.13.1-23 for package: docker-engine-17.05.0.ce-1.el7.centos.x86_64

--> Running transaction check

---> Package selinux-policy.noarch 0:3.13.1-166.el7_4.9 will be installed

--> Processing Dependency: policycoreutils >= 2.5 for package: selinux-policy-3.13.1-166.el7_4.9.noarch

--> Running transaction check

---> Package policycoreutils.x86_64 0:2.5-17.1.el7 will be installed

--> Finished Dependency Resolution


Dependencies Resolved


=============================================================================================================================================================================

 Package                                    Arch                              Version                                            Repository                             Size

=============================================================================================================================================================================

Installing:

 docker-engine                              x86_64                            17.05.0.ce-1.el7.centos                            dockerrepo                             19 M

Installing for dependencies:

 policycoreutils                            x86_64                            2.5-17.1.el7                                       base                                  858 k

 selinux-policy                             noarch                            3.13.1-166.el7_4.9                                 updates                               437 k


Transaction Summary

=============================================================================================================================================================================

Install  1 Package (+2 Dependent packages)


Total size: 21 M

Installed size: 75 M

Background downloading packages, then exiting:

exiting because "Download Only" specified

[root@DevOps docker]# 


只下载包到指定目录中,但不执行安装操作。



### 使用 `yum` 下载软件包 #### 安装指定版本的软件包 当需要下载并安装特定版本的软件包时,可以通过如下方式实现: ```bash sudo yum install 软件名-版本号 ``` 例如要安装 httpd 版本为 2.4.6 的软件包: ```bash sudo yum install httpd-2.4.6 ``` 此操作仅会下载该版本的软件包还会将其安装到系统中[^2]。 #### 单纯下载安装 如果仅希望下载某个软件包想立即安装它,可以利用 `yumdownloader` 这一工具来完成这项工作。首先确认是否已安装 `yum-utils` 包,因为 `yumdownloader` 是其中的一部分;如果没有则需先进行安装: ```bash sudo yum install yum-utils ``` 之后便能通过下面这条指令下载所需的 rpm 文件至当前目录下: ```bash yumdownloader 软件名称 ``` 比如想要获取最新版的 `httpd` ,就执行: ```bash yumdownloader httpd ``` 对于某些情况下可能还需要连同依赖项一起下载的情况,只需加上参数 `--resolve` : ```bash yumdownloader --resolve httpd ``` 这样就能把所有必要的组件都保存下来以便后续处理[^3]。 #### 验证下载后的文件 为了确保所获得的内容确实是预期中的 RPM 包,在下载完成后还可以对其进行校验。通常的做法是比较其 SHA 或 MD5 散列值与官方发布的对应值是否一致。过更简便的方法是直接尝试重新加载这个包看能否正常解析: ```bash rpm -Kp *.rpm ``` 上述命令会对给定路径下的 .rpm 文件做基本验证,并报告它们的状态。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值