我一直在嘗試按照這個小步驟安裝穩定/xenial 版本的 openvpn指導在我的 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 棒攪動了你的系統。