美文网首页
用yum下载rpm包(不安装)到制定目录,配合createrep

用yum下载rpm包(不安装)到制定目录,配合createrep

作者: 前浪浪奔浪流 | 来源:发表于2022-03-19 16:50 被阅读0次

更换阿里yum源

[root@yum yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2523  100  2523    0     0  19676      0 --:--:-- --:--:-- --:--:-- 19710
[root@yum yum.repos.d]# ll
总用量 16
-rw-r--r--  1 root root 2523 3月  19 15:07 CentOS-Base.repo
-rw-r--r--  1 root root  146 3月  19 09:42 CentOS-Media1.repo1
-rw-r--r--. 1 root root  146 3月  17 14:25 CentOS-Media.repo0
-rw-r--r--. 1 root root 2705 3月  17 14:18 repo-bk.tar.gz

[root@yum yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base extras updates
Cleaning up list of fastest mirrors
Other repos take up 52 M of disk space (use --verbose for details)
[root@yum yum.repos.d]# yum makecache
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                                                                                 | 3.6 kB  00:00:00     
extras                                                                                                                                               | 2.9 kB  00:00:00     
updates                                                                                                                                              | 2.9 kB  00:00:00     
元数据缓存已建立

安装常用工具 ssh,wget工具,网络工具、增强命令补全,gcc编译环境等。

[root@yum yum.repos.d]# yum install -y vim openssl-devel wget net-tools bash-completion gcc-c++ openssl

下载安装epel源

[root@yum ~]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm  /root
[root@yum ~]# cd /root
[root@yum ~]# yum install -y epel-release-latest-7.noarch.rpm
已加载插件:fastestmirror
正在检查 epel-release-latest-7.noarch.rpm: epel-release-7-14.noarch
epel-release-latest-7.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-14 将被 安装
--> 解决依赖关系完成

依赖关系解决

============================================================================================================================================================================
 Package                                 架构                              版本                              源                                                        大小
============================================================================================================================================================================
正在安装:
 epel-release                            noarch                            7-14                              /epel-release-latest-7.noarch                             25 k

事务概要
============================================================================================================================================================================
安装  1 软件包

总计:25 k
安装大小:25 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : epel-release-7-14.noarch                                                                                                                                1/1 
  验证中      : epel-release-7-14.noarch                                                                                                                                1/1 
已安装:
  epel-release.noarch 0:7-14                                                                                                                                                
完毕!

[root@yum ~]# ll /etc/yum.repos.d/
总用量 24
-rw-r--r--  1 root root 2523 3月  19 15:07 CentOS-Base.repo
-rw-r--r--  1 root root  146 3月  19 09:42 CentOS-Media1.repo1
-rw-r--r--. 1 root root  146 3月  17 14:25 CentOS-Media.repo0
-rw-r--r--  1 root root 1358 9月   5 2021 epel.repo
-rw-r--r--  1 root root 1457 9月   5 2021 epel-testing.repo
-rw-r--r--. 1 root root 2705 3月  17 14:18 repo-bk.tar.gz

用yum下载rpm包

yum是基于Red Hat的系统(如CentOS、Fedora、RHEl)上的默认包管理器。使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。

本地yum仓库的rpm包有限,很多rpm包需要在网络上下载。有时我们需要把rpm包下载到本地,在没有外网的环境下使用。

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

yum install <package-name> --downloadonly
默认情况下,一个下载的RPM包会保存在下面的目录中:

/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages
以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)

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

yum install <package-name> --downloadonly --downloaddir=/tmp
注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。

下载rpm包时要确保这个包没有下载过,不然系统就会提示已经下载过了。

如果需要下载已经安装了的rpm包可以使用reinstall命令:
yum reinstall vim-enhanced --downloadonly --downloaddir=/tmp/

[root@yum ~]# yum install vim openssl-devel wget net-tools bash-completion gcc-c++ openssl --downloadonly --downloaddir=/yum/yum-custom/packages
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 bash-completion.noarch.1.2.1-8.el7 将被 安装
---> 软件包 gcc-c++.x86_64.0.4.8.5-44.el7 将被 安装
---> 软件包 net-tools.x86_64.0.2.0-0.25.20131004git.el7 将被 安装
---> 软件包 openssl.x86_64.1.1.0.2k-24.el7_9 将被 安装
---> 软件包 openssl-devel.x86_64.1.1.0.2k-24.el7_9 将被 安装
--> 正在处理依赖关系 zlib-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-24.el7_9.x86_64 需要
--> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-24.el7_9.x86_64 需要
---> 软件包 vim-enhanced.x86_64.2.7.4.629-8.el7_9 将被 安装
--> 正在处理依赖关系 vim-common = 2:7.4.629-8.el7_9,它被软件包 2:vim-enhanced-7.4.629-8.el7_9.x86_64 需要
--> 正在处理依赖关系 libgpm.so.2()(64bit),它被软件包 2:vim-enhanced-7.4.629-8.el7_9.x86_64 需要
---> 软件包 wget.x86_64.0.1.14-18.el7_6.1 将被 安装
--> 正在检查事务
---> 软件包 gpm-libs.x86_64.0.1.20.7-6.el7 将被 安装
---> 软件包 krb5-devel.x86_64.0.1.15.1-51.el7_9 将被 安装
--> 正在处理依赖关系 libkadm5(x86-64) = 1.15.1-51.el7_9,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
--> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
--> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
--> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
--> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
---> 软件包 vim-common.x86_64.2.7.4.629-8.el7_9 将被 安装
--> 正在处理依赖关系 vim-filesystem,它被软件包 2:vim-common-7.4.629-8.el7_9.x86_64 需要
---> 软件包 zlib-devel.x86_64.0.1.2.7-19.el7_9 将被 安装
--> 正在检查事务
---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
---> 软件包 libcom_err-devel.x86_64.0.1.42.9-19.el7 将被 安装
---> 软件包 libkadm5.x86_64.0.1.15.1-51.el7_9 将被 安装
---> 软件包 libselinux-devel.x86_64.0.2.5-15.el7 将被 安装
--> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-10,它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libpcre),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
---> 软件包 vim-filesystem.x86_64.2.7.4.629-8.el7_9 将被 安装
--> 正在检查事务
---> 软件包 libsepol-devel.x86_64.0.2.5-10.el7 将被 安装
---> 软件包 pcre-devel.x86_64.0.8.32-17.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

