Назад | Перейти на главную страницу

Как получить информацию о пакете YUM

Я новичок в системах 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 но нет чистого java-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.

Кроме того, я не хочу зависеть от Google каждый раз, когда хочу что-то установить, поэтому я могу найти учебник, показывающий имя пакета и параметры, например:

sudo yum install tomcat6 tomcat6-webapps

Где я могу найти tomcat6 сам? Как я узнаю, что есть вариант с именем tomcat6-webapps?

Чтобы ответить на ваш вопрос, я покажу вам, что бы я сделал, чтобы установить / обновить 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

Я считаю, что ответ, который вы ищете, можно найти Вот.