【运维杂谈】如何用yum只下载,不安装?

文章介绍了在Linux系统中如何使用yum命令只下载软件包而不进行安装。方法一利用yum自带的--downloadonly和--downloaddir参数;方法二通过yumdownloader命令,需要yum-utils工具包;方法三则是下载整个yum仓库进行离线安装。在实践中,需注意处理依赖关系。

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

吾日三省吾身,想出类拔萃,要把知识,学牢,学全,学深,学广。


哈喽,大家好,我是koten,今天带大家一起研究下linux如何只用yum下载,而不自动安装。

方法一:

用yum自带的参数选项,如果没有自带这个,需要安装yum-plugin-downloadonly安装包。

用yum list去找个软件包测试下,就用这个NetworkManager吧。

1a64dc4cdf3747589720294c812a8757.png
yum -y install --downloadonly --downloaddir /tmp/ NetworkManager 
89d138f25fa84e6a8f2839d78062e236.png

搞定了,自带的参数就可以搞定,--downloadonly 是只下载不安装,并且会自动帮你解决依赖,--downloaddir是指定下载到的路径,不写就安装到了本地了。

 

方法二:

在网上了解到需要用yumdownloader命令,在yum-utils工具包里,咱们先下载这个yum工具包。

yum -y install yum-utils
82c139c1cdbb4eb1808a7b5c1676013d.png

同样下载NetworkManager,如果不加参数的话,会把rpm包下载到本地。

yumdownloader NetworkManager
8dd81ef390f544abaf2dcd8bbe978dc2.png
b256df625c1f4626abcdc006276cd76b.png

咱们也可以用--destdir参数去自定义软件包存放路径,比如说安装到/tmp当中

yumdownloader --destdir /tmp/ NetworkManager
959f90cf154142b29903387a14c34392.png

也可以通过--resolve解决软件的依赖关系

yumdownloader --destdir /tmp/ --resolve NetworkManager
ab104bf0f70d41d9b684d9ab2227ccea.png

现在咱们把/tmp/下的NetworkManager安装包去安装一下。

直接安装,提示要先安装依赖,尝试rpm安装依赖包,发现依赖包也需要依赖包,一层一层套娃太麻烦了,先不安装了。

[root@VMware-koten ~]#rpm -ivh /tmp/NetworkManager-1.18.8-2.el7_9.x86_64.rpm 
error: Failed dependencies:
    NetworkManager-libnm(x86-64) = 1:1.18.8-2.el7_9 is needed by NetworkManager-1:1.18.8-2.el7_9.x86_64
[root@VMware-koten ~]#ll /tmp/
total 4152
-rw-r--r-- 1 root root 1960152 Nov 18  2020 NetworkManager-1.18.8-2.el7_9.x86_64.rpm
-rw-r--r-- 1 root root 1774664 Nov 18  2020 NetworkManager-libnm-1.18.8-2.el7_9.x86_64.rpm
-rw-r--r-- 1 root root  169068 Nov 18  2020 NetworkManager-team-1.18.8-2.el7_9.x86_64.rpm
-rw-r--r-- 1 root root  336828 Nov 18  2020 NetworkManager-tui-1.18.8-2.el7_9.x86_64.rpm
[root@VMware-koten ~]#rpm -ivh /tmp/NetworkManager-{libnm,team,tui}-1.18.8-2.el7_9.x86_64.rpm
error: Failed dependencies:
    NetworkManager(x86-64) = 1:1.18.8-2.el7_9 is needed by NetworkManager-team-1:1.18.8-2.el7_9.x86_64
    NetworkManager = 1:1.18.8-2.el7_9 is needed by NetworkManager-tui-1:1.18.8-2.el7_9.x86_64

 

方法三:

网上看到的,先把所有yum库都下载到本地,再用离线安装的方式安装,这里就不再尝试了,是下策。

-r    #指定已经本地已经配置的 yum 仓库的 repo源的名称。
-p    #指定下载的路径
reposync -r epel -p /opt/local_epel  #把epel源的所有安装包下载到本地。
rpm -Uvh --force --nodeps /opt/local_epel/NetworkManager-1.18.8-2.el7_9.x86_64.rpm    
#忽略所有依赖关系安装NetworkManager

 


我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!

 

<think>好的,用户想了解如何使用yum下载软件包而安装。我之前处理过类似的问题,记得在引用中看到过相关的方法。首先,用户可能需要这个功能来预先下载软件包,然后在多个系统上安装,或者为了离线使用。我需要确认正确的步骤。 根据引用[1],用户需要先安装yum-plugin-downloadonly插件。这个插件允许yum下载安装。步骤应该是先用yum install安装这个插件,然后使用yum install --downloadonly命令来指定下载目录。比如: yum install -y yum-plugin-downloadonly yum install 包名 --downloadonly --downloaddir=/路径 还要注意,如果包已经安装,可能需要加上--disableplugin=fastestmirror来避免插件干扰。此外,引用[2]提到在安装其他软件时使用epel-release和pip,但可能和当前问题无关,可以忽略。引用[3]和[4]提到RabbitMQ的安装,可能涉及下载,但同样是重点。 用户可能会遇到的问题包括插件未安装导致命令无效,或者下载目录权限问题。需要提醒用户使用root权限,并确保目录存在。另外,如果包已经安装,默认会重新下载,可能需要使用reinstall选项。 需要检查是否有其他方法,比如yumdownloader工具,但可能属于同的包,比如yum-utils。这时候可以建议用户安装yum-utils并使用yumdownloader命令,这样更直接。例如: yum install -y yum-utils yumdownloader 包名 --destdir=/路径 这两种方法都要提到,让用户选择。同时,注意路径需要存在,否则会报错。总结步骤,先安装必要插件或工具,再执行下载命令,指定目录。确保命令正确,语法正确,比如--downloaddir和--destdir的区别。 最后,生成相关问题时,可能涉及如何离线安装下载的rpm,或者如何只下载依赖包,或者清除yum缓存等。需要根据常见问题来设计,帮助用户进一步操作。</think>在CentOS系统中使用yum下载软件包而安装的实现方法如下: ### 操作步骤 1. **安装必要插件** ```bash yum install -y yum-plugin-downloadonly ``` 该插件是官方提供的下载专用工具[^1] 2. **执行仅下载操作** ```bash yum install 包名 --downloadonly --downloaddir=/指定路径 ``` 示例:下载httpd到/opt/rpms目录 ```bash mkdir -p /opt/rpms yum install httpd --downloadonly --downloaddir=/opt/rpms ``` 3. **已安装包的下载方法** ```bash yum reinstall 包名 --downloadonly --downloaddir=/路径 ``` 通过reinstall参数可强制下载已存在的包[^1] ### 替代方案(使用yum-utils) 1. 安装下载工具 ```bash yum install -y yum-utils ``` 2. 使用yumdownloader下载 ```bash yumdownloader --destdir=/下载路径 包名 ``` 支持同时下载依赖项: ```bash yumdownloader --resolve --destdir=/路径 包名 ``` ### 注意事项 - 必须使用root权限执行 - 下载路径需要提前创建 - 已安装的包默认会重复下载 - 可通过`--disableplugin=fastestmirror`关闭镜像加速插件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是koten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值