Недавно я установил сервер сборки, для работы которого требуется JDK (например, для компиляции исходных текстов Java). Пакет OpenJDK в Ubuntu использует OpenJDK JRE в качестве зависимости, которая, в свою очередь, зависит от большого количества пакетов, актуальных только для графических сред. Для стандартной JRE существует версия пакета без заголовка, но для JDK нет.
Эта проблема ранее обсуждалась в разных местах, и я нашел и использовал одно решение:
$ apt-get --no-install-recommends -d install openjdk-6-jdk
$ dpkg -i --ignore-depends=openjdk-6-jre /path/to/just-downloaded.deb
Хотя это сработало, теперь в моей системе остается неработающее дерево зависимостей, и apt-get отказывается от дальнейших установок, пока я не запустил apt-get -f
.
Есть ли лучшее решение для этого?
Это обсуждалось в следующих ошибка Ubuntu.
Насколько я понимаю, у вас есть следующие варианты:
Конечно, вариант 2 является лучшим в долгосрочной перспективе, поскольку он решает проблему для всех, а варианты 1 и 3 решают ее только для вас, однако 1 и 3 быстрее.
Не могли бы вы просто загрузить и установить Sun JDK? Не требуется компиляции и X11. Я предпочитаю это упакованным вариантам.
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
Я подозреваю, что ему просто нужно было обновить свои ссылки на альтернативные варианты:
update-alternatives --set java /usr/lib/jvm/default-java/bin/java
(или что-то вроде того)