Qual é o comando para procurar por Java, JRE ou OpenJDK instalados em 64 bits?

2

Eu tenho uma pergunta sobre o seguinte comando:

apt-cache search java | awk '{print()}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common'

Devido ao meu conhecimento limitado de TI, estou certo em dizer que o (ia32-) no comando acima se refere ao software de 32 bits? Se for, então eu suponho que o comando acima é para o SO instalado de 32 bits.

No entanto, instalei um sistema operacional de 64 bits.

Qual é o parâmetro correto para o software de 64 bits? É (amd64-) ou (ia-64) ou (x86_64 -)?

Qualquer ajuda especializada é muito apreciada.

    
por n00b 24.03.2014 / 15:01

1 resposta

6

Em primeiro lugar, apt-cache search não pesquisa pacotes instalados , procura os disponíveis , ambos instalados e não instalados. Além disso, os vários padrões de pesquisa que você vê não são mutuamente exclusivos, então as linhas correspondentes a qualquer delas serão impressas. Finalmente, o ? após ^(ia32-) significa que ia32- é opcional, a expressão corresponderá às linhas com e linhas que não o são. Então, seu comando funcionará de fato para sistemas de 64 e 32 bits.

O comando equivalente para procurar pacotes instalados seria:

dpkg -l *java* | awk '{print()}' | 
    grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' \
      -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common'

Mas não use isso. Em sistemas derivados do Debian, como o Ubuntu, existe uma ferramenta especial para isso, update-java-alternatives , que, quando executada com a opção -l listará os ambientes Java instalados:

 update-java-alternatives -l

No meu sistema, por exemplo, isso imprime:

java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
jdk-7-oracle-x64 317 /usr/lib/jvm/jdk-7-oracle-x64
    
por terdon 24.03.2014 / 15:28