apt-cache 策略混乱:同源但不同版本?

apt-cache 策略混乱:同源但不同版本?

背景:

libapache2-mod-php我有一个安装并运行 PHP服务器的Debian 容器7.2。该项目已成立半年,目前运行良好。


问题:

本周我一直在尝试在另一个具有相同操作系统的虚拟机上安装 Debian 容器。

似乎这个包最近得到了更新(默认为),这在安装后7.3破坏了我的 PHP服务器。7.2


尝试:

我已经尝试过apt policy libapache2-mod-php,它显示两个环境包含相同的起源,但libapache2-mod-php同一起源的两个版本不同。

7.2我真的很困惑,当没有可用版本时如何指定 apt 安装 PHP apt policy


破损的容器:

root@b3ec62f3096d:/srv/server/server# apt policy libapache2-mod-php
libapache2-mod-php:
  Installed: 2:7.3+69+0~20190303094804.15+stretch~1.gbp0f7465
  Candidate: 2:7.3+69+0~20190303094804.15+stretch~1.gbp0f7465
  Version table:
 *** 2:7.3+69+0~20190303094804.15+stretch~1.gbp0f7465 500
        500 https://packages.sury.org/php stretch/main amd64 Packages
        100 /var/lib/dpkg/status
     1:7.0+49 500
        500 http://deb.debian.org/debian stretch/main amd64 Packages

工作容器:

root@430822ee576a:/srv/server/server# apt policy libapache2-mod-php
libapache2-mod-php:
  Installed: 1:7.2+65+0~20181014094036.7+stretch~1.gbpaaf4ee
  Candidate: 1:7.2+65+0~20181014094036.7+stretch~1.gbpaaf4ee
  Version table:
 *** 1:7.2+65+0~20181014094036.7+stretch~1.gbpaaf4ee 500
        500 https://packages.sury.org/php stretch/main amd64 Packages
        100 /var/lib/dpkg/status
     1:7.0+49 500
        500 http://deb.debian.org/debian stretch/main amd64 Packages

答案1

损坏的容器实际上是您的“工作容器”,以一种行尸走肉的方式:它的存储库缓存已经过时,因此apt policy告诉您过去正确但现在不再正确的事情。如果您apt update在其中运行,您将看到与“损坏的容器”中相同的情况。

如果您确实需要 PHP 7.2,则需要安装相应的包而不是安装libapache2-mod-php包,这将始终拉取最新的稳定 PHP 版本。安装libapache2-mod-php7.2应该可以解决您的问题。

相关内容