============================================================================================================================================================================
 Package                                       架构                             版本                                                源                                 大小
============================================================================================================================================================================
正在安装:
 bash-completion                               noarch                           1:2.1-8.el7                                         base                               87 k
 gcc-c++                                       x86_64                           4.8.5-44.el7                                        base                              7.2 M
 net-tools                                     x86_64                           2.0-0.25.20131004git.el7                            base                              306 k
 openssl                                       x86_64                           1:1.0.2k-24.el7_9                                   updates                           494 k
 openssl-devel                                 x86_64                           1:1.0.2k-24.el7_9                                   updates                           1.5 M
 vim-enhanced                                  x86_64                           2:7.4.629-8.el7_9                                   updates                           1.1 M
 wget                                          x86_64                           1.14-18.el7_6.1                                     base                              547 k
为依赖而安装:
 gpm-libs                                      x86_64                           1.20.7-6.el7                                        base                               32 k
 keyutils-libs-devel                           x86_64                           1.5.8-3.el7                                         base                               37 k
 krb5-devel                                    x86_64                           1.15.1-51.el7_9                                     updates                           273 k
 libcom_err-devel                              x86_64                           1.42.9-19.el7                                       base                               32 k
 libkadm5                                      x86_64                           1.15.1-51.el7_9                                     updates                           179 k
 libselinux-devel                              x86_64                           2.5-15.el7                                          base                              187 k
 libsepol-devel                                x86_64                           2.5-10.el7                                          base                               77 k
 libverto-devel                                x86_64                           0.2.5-4.el7                                         base                               12 k
 pcre-devel                                    x86_64                           8.32-17.el7                                         base                              480 k
 vim-common                                    x86_64                           2:7.4.629-8.el7_9                                   updates                           5.9 M
 vim-filesystem                                x86_64                           2:7.4.629-8.el7_9                                   updates                            11 k
 zlib-devel                                    x86_64                           1.2.7-19.el7_9                                      updates                            50 k

