Как установить openjdk-7-jdk в Ubuntu 12.04, не перетаскивая в несвязанные GUI и звуковые пакеты?

16

Ubuntu 12.04.2 LTS

Что тут происходит?

# 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

Можно ли установить JDK без половины Gnome и X11? А озвучивать темы? Это безголовый (и без динамика) сервер.

Dr.Haribo
источник
2
Поможет ли вам добавить --no-install-recommendsопцию?
gertvdijk
3
Зачем вам нужен Java Development Kit на автономном сервере? Если вы хотите запускать только Java-приложения, как правило, все, что вам нужно, это среда выполнения. Попробуйте и посмотрите, openjdk-7-jre-headlessподходит ли вам ваш запрос.
Эрик Карвалью
10
@EricCarvalho Вот один из вариантов использования: сервер непрерывной интеграции, создающий исходные коды Java. Создание программного обеспечения Java на безголовом сервере не так уж экзотично.
gertvdijk
3
@gertvdijk Понял. Тогда я думаю, что это ошибка. Должен быть пакет openjdk-7-jdk-headless.
Эрик Карвалью

Ответы:

9

ОБНОВЛЕНО

Я лично стараюсь избегать Java, потому что на мой взгляд это очень неуклюже. Эти инструкции собраны из разных источников, мне недавно пришлось установить Java, и это должно сработать для вас.

Если ваши лицензионные требования позволяют, установите Oracle Java. Загрузите Java здесь , вам нужно выбрать тот, который вам нужен, в зависимости от того, что вы установили.

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

Обратите внимание, что вам нужен обходной путь wgetи оракул, чтобы хорошо играть вместе.

Создайте каталог, где будет жить ваша Java:

sudo mkdir -p /usr/lib/jvm

Переместите загруженную Java:

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

Извлечь Java:

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

Скажите Ubuntu, что Java существует:

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

Добавьте путь Java в свой системный профиль, чтобы машина знала, где находятся двоичные файлы Java:

sudo nano /etc/profile

В конце файла добавьте это:

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

Сохраните и перезагрузите компьютер.

Проверьте вашу установку Java:

java -version
Эгидиюс
источник
1
Это сработало для меня. Единственное изменение, которое я сделал, - это добавление символической ссылки из текущего каталога jdk /usr/lib/jvm/jdk1.7.0_45 в общее местоположение: / usr / lib / jvm / java-7-oracle. обновлять путь в / etc / profile (и, возможно, в других местах приложения) каждый раз, когда обновляется JDK. Также многие программы (например ,asticsearch) ищут java в / usr / liv / jvm / java-7-oracle в качестве одного из местоположений по умолчанию.
Вилле
2

Очень старые вещи, но если кто-то еще ищет это, просто установите openjdk-7-jre-headless или openjdk-6-jre-headless

wmelendez
источник
Вопрос задан конкретно по поводу версии 7.
Дэвид Фёрстер
5
JRE! = JDK нет JDK без головы
Dr.Haribo
За исключением того, что «openjdk-8-jre-headless» зависит от «libx11-6» в 16.04, это в конечном итоге приводит к потере всего X11.
ThisGuy
-1

Я думаю, что это не очень хорошая идея, чтобы пропустить любую зависимость при установке из исходного кода. Вы не можете пропустить это все время. Когда вы обновите зависимость с помощью apt-get, она также будет проверена.

Набиль
источник
3
«при установке из источника» OP не устанавливается из источника.
gertvdijk