debian - Debian 发行版特定控制文件
问题描述
我对这个问题有点困惑,是否可以控制特定于 Debian 版本的软件包依赖关系?
在控制文件中,我们需要在“Depends”字段中指定依赖关系,所以如果我们想为不同的 Debian 版本(Wheezy、Jessie 和 Stretch)制作一个包,并且如果不同版本的依赖关系不同,那么我们该如何在控制文件中定义这些类型的依赖项?
谢谢你
解决方案
取决于依赖项。
一些软件包具有自动包含活动 Debian 发行版的正确版本的元软件包。尤其是 PHP 包,可以做到这一点。例如,php-curl
包依赖php7.0-curl
于拉伸和php7.3-curl
破坏。如果您的包依赖于php-curl
,您将自动获得正确的版本。该postgresql
软件包执行相同的操作,根据 Debian 版本拉入postgresql-11
或。postgresql-9.6
如果这不起作用,您可以尝试在源包中创建两个名为myapp-jessie
and的二进制包myapp-stretch
,每个包都依赖于它们发布的正确包集。然后在主包中:
Depends: myapp-jessie | myapp-stretch
如果这些想法都不起作用,您可能需要维护多个控制文件,为每个版本建立一个 apt repo,构建多个包,并将每个包部署到适当的 apt repo。
你有什么特定的依赖关系?
推荐阅读
- azure-data-factory - 从 SAP BW Open Hub 将数据导入 Azure 数据湖时,如何在数据工厂中使用文件名前缀?
- iis - 可以为 iis 站点定义 connectionStrings 的所有位置是什么?
- office365 - 在 VDI 上使用 Microsoft 365、Windows 10 部署 Outlook Redemption
- c# - OnCollisionEnter2D 和 OnTriggerEnter2D 不起作用
- regex - 使用 SED 删除多行表达式中的逗号字符
- node.js - 将 Nuxt JS SSR 应用程序部署到 Google Cloud App Engine 标准
- sql - 在这种情况下不允许子查询
- sql - Oracle 如何使用基于时间戳字段激活的触发器使两个表保持同步?
- javascript - 力码 | 返回结果始终为空
- javascript - 移动 chrome 上的动画滞后