2

I've been trying to install stable/xenial version of openvpn following this little guide on my Ubuntu 16.10. However, I keep getting this error every time I run 'sudo apt-get install openvpn':

The following packages have unmet dependencies:

openvpn : Depends: initscripts (>= 2.88dsf-13.3)

E: Unable to correct problems, you have held broken packages.

and since I have completly no idea how to resolve it I would really appreciate your help.

2

Note that you are using Ubuntu 16.10, which is Yakkety. The OpenVPN repos only support up to 16.04, Xenial. If you do an apt-get install initscripts command, the result offers some assitance:

However the following packages replace it:
  util-linux:i386 util-linux sysvinit-utils:i386 sysvinit-utils

The problem here is that the openvpn package doesn't know that its dependencies don't make any sense in Yakkety. So for now, either

  • compile from source to get the latest version of OpenVPN,
  • wait until they update their repo, or
  • install the older OpenVPN available in the Yakkety repos.

Advanced

If you want to modify the package for Yakkety, you might try the following. I cannot guarantee this will work well for you and will not cause problems. I got help from here.

One problem that I think comes from this install method is that the GUI network manager cannot add a VPN connection after I install OpenVPN using this method. Command line VPN connections work just fine. Stick with the Ubuntu packaged version for easiest VPNing.

Get the deb file, unpack the contents and control:

mkdir /tmp/debwork
cd /tmp/debwork
apt-get download openvpn
dpkg-deb -x openvpn_2.4.0-xenial0_amd64.deb openvpn
dpkg-deb --control openvpn_2.4.0-xenial0_amd64.deb openvpn/DEBIAN

Now, edit the control file:

nano DEBIAN/control

Change:

Version: 2.4.0-xenial0

To

Version: 2.4.0-yakkety0

And change:

Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.15), liblzo2-2, libpam0g (>= 0.99.7.1), libpkcs11-helper1 (>= 1.11), libssl1.0.0 (>= 1.0.2~beta3), libsystemd0, init-system-helpers (>= 1.18~), initscripts (>= 2.88dsf-13.3), iproute2

To:

Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.15), liblzo2-2, libpam0g (>= 0.99.7.1), libpkcs11-helper1 (>= 1.11), libssl1.0.0 (>= 1.0.2~beta3), libsystemd0, init-system-helpers (>= 1.18~), sysvinit-utils (>= 2.88dsf-13.3), util-linux, iproute2

Now build the new package:

dpkg -b openvpn openvpn_2.4.0-yakkety0_amd64.deb

and install:

sudo dpkg -i openvpn_2.4.0-yakkety0_amd64.deb
0

The openvpn package told the packaging system that openvpn needed version 2.88dsf-13.3 or later of the initscripts package. The packaging system thinks this condition is not met, and refuses to install openvpn.

I'm pretty sure that initscripts is part of Ubuntu. On my Ubuntu 16.04.1 LTS,

$ dpkg -l initscripts
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                   Version                  Architecture             Description
+++-======================================-========================-========================-=================================================================================
ii  initscripts                            2.88dsf-59.3ubuntu2      amd64                    scripts for initializing and shutting down the system

I have version 2.88dsf-59.3ubuntu2 which is much more recent than the required version 2.88dsf-13.3, which, remember, you didn't have.

Is there something about your system or environment you haven't mentioned?

sudo apt-get --dry-run install initscripts

will let you test my suggested repair for this single issue. I suspect you have stirred your system with a sudo stick.

  • dpkg -l initscripts says I have 2.88dsf-13.1 version installed, which is obviously older the the one required. sudo apt-get --dry-run install initscripts results in the following error: Package initscripts:i386 is not available, but referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: sysvinit-util sysvinit-utils:i386 util-linux:i386 util-linux E: Package 'initscripts:i386' has no installation candidate – Leviathan Dec 22 '16 at 10:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.