通過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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM