Atualizando o Java no CentOS

0

Atualmente, estou trabalhando em um servidor de produção e não consigo executar meu programa Java nele por causa de uma incompatibilidade entre as versões. O Java 7 está instalado no servidor, enquanto o programa foi compilado usando o Java 8.

Descobri que o seguinte pacote foi instalado: jdk.x86_64

Estou tentando usar este tutorial , mas é mencionado que o pacote java-1.7.0-openjdk deve ser removido para instalar um novo pacote.

Eu gostaria de saber a diferença entre os pacotes (aquele mencionado no artigo e aquele atualmente instalado) e se é seguro removê-lo.

Obrigado

    
por user1319182 25.12.2015 / 03:20

1 resposta

1

Alguns aplicativos são conhecidos por falhar com a versão OpenJDK, fazendo com que eles dependam do Oracle Java. (Por outro lado, algum aplicativo que você queira pode depender do OpenJDK - é esse tipo de mundo).

Em qualquer atualização desse tipo, você terá que avaliar o resultado, para ver se ele melhora ou quebra as coisas. Existem muitas opiniões sobre a implementação.

Leitura adicional:

por 25.12.2015 / 03:29

Tags

O Shorewall pode ser usado no VyOS? O script qstnhdr ___ init.d não fornece saída padrão ______ qstntxt ___

Estou usando o Debian Jessie e quando estou tentando usar algum script do init.d (iniciar, parar, reiniciar). Existem funções %code% %code% %code% que devem dar algo na saída padrão, mas isso não acontece. Na versão mais antiga do Debian eu lembro que funciona normalmente. Mesmo se estiver tentando usar um script com falha, ele sempre obterá a mesma saída:

%bl0ck_qu0te%     
______ azszpr250997 ___
%bl0ck_qu0te%

Não execute scripts em %code% diretamente.

Em sistemas operacionais systemd, não há garantia de que esses scripts existam, e muito menos que eles estejam especificando seu serviço. Mesmo no Debian 7, havia unidades systemd suplantando o System 5 %code% scripts; e isto é mais no Debian 8. Os comandos corretos para usar são:

  • %code% com seus subcomandos %code% , %code% , %code% , %code% e %code%
  • %code%
  • %code% e %code% , mas apenas se você for um script do mantenedor de pacotes

Isso é exatamente o que está acontecendo com você. Sua invocação direta do script está sendo substituída, através de um gancho dentro de uma biblioteca Debian amplamente utilizada de funções de script, com uma invocação de (neste caso particular)

%pre%

Você pode até ver isso na saída à sua frente. É o que o %code% significa. E claramente, longe de falhar, é sucesso em dizer ao systemd para reiniciar o serviço.

Os sinos e assobios interativos dentro do script %code% , incluindo mensagens coloridas, não são mais eficazes. Seu serviço não é executado como um processo filho de %code% . Ele é executado como um processo filho de %code% e possui conexão zero com o terminal no qual você está executando comandos interativamente.

Todo esse %code% scaffolding e geração de mensagens de log é totalmente desnecessário com o systemd, de qualquer forma. O systemd fornece mecanismos de serviço cruzado para habilitar e desabilitar serviços e para reiniciá-los automaticamente. Registra quando inicia e interrompe serviços, sem necessidade dos serviços para fazer isso. Pela minha conta, esse script %code% é simplesmente substituível por 16 unidades %code% comuns, uma para cada serviço. Veja como ficaria:

%pre%

Ligue para %code% , execute %code% e…

  • … há informações de status disponíveis com %code% .
  • … você o habilita para executar no bootstrap com %code% .
  • … você pode ver as entradas de log do systemd para iniciar e pará-lo com %code% .

É muito fácil para os outros 15.

Leitura adicional

___