当前位置: 首页 > news >正文

如何从Yum库下载rpm包但不安装

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

目标

yum是基于Red Hat的系统(如CentOS、Fedora、RHEl)上的默认包管理器。使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。但是有时候因为yum库中RPM包版本的不确定性,我们想将一个RPM包下载到本地,用于以后的重复安装。

方法

方法一:yum

yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的。

$sudo yum install --downloadonly <package-name>


默认情况下,一个下载的RPM包会保存在下面的目录中:
/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages
以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)

如果你想要将一个包下载到一个指定的目录(如/tmp):

$sudo yum install --downloadonly --downloaddir=/tmp <package-name>

注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。
另外一个重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项:

$sudo yum install yum-plugin-downloadonly

如果没有该插件,你会在使用yum时得到以下错误:
Command line error: no such option: --downloadonly

方法二: Yumdownloader

另外一个下载RPM包的方法就是通过一个专门的包下载工具--yumdownloader。 这个工具是yum工具包(包含了用来进行yum包管理的帮助工具套件)的子集。

$sudo yum install yum-utils

下载一个RPM包:

$sudo yumdownloader <package-name>

下载的包会被保存在当前目录中。你需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。

下载lsof示例:

$sudo yumdownloader lsof --resolve --destdir=/data/mydepot/

--resolve 表示为下载依赖

 

 

转载于:https://my.oschina.net/u/2357619/blog/1608313

相关文章:

  • 「镁客·请讲」翼辉信息黄晓清:国产系统需有自己的灵魂,一行一行去码并不可怕...
  • Java读取Excel并解析文本(并格式化输出)
  • mysql五:索引原理与慢查询优化
  • Cookie和Seesion
  • 【347天】每日项目总结系列085(2018.01.18)
  • mui---调用图像裁剪android
  • POI导出excel文件样式
  • Kong 发布 Kong Brain 和 Kong Immunity,可进行智能自动化和适应性监控
  • 开源项目支持CocoaPods
  • mongodb 添加用户报错TypeError:db.addUser is not a function (mongodb3.4.1)
  • now code——小a和黄金街道(欧拉函数和快速幂模板)
  • 手动配置IP网络
  • 移动商城第十三篇【用户拦截器】
  • HOWTO fix Windows Update error 0x80244019
  • 事件的捕获、冒泡、委托
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • DataBase in Android
  • ES6 学习笔记(一)let,const和解构赋值
  • leetcode-27. Remove Element
  • Node + FFmpeg 实现Canvas动画导出视频
  • 代理模式
  • 仿天猫超市收藏抛物线动画工具库
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • ------- 计算机网络基础
  • 使用common-codec进行md5加密
  • 数据仓库的几种建模方法
  • 我建了一个叫Hello World的项目
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 智能合约开发环境搭建及Hello World合约
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #Spring-boot高级
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (初研) Sentence-embedding fine-tune notebook
  • (二)WCF的Binding模型
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (算法)N皇后问题
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (原)本想说脏话,奈何已放下
  • (转)程序员技术练级攻略
  • .Net MVC4 上传大文件,并保存表单
  • .Net 代码性能 - (1)
  • .NET 服务 ServiceController
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .net下简单快捷的数值高低位切换
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用