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

本文主要目的是yum 在安装rpm包的时候,下载的RPM及依赖包会保存在某个目录。

配置yum

yum 配置参照如下:

参照:http://www.cndba.cn/dave/article/154

安装 epel-release 包会自动配置在线yum源

[[email protected] packages]# rpm -ivh epel-release-7-9.noarch.rpm
[[email protected] yum.repos.d]# ll
total 16
-rw-r--r--. 1 root root  957 Nov 28 18:29 epel.repo
-rw-r--r--. 1 root root 1056 Nov  5  2012 epel-testing.repo
[[email protected] yum.repos.d]# cat epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http:/ /download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https:/ /mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=0
gpgkey=file:/ //etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
#baseurl=http:/ /download.fedoraproject.org/pub/epel/6/$basearch/debug
mirrorlist=https:/ /mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:/ //etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
#baseurl=http:/ /download.fedoraproject.org/pub/epel/6/SRPMS
mirrorlist=https:/ /mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:/ //etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1

也可以配置163的yum 源:

[[email protected] yum.repos.d]# cat CentOS-Base.repo
[base]
name=CentOS-$releasever -Base
baseurl=http:/ /mirrors.163.com/centos/7.4.1708/os/$basearch/
gpgcheck=1
gpgkey=http:/ /mirrors.163.com/centos/7.4.1708/os/x86_64/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http:/ /mirrors.163.com/centos/7.4.1708/updates/$basearch/
gpgcheck=1
gpgkey=http:/ /mirrors.163.com/centos/7.4.1708/os/x86_64/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=http:/ /mirrors.163.com/centos/7.4.1708/extras/$basearch/
gpgcheck=1
gpgkey=http:/ /mirrors.163.com/centos/7.4.1708/os/x86_64/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http:/ /mirrors.163.com/centos/7.4.1708/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http:/ /mirrors.163.com/centos/7.4.1708/os/x86_64/RPM-GPG-KEY-CentOS-7

方法一: yum命令下载RPM包,而不安装

yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的。
$ sudo yum install --downloadonly  
默认情况下,一个下载的RPM包会保存在下面的目录中:
/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages 
以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)
如果你想要将一个包下载到一个指定的目录(如/tmp):
$ sudo yum install --downloadonly --downloaddir=/tmp  
注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。
另外一个重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项:

实例:

 

[[email protected] software]# sudo yum install --downloadonly --downloaddir=/packages perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes
下载的包和依赖包都保存在/packages目录下
[[email protected] packages]# ll
total 1820
-rw-r--r--. 1 root root  14704 Nov 28 22:54 epel-release-7-9.noarch.rpm
-rw-r--r--. 1 root root  87119 Nov 28 22:57 mha4mysql-manager-0.56-0.el6.noarch.rpm
-rw-r--r--. 1 root root  36326 Nov 28 22:57 mha4mysql-node-0.56-0.el6.noarch.rpm
-rw-r--r--. 1 root root  27508 Nov 28 22:54 perl-Class-Load-0.20-3.el7.noarch.rpm
-rw-r--r--. 1 root root  25508 Nov 28 22:54 perl-Config-Tiny-2.14-7.el7.noarch.rpm
-rw-r--r--. 1 root root  23448 Nov 28 22:54 perl-Data-OptList-0.107-9.el7.noarch.rpm
-rw-r--r--. 1 root root 143504 Nov 28 22:54 perl-DBD-MySQL-4.023-5.el7.x86_64.rpm
-rw-r--r--. 1 root root  17524 Nov 28 22:54 perl-Email-Date-Format-1.002-15.el7.noarch.rpm
-rw-r--r--. 1 root root  36188 Nov 28 22:54 perl-IO-Socket-IP-0.21-4.el7.noarch.rpm
-rw-r--r--. 1 root root 116932 Nov 28 22:54 perl-IO-Socket-SSL-1.94-6.el7.noarch.rpm
-rw-r--r--. 1 root root  58928 Nov 28 22:54 perl-List-MoreUtils-0.33-9.el7.x86_64.rpm
-rw-r--r--. 1 root root  84300 Nov 28 22:54 perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm
-rw-r--r--. 1 root root  60212 Nov 28 22:54 perl-Mail-Sender-0.8.23-1.el7.noarch.rpm
-rw-r--r--. 1 root root  29540 Nov 28 22:54 perl-Mail-Sendmail-0.79-21.el7.noarch.rpm
-rw-r--r--. 1 root root 111024 Nov 28 22:54 perl-MailTools-2.12-2.el7.noarch.rpm
-rw-r--r--. 1 root root  98316 Nov 28 22:54 perl-MIME-Lite-3.030-1.el7.noarch.rpm
-rw-r--r--. 1 root root  39184 Nov 28 22:54 perl-MIME-Types-1.38-2.el7.noarch.rpm
-rw-r--r--. 1 root root  16908 Nov 28 22:54 perl-Module-Implementation-0.06-6.el7.noarch.rpm
-rw-r--r--. 1 root root  19020 Nov 28 22:54 perl-Module-Runtime-0.013-4.el7.noarch.rpm
-rw-r--r--. 1 root root  29096 Nov 28 22:54 perl-Net-LibIDN-0.12-15.el7.x86_64.rpm
-rw-r--r--. 1 root root   9360 Nov 28 22:54 perl-Net-SMTP-SSL-1.01-13.el7.noarch.rpm
-rw-r--r--. 1 root root 292308 Nov 28 22:54 perl-Net-SSLeay-1.55-6.el7.x86_64.rpm
-rw-r--r--. 1 root root  18840 Nov 28 22:54 perl-Package-DeprecationManager-0.13-7.el7.noarch.rpm
-rw-r--r--. 1 root root  34856 Nov 28 22:54 perl-Package-Stash-0.34-2.el7.noarch.rpm
-rw-r--r--. 1 root root  32032 Nov 28 22:54 perl-Package-Stash-XS-0.26-3.el7.x86_64.rpm
-rw-r--r--. 1 root root  29128 Nov 28 22:54 perl-Parallel-ForkManager-1.18-2.el7.noarch.rpm
-rw-r--r--. 1 root root  38636 Nov 28 22:54 perl-Params-Util-1.07-6.el7.x86_64.rpm
-rw-r--r--. 1 root root  70620 Nov 28 22:54 perl-Params-Validate-1.08-4.el7.x86_64.rpm
-rw-r--r--. 1 root root  21508 Nov 28 22:54 perl-Sub-Install-0.926-6.el7.noarch.rpm
-rw-r--r--. 1 root root  43004 Nov 28 22:54 perl-Sys-Syslog-0.33-3.el7.x86_64.rpm
-rw-r--r--. 1 root root  52744 Nov 28 22:54 perl-TimeDate-2.30-2.el7.noarch.rpm
-rw-r--r--. 1 root root  46304 Nov 28 22:54 perl-Time-HiRes-1.9725-3.el7.x86_64.rpm
-rw-r--r--. 1 root root  24004 Nov 28 22:54 perl-Try-Tiny-0.12-2.el7.noarch.rpm

方法二:不使用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 包了。

你可能感兴趣的:(linux)