Como posso instalar um JDK decapitado em um servidor Ubuntu Jaunty?

8

Recentemente, configurei um servidor de construção que requer a execução de um JDK (por exemplo, para compilar as fontes Java). O pacote OpenJDK no Ubuntu utiliza o OpenJDK JRE como uma dependência que, por sua vez, depende de um grande número de pacotes que são relevantes apenas para ambientes gráficos. Para o JRE padrão, há uma versão decapitada do pacote, mas para o JDK, não.

Esse problema foi discutido em vários lugares antes e uma solução que eu encontrei e usei foi a seguinte:

$ apt-get --no-install-recommends -d install openjdk-6-jdk
$ dpkg -i --ignore-depends=openjdk-6-jre /path/to/just-downloaded.deb

Enquanto isso funcionava, agora deixa meu sistema com uma árvore de dependências quebrada e o apt-get se recusa a instalar mais até executar apt-get -f.

Existe uma solução melhor para isso?

Hanno Fietz
fonte

Respostas:

4

Isso foi discutido no seguinte bug do ubuntu .

Tanto quanto posso ver, você tem as seguintes opções:

  1. Use o Java JDK não livre da Sun. (Você pode usar o programa JavaPackage no debian / ubuntu para criar um deb pacakge do JDK java não livre).
  2. Trabalhe com os desenvolvedores do ubuntu para resolver esse problema.
  3. Crie seu próprio pacote OpenJDK-headless.

Obviamente, a opção 2 é a melhor a longo prazo, pois resolve o problema para todos, e as opções 1 e 3 o resolvem apenas para você, no entanto, 1 e 3 são mais rápidos.

Tom Feiner
fonte
11
Esse tópico de bug não me parece muito promissor. Parece que existem alguns efeitos colaterais a serem enfrentados e o mantenedor não parece muito ansioso para resolver o problema. Provavelmente serei egoísta e vou para o Sun JDK.
21711 Hanno Fietz
11
O que devo fazer para implementar a opção 3? Consulte serverfault.com/questions/755573 para minha pergunta.
equaeghe
2

Não foi possível baixar e instalar o JDK da Sun? Sem compilação, sem necessidade de X11. Eu prefiro as opções empacotadas.

chmod +x ~/jdk-6u14-linux-i586.bin
cd /usr
sudo mkdir java
cd java
sudo ~/jdk-6u14-linux-i586.bin
export JAVA_HOME=/usr/java/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
CoverosGene
fonte
0

Eu suspeito que ele só precisava atualizar seus links etc-alternative:

update-alternatives --set java /usr/lib/jvm/default-java/bin/java

(ou algo assim)

djangofan
fonte