事务概要
============================================================================================================================================================================
安装  7 软件包 (+12 依赖软件包)

总计:18 M
总下载量:11 M
安装大小:50 M
Background downloading packages, then exiting:
(1/15): bash-completion-2.1-8.el7.noarch.rpm                                                                                                         |  87 kB  00:00:00     
(2/15): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm                                                                                                   |  37 kB  00:00:00     
(3/15): libcom_err-devel-1.42.9-19.el7.x86_64.rpm                                                                                                    |  32 kB  00:00:00     
(4/15): libkadm5-1.15.1-51.el7_9.x86_64.rpm                                                                                                          | 179 kB  00:00:00     
(5/15): libselinux-devel-2.5-15.el7.x86_64.rpm                                                                                                       | 187 kB  00:00:00     
(6/15): krb5-devel-1.15.1-51.el7_9.x86_64.rpm                                                                                                        | 273 kB  00:00:00     
(7/15): libsepol-devel-2.5-10.el7.x86_64.rpm                                                                                                         |  77 kB  00:00:00     
(8/15): libverto-devel-0.2.5-4.el7.x86_64.rpm                                                                                                        |  12 kB  00:00:00     
(9/15): net-tools-2.0-0.25.20131004git.el7.x86_64.rpm                                                                                                | 306 kB  00:00:00     
(10/15): openssl-1.0.2k-24.el7_9.x86_64.rpm                                                                                                          | 494 kB  00:00:00     
(11/15): pcre-devel-8.32-17.el7.x86_64.rpm                                                                                                           | 480 kB  00:00:00     
(12/15): zlib-devel-1.2.7-19.el7_9.x86_64.rpm                                                                                                        |  50 kB  00:00:00     
(13/15): wget-1.14-18.el7_6.1.x86_64.rpm                                                                                                             | 547 kB  00:00:00     
(14/15): openssl-devel-1.0.2k-24.el7_9.x86_64.rpm                                                                                                    | 1.5 MB  00:00:02     
(15/15): gcc-c++-4.8.5-44.el7.x86_64.rpm                                                                                                             | 7.2 MB  00:00:10     
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                        1.0 MB/s |  11 MB  00:00:10     
exiting because "Download Only" specified


然后
[root@yum ~]# cd /yum/yum-custom/
[root@yum yum-custom]# ll
总用量 8
drwxr-xr-x. 2 root root 4096 3月  19 16:19 packages
drwxr-xr-x  2 root root 4096 3月  19 10:07 repodata
[root@yum yum-custom]# mv repodata  repodataback
[root@yum yum-custom]# ll
总用量 8
drwxr-xr-x. 2 root root 4096 3月  19 16:19 packages
drwxr-xr-x  2 root root 4096 3月  19 10:07 repodataback
[root@yum yum-custom]# createrepo -pdo /yum/yum-custom/ /yum/yum-custom/
Spawning worker 0 with 5 pkgs
Spawning worker 1 with 5 pkgs
Spawning worker 2 with 5 pkgs
Spawning worker 3 with 5 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

在另外的web1上使用https://www.jianshu.com/p/ea9d28ed3010 中建立的局域网yum源安装软件。

[root@web1 ~]# yum install vim wget net-tools bash-completion gcc-c++
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 wget-1.14-18.el7_6.1.x86_64 已安装并且是最新版本
软件包 net-tools-2.0-0.25.20131004git.el7.x86_64 已安装并且是最新版本
软件包 gcc-c++-4.8.5-44.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 bash-completion.noarch.1.2.1-6.el7 将被 升级
---> 软件包 bash-completion.noarch.1.2.1-8.el7 将被 更新
---> 软件包 vim-enhanced.x86_64.2.7.4.629-6.el7 将被 升级
---> 软件包 vim-enhanced.x86_64.2.7.4.629-8.el7_9 将被 更新
--> 正在处理依赖关系 vim-common = 2:7.4.629-8.el7_9,它被软件包 2:vim-enhanced-7.4.629-8.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 vim-common.x86_64.2.7.4.629-6.el7 将被 升级
---> 软件包 vim-common.x86_64.2.7.4.629-8.el7_9 将被 更新
--> 解决依赖关系完成

