Como instalar o openjdk-7-jdk no Ubuntu 12.04 sem arrastar a GUI não relacionada e os pacotes de som?

16

Ubuntu 12.04.2 LTS

O que está acontecendo aqui?

# apt-get install openjdk-7-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  consolekit cryptsetup-bin dbus-x11 dconf-gsettings-backend dconf-service
  gconf-service gconf-service-backend gconf2 gconf2-common gvfs gvfs-common
  gvfs-daemons gvfs-libs libatasmart4 libavahi-glib1 libbonobo2-0
  libbonobo2-common libcairo-gobject2 libcanberra0 libck-connector0
  libcryptsetup4 libdconf0 libfontenc1 libgconf-2-4 libgconf2-4 libgdu0
  libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgnome-keyring-common
  libgnome-keyring0 libgnome2-0 libgnome2-bin libgnome2-common libgnomevfs2-0
  libgnomevfs2-common libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0
  libidl-common libidl0 libllvm3.0 libltdl7 liblvm2app2.2 liborbit2
  libpam-ck-connector libpolkit-agent-1-0 libpolkit-backend-1-0 libsgutils2-2
  libtdb1 libvorbisfile3 libx11-xcb1 libxaw7 libxcb-glx0 libxcb-shape0 libxmu6
  libxpm4 libxv1 libxxf86dga1 libxxf86vm1 mtools openjdk-7-jre policykit-1
  policykit-1-gnome sound-theme-freedesktop udisks x11-utils

É possível instalar o JDK sem metade do Gnome e do X11? E temas sonoros? Este é um servidor sem cabeça (e sem alto-falante).

Dr.Haribo
fonte
2
Ajuda se você adicionar a --no-install-recommendsopção?
Gtvdijk
3
Por que você precisa do Java Development Kit em um servidor sem cabeça? Se você deseja executar apenas aplicativos java, geralmente tudo o que precisa é o Runtime Environment. Experimente e veja se openjdk-7-jre-headlessatende às suas necessidades.
Eric Carvalho
10
@EricCarvalho Aqui está um caso de uso: um servidor de integração contínua que cria as fontes Java. Construir software Java em um servidor sem cabeça não é tão exótico.
gertvdijk
3
@gertvdijk Entendi. Então eu acho que isso é um bug. Deve haver um pacote openjdk-7-jdk-headless.
Eric Carvalho

Respostas:

9

ATUALIZADA

Eu, pessoalmente, tento evitar o Java porque, na minha opinião, é muito desajeitado. Essas instruções são reunidas de várias fontes, tive que instalar o Java recentemente e isso deve funcionar para você.

Se seus requisitos de licenciamento permitirem, instale o Oracle Java. Baixe o java aqui , você precisa escolher qual deles, com base no que você instalou.

JDK x64

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz

JDK x32

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.tar.gz

JRE x64

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-x64.tar.gz

JRE x32

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-i586.tar.gz

Observe que você precisa de uma solução alternativa para o wgetoracle ser agradável juntos.

Crie um diretório onde seu Java ficará:

sudo mkdir -p /usr/lib/jvm

Mova o Java baixado:

sudo mv jdk-7u51-linux-x64.tar.gz /usr/lib/jvm

Extrair Java:

sudo tar zxvf jdk-7u51-linux-x64.tar.gz

Diga ao Ubuntu que o Java existe:

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_51/bin/javac 1
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_51/bin/java 1
sudo update-alternatives --set javac /usr/lib/jvm/jdk1.7.0_51/bin/javac
sudo update-alternatives --set java /usr/lib/jvm/jdk1.7.0_51/bin/java

Inclua o caminho java no seu perfil do sistema, para que a máquina saiba onde estão os binários Java:

sudo nano /etc/profile

No final do arquivo, adicione isto:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
export PATH

Salve e reinicie.

Teste sua instalação Java:

java -version
Egidijus
fonte
11
Isso funcionou para mim. A única alteração que fiz foi adicionar um link simbólico do diretório jdk atual /usr/lib/jvm/jdk1.7.0_45 para o local genérico: / usr / lib / jvm / java-7-oracle Dessa maneira, não há para atualizar o caminho em / etc / profile (e em possíveis outros locais de aplicativos) toda vez que o JDK for atualizado. Muitos programas (por exemplo, elasticsearch) procuram java em / usr / liv / jvm / java-7-oracle como um dos locais padrão.
Ville
2

Coisas muito antigas, mas se alguém ainda estiver procurando por isso, basta instalar o openjdk-7-jre-headless ou o openjdk-6-jre-headless

wmelendez
fonte
A pergunta está perguntando especificamente sobre a versão 7.
David Foerster
5
jre! = jdk não há jdk-headless
Dr.Haribo 3/14/14
Exceto não: "openjdk-8-jre-headless" depende da "libx11-6" em 16.04, isso acaba atraindo todo o X11.
ThisGuy
-1

Eu acho que não é uma boa idéia ignorar qualquer dependência ao instalar a partir do código-fonte. Você não pode pular isso o tempo todo. Quando você atualiza a dependência usando o apt-get, será verificado também.

Nabil
fonte
3
"ao instalar da fonte" O OP não está instalando da fonte.
Gtvdijk