Страницы

Поиск по вопросам

понедельник, 9 марта 2020 г.

Проблема при установке Oracle JDK на Debian

#debian #java


Возникла ошибка при установке Oracle JDK на Debian 8 Jessie:

rostislav@Rostislav-PC:~/Загрузки$ sudo dpkg -i jdk1.8.0-91_1.8.091-1_amd64.deb
Выбор ранее не выбранного пакета jdk1.8.0-91.
(Чтение базы данных … на данный момент установлено 119167 файлов и каталогов.)
Подготовка к распаковке jdk1.8.0-91_1.8.091-1_amd64.deb …
Распаковывается jdk1.8.0-91 (1.8.091-1) …
Настраивается пакет jdk1.8.0-91 (1.8.091-1) …
Unpacking JAR files...
    tools.jar...
    plugin.jar...
    javaws.jar...
    deploy.jar...
    rt.jar...
    jsse.jar...
    charsets.jar...
    localedata.jar...
    jfxrt.jar...
/var/lib/dpkg/info/jdk1.8.0-91.postinst: line 641: /usr/sbin/alternatives: Нет такого
файла или каталога
/var/lib/dpkg/info/jdk1.8.0-91.postinst: line 653: /usr/sbin/alternatives: Нет такого
файла или каталога
dpkg: ошибка при обработке пакета jdk1.8.0-91 (--install):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 127
При обработке следующих пакетов произошли ошибки:
 jdk1.8.0-91


Процесс установки был таким (инструкцию нашел тут):


Скачал официальную версию JDK с сайта Oracle.
Установил alien из официального репозитория.
Перегнал .rpm в .deb командой sudo alien --scripts
jdk-8u91-linux-x64.rpm
Установил .deb пакет командой sudo dpkg -i
jdk1.8.0-91_1.8.091-1_amd64.deb, во время чего и возникла ошибка


Из-за чего произошла ошибка и как ее исправить?



UPD_0 (kvm): При попытке удалить JDK: 

rostislav@Rostislav-PC:~$ dpkg --remove --force-remove-reinstreq jdk1.8.0-91
dpkg: ошибка: запрошенная операция требует привилегий суперпользователя
rostislav@Rostislav-PC:~$ sudo dpkg --remove --force-remove-reinstreq jdk1.8.0-91
(Чтение базы данных … на данный момент установлено 116630 файлов и каталогов.)
Удаляется jdk1.8.0-91 (1.8.091-1) …
/var/lib/dpkg/info/jdk1.8.0-91.postrm: line 586: /usr/sbin/alternatives: Нет такого
файла или каталога
/var/lib/dpkg/info/jdk1.8.0-91.postrm: line 598: /usr/sbin/alternatives: Нет такого
файла или каталога
dpkg: ошибка при обработке пакета jdk1.8.0-91 (--remove):
 подпроцесс установлен сценарий post-removal возвратил код ошибки 127
При обработке следующих пакетов произошли ошибки:
 jdk1.8.0-91
rostislav@Rostislav-PC:~$ sudo dpkg --purge --force-remove-reinstreq jdk1.8.0-91(Чтение
базы данных … на данный момент установлено 116630 файлов и каталогов.)
Удаляется jdk1.8.0-91 (1.8.091-1) …
/var/lib/dpkg/info/jdk1.8.0-91.postrm: line 586: /usr/sbin/alternatives: Нет такого
файла или каталога
/var/lib/dpkg/info/jdk1.8.0-91.postrm: line 598: /usr/sbin/alternatives: Нет такого
файла или каталога
dpkg: ошибка при обработке пакета jdk1.8.0-91 (--purge):
 подпроцесс установлен сценарий post-removal возвратил код ошибки 127
При обработке следующих пакетов произошли ошибки:
 jdk1.8.0-91

    


Ответы

Ответ 1



Установить JDK из rpm это целое приключение, лучше воспользоваться java-package. Убедитесь, что подключены contrib архивы в /etc/apt/sources.list: deb jessie main contrib non-free Установите java-package: apt install java-package. Скачайте JDK с сайта Oracle, но не rpm, а tar.gz. Запустите создание deb-пакета JDK: fakeroot make-jpkg jdk-8u91-linux-x64.tar.gz Возможно, появятся ошибки о неудовлетворенных зависимостях, установите пакеты, о которых говорится в ошибках, затем заново запустите создание пакета. В моем случае было: sudo apt install libgl1-mesa-glx libxslt1.1 libxtst6 libxxf86vm1 Удалите старый некорректно установленный пакет JDK. Установите созданный пакет sudo dpkg -i oracle-java8-jdk_8u91_amd64.deb UPD1. Если снести кривой пакет JDK через apt remove jdk1.8.0-91 не удается, удаляем его принудительно: sudo dpkg --remove --force-remove-reinstreq jdk1.8.0-91 sudo dpkg --purge --force-remove-reinstreq jdk1.8.0-91 UPD2. Создайте симлинк sudo ln -s /usr/sbin/update-alternatives /usr/sbin/alternatives и еще раз попробуйте снести. Потом удалите симлинк.

Комментариев нет:

Отправить комментарий