Category Archives: Ubuntu

Juniper’s Network Connect on Ubuntu

Getting Juniper’s Network Connect VPN client software running on Ubuntu installations has always been a huge pain. Since every time I do a fresh Ubuntu installation I have to scour the internet for the steps to take to get this running and I never find the information in one location I’ve decided to document the steps. Since I do a decent amount of Java development I like to run Oracle’s distribution of Java rather than OpenJDK.

1. Install JDK 7 or 8 with the webupd8 PPA.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

2. Download the 32-bit JDK tar.gz package from Oracle: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3. Extract the archive downloaded from Oracle’s site to another directory. For this blog post I’ll be using /opt/jdk8_x86/

mkdir -p /opt/jdk8_x86/
tar -zxvf jdk-8u5-linux-i586.tar.gz -C /opt/jdk8_x86

Note: If you download the a different version you’ll have to change the 8u5 part here and in later parts of this blog.

4. Add the 32-bit JDK to update-alternatives

sudo update-alternatives --install /usr/bin/java java /opt/jdk8_x86/jdk1.8.0_05/bin/java 10

5. Ensure the 64-bit java is selected by default (Network Connect simply uses update-alternatives to find the 32-bit Java installation when it runs)

sudo update-alternatives --config java

6. Install some required 32 bit libraries. I’m not actually sure if all these need to be installed but I found the list on this article so it’s what I’m using for now.

sudo apt-get install libstdc++6:i386 lib32z1 lib32ncurses5 lib32bz2-1.0 libxext6:i386 libxrender1:i386 libxtst6:i386 libxi6:i386

7. Symlink update-alternatives if running Ubuntu 14.04. Apparantly Juniper looks for /usr/sbin/update-alternatives and Ubuntu 14.04 sticks it in /usr/bin, so we need to make a symlink.

sudo ln -s /usr/bin/update-alternatives /usr/sbin/update-alternatives