操作系统

Linux系统yum命令安装软件时保留(下载)rpm包

Jager · 8月7日 · 2014年 · 8946次已读

昨天在部署 zabbix 监控的时候,遇到一个问题:监控服务器处于无外网状态,在线安装不可用。而某些依赖包度娘或谷姐搜索起来也挺呛人的!于是想到一个办法,利用有外网的服务器的 yum 命令来安装这些软件,并自动保留安装包即可。

于是就有了以下的转载教程:Linux系统yum命令安装软件时保留(下载)rpm包

一、让 yum 命令下载 RPM 包,而不安装。

yum 是一个优秀的软件获取与系统更新的工具,主要应用于 redhat 系列的发行版本上。但是这样一个优秀的工具却没有原生提供只下载不安装的功能,而这样的功能在 pacman 与 aptitude 下都有。今天在 CentOS 的邮件列表上看到有人在讨论这个问题,了解到了这个问题要解决起来非常方便。

yum 有一个 plugin 叫做 yum-downloadonly,它就可以为用户实现只下载软件包的功能。

我们可以使用以下命令安装这个插件:

yum install yum-downloadonly

完成安装后,yum 就多了两个命令参数,分别是:

--downloadonly

--downloaddir=/path/to/dir

这两个命令参数的含义非常明确,不用多作解释了,这样,用户就可以做到使用 yum 只下载软件包,不自动安装了

示例:

yum install unixODBC --downloadonly --downloaddir=/usr/local/src

就会自动把对应系统的 unixODBC 版本下载到目录 /usr/local/src 下。

如果系统中已经安装了 unixODBC,那么就不会下载成功了!但我又需要这个安装包,咋办呢?办法也很直接,先使用 yum  remove 卸载,再执行一次命令即可获得这个安装包了。

 

二、不使用 yum-downloadonly 插件,自动安装或升级的同时保留 RPM 包

yum 默认情况下,升级或者安装后,会删除下载的 rpm 包。

不过,我们也可以如下设置升级后不删除下载的 rpm 包

vim /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0

将 keepcache=0 修改为 keepcache=1, 安装或者升级后,在目录 /var/cache/yum 下就会有下载的 rpm 包了。

4 条回应
  1. 乐心湖 2014-8-7 · 11:28

    学习了!

  2. Phnomi 2014-8-7 · 18:15

    感谢分享

  3. 超級efly 2014-8-7 · 19:26

    前來支持一下~學習啦!

  4. 成航先森 2016-8-23 · 16:41

    我去,前几天才为了装一个软件,找依赖包,最后把服务器都给弄崩了 :cry: