2016-09-17 2 views
1

새로운 AWS EC2 인스턴스 (Amazon Linux AMI)를 시작했습니다. 그래서 같은 시스템에 자바 1.8.0를 설치할 수 있습니다 : 나는 또한이 명령을 사용하여 설치할 수 있습니다'yum install 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 

는 "자바 1.8.0"가 목록에 표시되지 않습니다 만 "자바 - 1.8.0 -openjdk "

yum search java-1.8.0 

내 관련 질문

은 다음과 같습니다

  1. 왜 않는다"sudo는 냠 자바 1.8.0 "작동 설치? yum repo의 별칭입니까?
  2. 이것이 별칭 인 경우 어떻게 존재하는지 어떻게 알 수 있습니까? 별칭을 검색하거나 나열하는 방법이 있습니까?
+1

'yum list java-1.8.0'을 시도해보십시오. 그러면 예상되는 결과가 나옵니까? – px06

+0

Nope. 이 명령은 "일치하는 패키지가 없습니다"를 표시합니다. 'yum list java-1.8.0-openjdk' 명령을 실행하면 예상되는 결과를 얻을 수 있습니다. – shaunb

답변

1

"yum install"이 지정된 이름의 패키지를 찾지 못하면 해당 이름의 기능을 제공하는 패키지를 찾습니다. 냠 man 페이지에서 설치 섹션에서 :

하는 이름, 다음 패키지를 패키지 일치하지 않는 경우 검색됩니다 "제공"(예 : "_sqlite-cache.so() (64 비트)")이다 등 파일 목록 (예 : "/ usr/bin/yum").

Java-1.8.0-openjdk RPM의 "java-1.8.0"기능이 "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"는 "provide"와 같습니다. 두 가지 모두 지정된 기능을 제공하는 패키지를 검색합니다. 특정 패키지의 기능을 원하면 repoquery를 사용해야합니다. (rpm 명령은 쿼리 할 패키지를 이미 설치하거나 다운로드 한 경우에도 작동합니다.)

+0

좋은 답변입니다. 고맙습니다. – shaunb