依赖关系解决

=================================================================================================================================================
 Package                               架构                         版本                                    源                              大小
=================================================================================================================================================
正在更新:
 bash-completion                       noarch                       1:2.1-8.el7                             c7-media                        87 k
 vim-enhanced                          x86_64                       2:7.4.629-8.el7_9                       c7-media                       1.1 M
为依赖而更新:
 vim-common                            x86_64                       2:7.4.629-8.el7_9                       c7-media                       5.9 M

事务概要
=================================================================================================================================================
升级  2 软件包 (+1 依赖软件包)

总下载量:7.1 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for c7-media
(1/3): bash-completion-2.1-8.el7.noarch.rpm                                                                               |  87 kB  00:00:00     
(2/3): vim-enhanced-7.4.629-8.el7_9.x86_64.rpm                                                                            | 1.1 MB  00:00:00     
(3/3): vim-common-7.4.629-8.el7_9.x86_64.rpm                                                                              | 5.9 MB  00:00:00     
-------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                              29 MB/s | 7.1 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在更新    : 2:vim-common-7.4.629-8.el7_9.x86_64                                                                                          1/6 
  正在更新    : 2:vim-enhanced-7.4.629-8.el7_9.x86_64                                                                                        2/6 
  正在更新    : 1:bash-completion-2.1-8.el7.noarch                                                                                           3/6 
  清理        : 1:bash-completion-2.1-6.el7.noarch                                                                                           4/6 
  清理        : 2:vim-enhanced-7.4.629-6.el7.x86_64                                                                                          5/6 
  清理        : 2:vim-common-7.4.629-6.el7.x86_64                                                                                            6/6 
  验证中      : 1:bash-completion-2.1-8.el7.noarch                                                                                           1/6 
  验证中      : 2:vim-common-7.4.629-8.el7_9.x86_64                                                                                          2/6 
  验证中      : 2:vim-enhanced-7.4.629-8.el7_9.x86_64                                                                                        3/6 
  验证中      : 2:vim-enhanced-7.4.629-6.el7.x86_64                                                                                          4/6 
  验证中      : 1:bash-completion-2.1-6.el7.noarch                                                                                           5/6 
  验证中      : 2:vim-common-7.4.629-6.el7.x86_64                                                                                            6/6 

更新完毕:
  bash-completion.noarch 1:2.1-8.el7                                    vim-enhanced.x86_64 2:7.4.629-8.el7_9                                   

作为依赖被升级:
  vim-common.x86_64 2:7.4.629-8.el7_9                                                                                                            

完毕!

yum安装如果提示--skip-broken和rpm -Va --nofiles --nodigest

--> 解决依赖关系完成
错误:软件包:1:openssl-1.0.2k-24.el7_9.x86_64 (c7-media)
          需要:openssl-libs(x86-64) = 1:1.0.2k-24.el7_9
          已安装: 1:openssl-libs-1.0.2k-19.el7.x86_64 (@base)
              openssl-libs(x86-64) = 1:1.0.2k-19.el7
错误:软件包:1:openssl-devel-1.0.2k-24.el7_9.x86_64 (c7-media)
          需要:openssl-libs(x86-64) = 1:1.0.2k-24.el7_9
          已安装: 1:openssl-libs-1.0.2k-19.el7.x86_64 (@base)
              openssl-libs(x86-64) = 1:1.0.2k-19.el7
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest

查找安装了什么版本的rpm包

[root@web1 ~]# rpm -qa|grep openssl-libs
openssl-libs-1.0.2k-19.el7.x86_64
#删除它从新安装
rpm -e --nodeps openssl-libs

再次安装就可以顺利安装了。

参考:
https://www.cnblogs.com/wangmo/p/7205528.html
https://cloud.tencent.com/developer/article/1702240

相关文章

网友评论

      本文标题:用yum下载rpm包(不安装)到制定目录,配合createrep

      本文链接:https://www.haomeiwen.com/subject/ivogdrtx.html