当 Debian 软件包需要“软件包 A 或软件包 B”作为依赖项时,该如何处理其依赖项?

当 Debian 软件包需要“软件包 A 或软件包 B”作为依赖项时,该如何处理其依赖项?

在 Ubuntu 12.04(以及 Debian 和其他 Ubuntu 版本)中,元包在或nginx上列出了依赖项。系统将首先尝试安装哪些依赖项的规则是什么?还是只是随机的?nginx-fullnginx-light

答案1

作为源包的一部分提供的元包nginx依赖于 或nginx-lightnginx-full这意味着当您安装时,nginx将尝试列出的第一个依赖项,如果该依赖项不可用,它将尝试另一个依赖项。

在极少数情况下,如果包的依赖项缺失,则包将会失败,并apt报告存在依赖项问题。

但是,使用源包时,和nginx的二进制文件都是同一源包的一部分,因此除非您启用 universe 存储库,否则此操作将失败。通过启用 universe 存储库,和以及 nginx 二进制文件的其他变体(每个变体都有自己的一组“已加载”的 nginx 模块)都将可用,因此您不会遇到此依赖性问题,除非使用或代替或。nginx-lightnginx-fullsudo apt-get install nginxnginx-lightnginx-fullnginx-extrasnginx-naxsinginx-lightnginx-full

相关内容