gpt4 book ai didi

java - 'yum install java-1.8.0' 是某种别名吗?

转载 作者:太空狗 更新时间:2023-10-29 12:00:21 25 4
gpt4 key购买 nike

我启动了一个新的 AWS EC2 实例 (Amazon Linux AMI)。我可以像这样在机器上安装 Java 1.8.0:

sudo yum install java-1.8.0

我也可以使用这个命令安装:

sudo yum install java-1.8.0-openjdk

两种情况下都安装了相同的包和依赖项。当我执行以下操作时,我收到“没有要列出的匹配包”:

yum info java-1.8.0

当我执行以下操作时,“java-1.8.0”没有出现在列表中,只有“java-1.8.0-openjdk”:

yum search java-1.8.0

我的相关问题是:

  1. 为什么“sudo yum install java-1.8.0”有效?它是 yum 存储库中的别名吗?
  2. 如果这确实是一个别名,我怎么知道它存在?有没有办法搜索或列出别名?

最佳答案

如果“yum install”没有找到具有指定名称的包,它将寻找提供具有该名称的功能的包。从 yum 手册页的安装部分:

If the name doesn’t match a package, then package "provides" are searched (e.g. "_sqlite-cache.so()(64bit)") as are filelists (Eg. "/usr/bin/yum").

“java-1.8.0”被列为 java-1.8.0-openjdk RPM 中的一个特性,这就是为什么它是由“yum install java-1.8.0-openjdk”安装的。如果在 yum 中有其他软件包提供该功能,您可以轻松地获得其中一个。我不确定 yum 如何在提供相同功能的多个包之间进行选择,但如果应用程序的特定风格/版本对您来说很重要,我就不会依赖它。

如果您安装了 yum-utils,repoquery 命令可以向您显示有关包功能的信息(以及许多其他信息)。例如,repoquery --provides java-1.8.0-openjdk 将列出该包提供的所有功能。要搜索所有提供 java-1.8.0 功能的软件包,您可以使用 repoquery --whatprovides java-1.8.0 或仅使用 yum provides java-1.8.0。请注意,在 yum 中,“whatprovides”与“provides”相同;两者都搜索提供指定功能的包。如果要获取指定包中的特性,需要使用repoquery。 (如果您已经安装或下载了要查询的包,rpm 命令也可以使用。)

关于java - 'yum install java-1.8.0' 是某种别名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39551163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com