通过yum展示安装包依赖关系
背景
平时测试环境中,服务器是可以访问外网的,而在内网环境,想要安装一些软件,比如docker,就需要离线安装,需要提前准备好需要的rpm安装包以及其依赖包
本文记录下如何使用yum展示软件包的依赖关系,以及使用yum下载这些软件包
展示软件包依赖关系
比如我现在查了下yum可以装的docker版本
yum list | grep <package_name>
[root@web01 /]# mkdir /pack
[root@web01 /]# cd /pack/
[root@web01 pack]# yum list| grep docker
cockpit-docker.x86_64 195.6-1.el7.centos extras
docker.x86_64 2:1.13.1-162.git64e9980.el7.centos
docker-client.x86_64 2:1.13.1-162.git64e9980.el7.centos
docker-client-latest.x86_64 1.13.1-58.git87f2fab.el7.centos
docker-common.x86_64 2:1.13.1-162.git64e9980.el7.centos
docker-compose.noarch 1.18.0-4.el7 epel
docker-distribution.x86_64 2.6.2-2.git48294d9.el7 extras
docker-latest.x86_64 1.13.1-58.git87f2fab.el7.centos
docker-latest-logrotate.x86_64 1.13.1-58.git87f2fab.el7.centos
docker-latest-v1.10-migrator.x86_64 1.13.1-58.git87f2fab.el7.centos
docker-logrotate.x86_64 2:1.13.1-162.git64e9980.el7.centos
...
再去使用这个包名展示依赖关系:
yum deplist <package_name>
[root@web01 /]# yum deplist ostree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
package: ostree.x86_64 2019.1-2.el7
dependency: /bin/bash
provider: bash.x86_64 4.2.46-34.el7
dependency: /bin/sh
provider: bash.x86_64 4.2.46-34.el7
...
yum下载软件包以及其依赖
有两种方式,一种是使用yum,另一种是安装一个软件yumdownloader
1.yum下载未安装的软件包
语法
yum install --downloadonly --downloaddir=<directory> <package>
#注意,该命令仅下载、不安装,并将其相关依赖的软件包一并下载到'指定目录'
#如果本机已经安装了某个依赖,那么这个依赖将不会下载
#使用该命令最好在一个全新的环境下,否则,可能导致依赖漏下
示例
[root@web01 pack]# yum install --downloadonly --downloaddir=/pack docker.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 2:1.13.1-162.git64e9980.el7.centos will be installed
...
[root@web01 pack]# ll |wc -l
51
2.使用yumdownloader
安装yum-utils包,内部包含yumdownloader等命令
yum install yum-utils
语法
yumdownloader [--resolve] [--destdir=<directory>] <package_name>
--resolve 解析依赖关系下载安装软件必要的依赖
--destdir 下载软件包的目录
#注意,下载软件包,不管当前系统是否安装,都会下载,不安装
示例
[root@web01 pack]# yumdownloader --resolve --destdir=/pack docker.x86_64
...
[root@web01 pack]# ll |wc -l
51
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步