Próprio repositório yum - nome de pacote estranho com o Oracle JDK

1

Acabei de criar um repositório YUM personalizado por meio de createrepo em um de nossos servidores e tornei os outros cientes disso. Eu tenho três RPMs no repositório:

[foo@one repository]$ ls
jdk-7u4-linux-x64.rpm  jdk-7u79-linux-x64.rpm  jdk-8u65-linux-x64.rpm  repodata

Agora, quando procuro por pacotes disponíveis, recebo a seguinte saída:

[foo@two ~]$ sudo yum list available jdk*
Available Packages
jdk.x86_64            2000:1.7.0_79-fcs     
jdk1.8.0_65.x86_64    2000:1.8.0_65-fcs 

Alguns servidores já devem ter o Java 8 e alguns ainda precisam ser atualizados e estão executando o Java 7. Para atualizar isso sem problemas, eu configuraria o Ansible para instalar um determinado pacote Java, dependendo do nó com o qual ele estivesse falando.

É claro que posso dizer instalar jdk nos servidores Java 7 e instalar jdk1.8.0_65 nos servidores Java 8, mas isso parece arriscado.

Agora, minha pergunta: por que a versão está incluída no Java 8 rpm e por que é omitida para o Java 7? E existe uma maneira de tornar a versão 7 explícita no nome do pacote?

    
por Sebastian Wramba 11.11.2015 / 16:30

1 resposta

1

Isso não é estranho, é o jeito que o oracle decidiu escolher os nomes.

Para a versão 1.7, o nome do pacote jdk é "jdk", eles têm O epoch Tag definido como 2000 e várias versões (1.7.0_79-fcs, 1.7.0_25-fcs).

Desta forma você pode fazer atualizações no pacote e instalar o pacote fazendo "yum install jdk"

A partir do 1.8, eles decidiram usar para cada versão um nome de pacote diferente. Portanto, o nome do pacote agora é "jdk1.8.0_65", epoch é "2000" e a versão é "1.8.0_65-fcs".

Desta forma você não pode instalar mais um pacote "padrão" (jdk), você precisa saber o nome dele: "yum install jdk1.8.0_65". A vantagem é que você pode instalar vários jdks e usar o que você quiser.

    
por 12.11.2015 / 10:11