Довелось на днях настраивать покдлючение к 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), это так на всякий случай ;)