无法解决未满足的依赖关系:initscripts

无法解决未满足的依赖关系:initscripts

我一直在尝试按照这个小步骤安装 openvpn 的稳定版/xenial 版指导在我的 Ubuntu 16.10 上。但是,每次运行“sudo apt-get install openvpn”时,我都会收到此错误:

以下软件包具有未满足的依赖关系:

openvpn:依赖:initscripts(>= 2.88dsf-13.3)

E:无法纠正问题,您持有破损的包裹。

而且由于我完全不知道如何解决这个问题,所以我非常感谢您的帮助。

答案1

请注意,您使用的是 Ubuntu 16.10,即 Yakkety。OpenVPN 存储库仅支持最高 16.04、Xenial。如果您执行命令apt-get install initscripts,结果会提供一些帮助:

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

这里的问题是 openvpn 包不知道它的依赖关系在 Yakkety 中没有任何意义。所以现在,要么

  • 从源代码编译以获取最新版本的 OpenVPN,
  • 等到他们更新他们的仓库,或者
  • 安装 Yakkety 存储库中提供的旧版 OpenVPN。

先进的

如果您想修改 Yakkety 的软件包,您可以尝试以下操作。我不能保证这对您来说会很好并且不会造成问题。我得到了以下帮助这里

我认为这种安装方法的一个问题是,使用此方法安装 OpenVPN 后,GUI 网络管理器无法添加 VPN 连接。命令行 VPN 连接工作正常。坚持使用 Ubuntu 打包版本,以获得最简便的 VPN 连接。

获取 deb 文件,解压内容并控制:

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

现在,编辑控制文件:

nano DEBIAN/control

改变:

Version: 2.4.0-xenial0

Version: 2.4.0-yakkety0

并改变:

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

到:

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

现在构建新的包:

dpkg -b openvpn openvpn_2.4.0-yakkety0_amd64.deb

并安装:

sudo dpkg -i openvpn_2.4.0-yakkety0_amd64.deb

答案2

openvpn软件包告诉打包系统openvpn需要 版本2.88dsf-13.3或更高版本的initscripts软件包。打包系统认为此条件不满足,因此拒绝安装openvpn

我很确定这initscripts是 Ubuntu 的一部分。在我的 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

我拥有的版本2.88dsf-59.3ubuntu2比所需版本更新得多2.88dsf-13.3,请记住,您没有。

关于您的系统或环境,还有什么您没有提到的吗?

sudo apt-get --dry-run install initscripts

让您测试我针对此单个问题建议的修复方法。我怀疑您使用 sudo 棒搅乱了您的系统。

相关内容