Вечер начался удачно — установка Java на Ubuntu провалилась

Ваш отзыв

ошибка при установке Java - 404 not found

Добрый день, уважаемые читатели блога! Я вновь на долгий период оставила наполнение данного ресурса, т.к. меня полностью поглотила работа. Одним из значительных событий в моей работе стало совмещение языков программирования C# и Java. С последним языком программирования я особо не сталкивалась, пришлось изучать прямо в бою. Весело… Дома я в конце концов решила установить Netbeans в качестве среды разработки. Но для него самого нужна Java! Казалось бы, что сложного может быть в установке Java на Ubuntu (точнее Linux Mint) из репозитория? Эту замечательную мысль перебила… ошибка при установке Java.

Установка Java на Ubuntu должна из себя представлять процедуру такую же простую, как и установка любой другой программы. Действительно, для Java 8, на которую мы нацелились, везде пишут, что надо выполнить три команды:

Пару недель назад на работе все удачно установилось. Тут тоже сначала все шло как по маслу — закачались пакеты, вылезло предложение отказаться от лицензии и забыть Java, как страшный сон. Терять проект не хотелось, пришлось с лицензией согласиться.  И тут гром среди ясного неба:

Что-что, простите? Как это ява не нашлась?  Мы же ее с официального сайта качаем! Идем гуглить, идея решения проблемы с установкой явы находится сразу, но тут же возникли вопросы с поиском необходимой информации для реализации этой идеи. Но мы с этим разобрались!

Причина проблемы

Когда выходит новая сборка Java, Oracle, судя по всему, удаляет все ссылки на предыдущие билды, чтобы у конечного пользователя не было ни единой возможности с официального сайта скачать предыдущий вариант. С одной стороны это хорошо. Но это было бы идеально, а не просто хорошо, если бы еще своевременно обновлялись данные в репозиториях! Именно из-за задержки в обновлении данных в репозитории и происходит эта неприятность.

Идея решения

При установке программного обеспечения в Ubuntu информация о пакетах записывается в папку /var/lib/dpkg/info. Здесь после неудачной попытки установить Java лежат файлы, название которых начинается с oracle-java8-installer. Помимо кучи другой информации в данные файлы записываются ссылки, которые ведут к билдам, хеш-суммы билдов и прочее. Решение проблемы довольно простое — редактором эти ссылки заменить на актуальные. Главный вопрос остается в том, а что на что менять?


Реализация идеи

Для начала нам надо собрать информацию. Для этого открываем любой текстовый редактор на компьютере и создаем файлик, куда будем записывать данные.

Идем в папку /var/lib/dpkg/info:

Любым редактором открываем файлик oracle-java8-installer .postinst (можно и oracle-java8-installer.config, не важно) . Ищем записанную  туда строку ссылки вида

Записываем себе в файлик, это тот URL, который надо менять. Обращаем внимание на номер билда в ссылке, здесь он 8u171-b11. Также его отдельно выписываем в файлик.

В этом же файле oracle-java8-installer .postinst записана хеш-сумма билда Java, которую тоже надо менять.

Ищем строки вверху файла вида:

Нас интересует переменная SHA256SUM_TGZ для нужной нам архитектуры, например для amd64. Это также заносим в наш файлик.

Все, мы собрали те данные, которые необходимо заменить. А теперь нам необходимо найти данные, НА которые мы будем заменять все бережно собранное.

Актуальный URL билда для Java 8 ищем тут. Копируем ссылку и вставляем в файлик.

java oracle url

Актуальную хеш-сумму для нужного нам билда ищем на странице его скачивания:

checksum java

Ориентируемся на архитектуру и на формат скачиваемого билда, здесь подразумевается tar.gz. Это последнее, что мы запишем в файлик. Теперь надо из него полученную информацию прочесть! 

Убеждаемся, что из указанной выше папки мы никуда не уходили. Теперь необходимо последовательно выполнить 4 команды с использованием потокового редактора sed. Приведу конкретный пример успешно выполненных команд.

В первой команде мы указываем в качестве параметров версию JDK:

Второй командой мы заменяем URL:

Хеш-сумму меняем третьей командой:

Последняя команда меняет версию скачиваемого билда:

После этого вновь выполняем команду

Все должно пройти удачно:

успешная установка java

Ну а дальше классика жанра — а зачем же мы все это делали? А! Точно! Нам нужен был Netneans! Ну вот он-то установился без проблем и с первого раза. 


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

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> <img src="" alt="" class="" width="" height="">

Нажимая кнопку "Отправить комментарий", Вы автоматически соглашаетесь с политикой конфиденциальности и даете свое согласие на обработку персональных данных. Ваши данные не будут переданы третьим лицам.

http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ab.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ac.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ag.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ah.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ai.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ak.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/am.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/an.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ao.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/aq.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ar.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/at.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/av.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/aw.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ay.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/az.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bb.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bc.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bd.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/be.gif 
больше...