#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: debjessie 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 и еще раз попробуйте снести. Потом удалите симлинк.
Комментариев нет:
Отправить комментарий