我是 unix 系统的新手,所以如果我说的不清楚或者说了一些没意义的话,请原谅我。
我刚刚创建了一台 Amazon Linux AMI 机器,我发现它自带了 Java 7 (1.7.0_131),但我想要 Java 8,所以我找到了此主题展示如何更新你的 java 版本....这让我对 yum 的工作方式感到非常困惑。
当我执行时,sudo yum search all java-1.8.0
我得到此列表作为输出:
Loaded plugins: priorities, update-motd, upgrade-helper
================================ Matched: java-1.8.0 ================================
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK API Documentation compressed in
: single archive
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle
该帖子说只需输入sudo yum install java-1.8.0
,但列表中没有 purejava-1.8.0
选项。因此我猜想某个地方有一个包java-1.8.0
,并且该包的内容可能包括 YUM 搜索返回的一些插件。
那么我如何才能知道某个包名实际上会安装什么?或者我如何才能搜索包名?
我想要这种控制,这样我就能找到像java-1.8.0
和 这样的包java-1.8.0-openjdk-headless.x86_64
,并且能够了解java-1.8.0
和 相比里面有什么java-1.8.0-openjdk-headless.x86_64
。
另外,我不想每次安装某些东西时都依赖谷歌,所以我可以找到一些教程来显示包名称和选项,例如:
sudo yum install tomcat6 tomcat6-webapps
我可以在哪里自己找到tomcat6
?我怎么知道有一个名为的选项tomcat6-webapps
?
答案1
为了回答您的问题,我将向您展示如何安装/升级 Java。
要查看当前安装的 Java 版本,我可以运行:
java -version
要查看当前安装的 Java 包的名称,我可以运行:
yum list installed | grep java
要安装 openjdk java,您必须运行:
yum install java-1.8.0-openjdk.x86_64
据我所知,仅通过运行以下命令无法安装 java-1.8.0:
yum install java-1.8.0
因为Java有两个版本,一个是openjdk-java,另一个是oracle-java。
因此,通过提供 -openjdk.x86.64,您实际上告诉 yum 应该安装哪个版本的 Java。
因此,对于您的问题“那么我如何才能看到某个软件包名称实际上会安装什么?或者我如何才能搜索软件包名称?”的答案是,您需要提供您打算安装的软件包的确切名称,这就是将要安装的软件包(以及它的依赖项)。
为了显示 yum 包包含的文件,您可以运行以下命令:
repoquery -l packagename
例子:
[root@centolel ~]# repoquery -l java-1.8.0-openjdk
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-1.b13.el6.x86_64/jre/bin/policytool
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-1.b13.el6.x86_64/jre/lib/amd64/libawt_xawt.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-1.b13.el6.x86_64/jre/lib/amd64/libjawt.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-1.b13.el6.x86_64/jre/lib/amd64/libjsoundalsa.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-1.b13.el6.x86_64/jre/lib/amd64/libsplashscreen.so
/usr/share/applications/java-1.8.0-openjdk-1.8.0.121-1.b13.el6.x86_64-policytool.desktop
/usr/share/icons/hicolor/16x16/apps/java-1.8.0.png
/usr/share/icons/hicolor/24x24/apps/java-1.8.0.png
/usr/share/icons/hicolor/32x32/apps/java-1.8.0.png
/usr/share/icons/hicolor/48x48/apps/java-1.8.0.png
如何找到 tomcat6 包?
[root@centolel ~]# yum search tomcat6
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: centos.joinweb.co.il
* epel: mirror.nonstop.co.il
* extras: centos.joinweb.co.il
* rpmforge: mirror1.hs-esslingen.de
* updates: centos.joinweb.co.il
=========================================================================================== N/S Matched: tomcat6 ===========================================================================================
glite-security-trustmanager-tomcat6.noarch : Java trustmanager interface supporting a GSI grid name space
tomcat6.noarch : Apache Servlet/JSP Engine, RI for Servlet 2.5/JSP 2.1 API
tomcat6-admin-webapps.noarch : The host-manager and manager web applications for Apache Tomcat
tomcat6-docs-webapp.noarch : The docs web application for Apache Tomcat
tomcat6-el-2.1-api.noarch : Expression Language v1.0 API
tomcat6-javadoc.noarch : Javadoc generated documentation for Apache Tomcat
tomcat6-jsp-2.1-api.noarch : Apache Tomcat JSP API implementation classes
tomcat6-lib.noarch : Libraries needed to run the Tomcat Web container
tomcat6-servlet-2.5-api.noarch : Apache Tomcat Servlet API implementation classes
tomcat6-webapps.noarch : The ROOT and examples web applications for Apache Tomcat
编辑#1:
好的,现在已经测试过了,当我说你不能使用 安装时我似乎错了yum install java-1.8.0
,但它在我的计算机上运行良好。
yum install java-1.8.0
当我在测试机上运行时,它自动向我建议了 openjdk 版本,所以我猜它是默认版本:
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================
Package Arch Version Repository Size
========================================================================================================================
Installing:
java-1.8.0-openjdk x86_64 1:1.8.0.121-1.b13.el6 base 200 k
Installing for dependencies:
java-1.8.0-openjdk-headless x86_64 1:1.8.0.121-1.b13.el6 base 32 M
ttmkfdir x86_64 3.0.9-32.1.el6 base 43 k
xorg-x11-fonts-Type1 noarch 7.2-11.el6 base 520 k
另一个有用的命令是:
yum info java-1.8.0-openjdk.x86_64
我相信你能找到你想要的答案这里。