두 개의 rpm 파일이 있는데 각 파일에는 서로 다른 버전의 Java SDK가 포함되어 있습니다. 둘 다 설치하고 싶어서 하나를 설치한 다음 다른 것을 설치했지만 최신 것을 설치하면 이전 것을 덮어썼습니다.
$ ls ./ibm-java*
./ibm-java-x86_64-sdk-6.0-16.15.x86_64.rpm
./ibm-java-x86_64-sdk-8.0-2.0.x86_64.rpm
$ sudo yum install ibm-java-x86_64-sdk-6.0-16.15.x86_64.rpm
...
$ ls /opt/ibm/
java-x86_64-60
$ sudo yum install ibm-java-x86_64-sdk-8.0-2.0.x86_64.rpm
...
$ ls /opt/ibm/
java-x86_64-80
동시에 설치하는 방법이 있나요? 나는 yum의 옵션을 보았지만 관련된 내용을 보지 못했습니다.
답변1
설명에서 언급했듯이 두 패키지 모두 동일한 경로를 사용할 수 있습니다. 예를 들어, Java 패키지는 일반적으로 설치됩니다(예외문서/usr/bin
)을 실제 파일에 추가합니다. /usr/bin
, 또는 (시스템에 따라)에서 이를 명시적으로 찾을 수 있는 몇 가지 방법이 있습니다.대안예를 들어 디렉터리입니다 /etc/alternatives
.
명시적인 충돌이 없더라도 패키저에서는 일부 이전 버전을 더 이상 사용되지 않는 것으로 간주하여 누군가가 이전 버전을 유지하기 어렵게 만들 수 있습니다.
최신 패키지를 설치하기 전에 항상 이전 디렉터리 내용을 tar로 만든 다음 최신 패키지를 설치한 후( yum
이전 패키지가 제거된 경우) 이를 복원할 수 있습니다. 이렇게 하면 yum
이전 버전이 알려지지 않으며 PATH
특정 애플리케이션에 대해 설정하는 등 애플리케이션이 해당 버전을 사용할 수 있도록 필요한 모든 작업을 수행할 수 있습니다.
답변2
이 질문은 오래되었지만 아마도 검색 결과 상단에 있을 것이므로 이 질문을 검색하는 저와 같은 다른 사람들에게 유효한 답변을 제공할 수 있습니다.
yum install --setopt=installonlypkgs=jdk1.8 jdk1.8
또는 이 옵션을 사용하여 yum.conf에 "provides"를 영구적으로 포함할 수 있습니다. 이 매개변수를 사용할 때는 주의해야 합니다. 이 매개변수를 설정하면 기본적으로 커널 패키지에 대해 이 옵션이 사용되지 않도록 명시적으로 비활성화되는지 여부가 확실하지 않으므로 동시에 설치된 커널 패키지에 대해 이 옵션을 실수로 비활성화할 수 있습니다. .