我最近将几个 VPS 从 14.04 LTS 升级到了 16.04 LTS。升级似乎已成功完成。
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.9.36-x86_64-linode85 x86_64)
我现在尝试安装 php7.0-dev,但似乎我的 apt-get 尝试安装旧软件包,认为它们是最新版本:
The following packages have unmet dependencies: php7.0-dev :
Depends: libpcre3-dev but it is not going to be installed
Depends: php7.0-common (= 7.0.22-0ubuntu0.16.04.1) but 7.0.23-1+ubuntu14.04.1+deb.sury.org+1 is to be installed
Recommends: dh-php but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
我已经尝试运行 apt-get update/upgrade/dist-upgrade。sources.list 文件引用了 xenial。
这里有什么问题?如何下载新的软件包?
答案1
这实际上只是 PHP 7.0 及其所有依赖项的问题。我必须添加 ppa 才能在 14.04 上安装它,它们在升级时被删除了,但它们的版本仍然比 16.04 官方存储库新,这阻止了与 PHP 7.0 相关的任何类型的安装。
我已经删除了 php7.0-common 包并从头开始重新安装了所有内容,包括扩展等。现在看起来运行良好。
不幸的是,我还没有找到降级软件包的方法,因为它们相互依赖,所以我尝试的任何版本降级都失败了(php7.0、php7.0-common 等)。