установка 32 битной java на 64 битный firefox


Довелось на днях настраивать покдлючение к Junos VPN и вся загводка оказалась в том что она для покдлючения использует 32-ух битную Java и всячески не хочет работать с 64-ех битной. А так как я использую 64-ех битную систему и такой же Firefox, то тут и появились проблемы… Подброс 32-ух битных библиотек к Firefox’у результата никакого давал, а ставить 32-ух битный Firefox ой как не хотелось, после некоторого времени на гугление и советы коллег, выход был найден!

Для начала скачиваем и распаковываем в /usr/java свежие jre пакеты java для 32-ух и 64-ух битной систем по следующей ссылке и устанавливаем пакет с 32-ух битными библиотеками:

# apt-get install ia32-libs

Далее, чтобы работала Java в нашем браузере подбрасываем библиотеку в каталог с библиотеками для Firefox, простой симлинкой:

# ln -s /usr/java/jre1.7.0_51/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/

А вот далее начинается самое интересное, и придется уже работать с update-alternatives, которая по сути симлинками настраивает программы по умолчанию.

Для этого для начала можно взглянуть на текущий список альтернатив для Java:

# update-alternatives --display java
java - auto mode
  link currently points to /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priority 1061
  slave java.1.gz: /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priority 1051
  slave java.1.gz: /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz
Current 'best' version is '/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java'.

Теперь добавляем альтернативу для x86_64 (64 битной) Java:

# update-alternatives --install /usr/bin/java java /usr/java/jre1.7.0_51/bin/java 11

и альтернативу для i586 (32 битной) Java:

# update-alternatives --install /usr/bin/java java /usr/java/jre1.7.0_51_i586/bin/java 10

Проверяйте пути перед добавлением… особенно те, куда распаковывали свежие jre архивы.

В итоге должны получить приблизительно следующее:

# update-alternatives --display java
java - auto mode
  link currently points to /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/java/jre1.7.0_51/bin/java - priority 11
/usr/java/jre1.7.0_51_i586/bin/java - priority 10
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priority 1061
  slave java.1.gz: /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priority 1051
  slave java.1.gz: /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz
Current 'best' version is '/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java'.

Если понадобится можете еще переключаться между ними следующей комнадой:

# update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/java/jre1.7.0_51/bin/java                   11        manual mode
  2            /usr/java/jre1.7.0_51_i586/bin/java              10        manual mode
  3            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  4            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

Press enter to keep the current choice[*], or type selection number:

Ну и все, можете пробывать запускать ;)

P.S.: все махинации производились на Debian GNU/Linux 7 (wheezy), это так на всякий случай ;)

comments powered by Disqus