它似乎指定安装了以下依赖项:
2.4.6-2ubuntu4
2.2.22-1ubuntu1.4
2.2.22-1ubuntu1
为什么 apache2 包由看似不同版本的 apache 的依赖项(2.2.22-1ubuntu1.4 等)提供的子依赖项(apache2-bin)组成?
https://launchpad.net/ubuntu/+source/apache2
指定上述包实际上是不同版本的不同包。
这仅仅是此反向移植部署的一个特殊之处吗?
apt-cache showpkg 指定:
2.4.6-2ubuntu4 - lsb-base (0 (null)) procps (0 (null)) perl (0 (null)) mime-support (0 (null)) apache2-bin (5 2.4.6-2ubuntu4) apache2-data (5 2.4.6-2ubuntu4) www-browser (0 (null)) apache2-doc (0 (null)) apache2-suexec-pristine (16 (null)) apache2-suexec-custom (0 (null)) ufw (0 (null)) apache2-utils (0 (null)) ssl-cert (0 (null)) apache2.2-common (0 (null)) apache2.2-common:i386 (0 (null)) apache2.2-common (0 (null)) apache2.2-common:i386 (0 (null)) apache2:i386 (0 (null))
2.2.22-1ubuntu1.4 - apache2-mpm-worker (21 2.2.22-1ubuntu1.4) apache2-mpm-prefork (21 2.2.22-1ubuntu1.4) apache2-mpm-event (21 2.2.22-1ubuntu1.4) apache2-mpm-itk (5 2.2.22-1ubuntu1.4) apache2.2-common (5 2.2.22-1ubuntu1.4) apache2:i386 (0 (null))
2.2.22-1ubuntu1 - apache2-mpm-worker (21 2.2.22-1ubuntu1) apache2-mpm-prefork (21 2.2.22-1ubuntu1) apache2-mpm-event (21 2.2.22-1ubuntu1) apache2-mpm-itk (5 2.2.22-1ubuntu1) apache2.2-common (5 2.2.22-1ubuntu1) apache2:i386 (0 (null))
答案1
如果你阅读了包的描述你就会了解原因:
apt-cache show apache2
描述:Apache HTTP 服务器 Apache 软件基金会的目标是构建一个安全、高效且可扩展的 HTTP 服务器,作为符合标准的开源软件。其成果长期以来一直是互联网上排名第一的 Web 服务器。
此软件包包含配置文件、初始化脚本和支持脚本。它不安装实际的 apache2 二进制文件。
另一方面,您安装的一些与 apache2 源无关的软件包可能需要特定版本的 apache,从而阻碍升级。Apache 软件包在构建时会升级并具有相同的 blob 版本,但它们不需要具有相同的版本才能工作(您可以使用 进行检查apt-cache depends package
,建议具有相同的版本)。
您可以检查apt-cache policy 'apache2*'
您的系统是否确实没有安装所有 apache 软件包的最新版本,然后检查其中哪些被阻止了。