“repoquery”是一个从 YUM 存储库中查询信息的程序,类似于 rpm 查询。
应该安装“yum-utils”包来使用这个命令。
如果它尚未安装在系统中,我们可以通过以下 yum 命令安装该软件包。
# yum install yum-utils
以下命令让我们可以查看已安装的 rpm 包的依赖关系。
# repoquery --requires --resolve [package]
其中:
- -requires - 列出包依赖项。
- -resolve - 与 -requires 一起使用时,解析原始包的功能。
- package - rpm 包名
例子:
# repoquery --requires --resolve nano info-0:5.1-4.el7.x86_64 ncurses-libs-0:5.9-14.20130511.el7_4.x86_64 bash-0:4.2.46-29.el7_4.x86_64 glibc-0:2.17-55.el7_0.3.i686 glibc-0:2.17-106.el7_2.1.x86_64
我们可以使用 repoquery 命令来收集作为我们要更新的软件包的依赖项的软件包列表。
请注意,即使我们为要查询的包指定版本,这也会获取最新版本的依赖项
有关更多信息,请参阅手册页 man repoquery 或者帮助文本“repoquery -help”。
# man repoquery
# repoquery --help
递归解决依赖关系
我们可以使用 -recursive 选项和“-requires -resolve”选项来递归查询包。
例如 :
# repoquery --requires --resolve --recursive nano pcre-0:8.32-15.el7_2.1.x86_64 glibc-0:2.17-55.el7_0.3.i686 bash-0:4.2.46-29.el7_4.x86_64
查看更多教程 https://on itroad.com
替代方法 - yumdownloader
另一种方法是使用 yumdownloader 但请注意,这不会获取依赖项的依赖项,因此我们可能仍然需要在列表中的其他包上运行它,直到我们满足所有要求。
# yumdownloader --resolve systemd Loaded plugins: langpacks, product-id --> Running transaction check ---> Package systemd.x86_64 0:219-42.el7_4.4 will be installed --> Processing Dependency: systemd-libs = 219-42.el7_4.4 for package: systemd-219-42.el7_4.4.x86_64
日期:2020-09-17 00:13:41 来源:oir作者:oir