В эту пятницу я увидел, что по какой-то причине у меня было 2 задержанных пакета, когда я запускал apt-get upgrade
, поэтому, естественно, я сделал то, что сделал бы любой неопытный системный администратор, и удалил пакеты в надежде, что я смогу просто переустановить их, и проблема будет решена.
Я мало что знал, я только усугубил ситуацию. Когда я пытался переустановить openjdk-8-jre-headless
, Я получил это:
$ apt-get install openjdk-8-jre-headless
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
openjdk-8-jre-headless : Depends: ca-certificates-java but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Я пытался обновить упомянутый пакет вручную, но безуспешно.
$ apt-get upgrade ca-certificates-java
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... ca-certificates-java is already the newest version.
Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Оглядываясь вокруг, я нигде не увидел упоминания о решении именно этой ошибки.
Я использую ElasticSearch на сервере, который я перезапустил, но я должен был ожидать, что он не запустится на этом этапе. Так что теперь я без Java, а мои пользователи без поиска. Что происходит и как я могу это исправить?
Это сработало для меня:
apt install -t jessie-backports openjdk-8-jre-headless ca-certificates-java
Сначала вам нужно добавить jessie-backports
репо.
echo "deb http://http.debian.net/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
команды установки
sudo apt-get update
sudo apt-get install -t jessie-backports openjdk-8-jre-headless
перейти на новую Java
sudo /usr/sbin/update-java-alternatives -s java-1.8.0-openjdk-amd64
Ссылка: https://github.com/OpenTreeOfLife/germinator/wiki/Debian-upgrade-notes:-jessie-and-openjdk-8
У меня была эта проблема с Debian Buster, у которого также нет этого пакета. Поскольку ни один из ответов на этой странице у меня не сработал, и принятый ответ привел меня к другой ответ SE которую я тоже не мог заставить работать, я просто хотел опубликовать на Buster то, что мне понравилось.
Следуя инструкциям на веб-сайт debian, Я добавил следующую строку в /etc/apt/sources.list
:
deb http://security.debian.org/debian-security stretch/updates main
Тогда я смог sudo apt update
и sudo apt install openjdk-8-jre-headless
.
это работает для меня
apt-get install software-properties-common
add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"
apt-get update
apt-get install oracle-java8-installer