Решил написать короткую статью о том, как можно откатиться к предыдущей версии openJDK Java под Ubuntu 12.04. Так же эта статья будет полезной для отката других программ и приложений к предыдущим версиям, таких как, скажем apache2. Такая потребность может возникнуть при нестабильной работе приложения после перехода на более новую версию самого openjdk пакета, о чем и пойдет речь. Откат буде делать от версии 7u75 к 7u51.
Для начала проверяем какая у нас установлена версия java.
root@il-server-1:~# dpkg -l | grep openjdk ii openjdk-7-jdk 7u75-2.5.4-1~precise1 OpenJDK Development Kit (JDK) ii openjdk-7-jre 7u75-2.5.4-1~precise1 OpenJDK Java runtime, using Hotspot JIT ii openjdk-7-jre-headless 7u75-2.5.4-1~precise1 OpenJDK Java runtime, using Hotspot JIT (headless)
Как видим, версия пакета на данный момент — 7u75-2.5.4-1~precise1.
Проверим какие есть доступные версии данного пакета в репозиториях
root@il-server-1:~# apt-cache madison openjdk-7-jdk openjdk-7-jdk | 7u75-2.5.4-1~precise1 | http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe amd64 Packages openjdk-7-jdk | 7u75-2.5.4-1~precise1 | http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages openjdk-7-jdk | 7~u3-2.1.1~pre1-1ubuntu2 | http://us.archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages openjdk-7 | 7~u3-2.1.1~pre1-1ubuntu2 | http://us.archive.ubuntu.com/ubuntu/ precise/universe Sources openjdk-7 | 7u75-2.5.4-1~precise1 | http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe Sources openjdk-7 | 7u75-2.5.4-1~precise1 | http://security.ubuntu.com/ubuntu/ precise-security/universe Sources
Так как у нас и так установлена последняя версия пакета – репозиторий нам не поможет. Но если увидите нужную версию пакета (к примеру при откате apache2), то можно сделать откат таким образом.
root@il-server-1:~# apt-get install openjdk-7-jdk=7u51-2.4.4-0ubuntu0.12.04.2 #в случаи с apache root@il-server-1:~# apt-get install apache2=2.2.22-1ubuntu1
Здесь, до ”равно” идет название пакет, после ”равно” – идет версия.
Наш случай особый, по этому нужно качать предыдущею нужную версию пакета из архивов. Я нашел здесь.
Нам нужно скачать все пакеты, которые мы грепнули в самом начале, т.е.
openjdk-7-jdk_7u51-2.4.4-0ubuntu0.12.04.2_amd64.deb openjdk-7-jre_7u51-2.4.4-0ubuntu0.12.04.2_amd64.deb openjdk-7-jre-headless_7u51-2.4.4-0ubuntu0.12.04.2_amd64.deb
Теперь устанавливаем скачанные пакеты.
root@il-server-1:~# dpkg -i openjdk-7-j*
Вот и все.