【问题标题】:What's the apt (Linux) equivalent of composers composer.json file?composer.json 文件的 apt (Linux) 等价物是什么?
【发布时间】:2020-06-11 22:16:07
【问题描述】:
作为一名 Web 开发人员转为服务器管理员,我很清楚服务器中的版本控制完全缺失。我们试图用虚拟机等重量级解决方案来弥补。但是由于 composer(phps 包管理器)向我们展示了处理版本控制的优雅和轻量级的方式是拥有包管理文件(composer.json 文件,它成为高级真理的单一来源),并且因为 apt 就像 composer只是一个包管理器(但对于 Linux)肯定 apt 有类似优雅的东西(一个包管理文件)?
【问题讨论】:
标签:
linux
version-control
apt
package-managers
【解决方案1】:
使用composer.json 之类的文件,人们可以声明他们的项目与其他项目的依赖关系。最终项目通常是某种 Web 应用程序,通常最终不会使用 composer 来安装,而是从其他地方安装,通常是通过 Git 或部署脚本。这是大多数特定语言包管理器的典型特征。
使用像apt这样的系统包管理器,最终项目是通过系统包(在本例中为.deb)安装的,因此它在该包中指定了它的依赖关系,这些依赖关系在安装包时得到满足与apt。因此,没有必要有一个特殊的文件来声明它,因为它已经内置在包中。
如果您询问如何为系统包指定依赖项,则取决于包类型。对于 Debian 软件包,它们在 debian/control 的源代码中指定。您可以阅读Debian Policy Manual 了解更多信息。
如果您要在不影响系统其余部分的有限环境中设置包集,通常用于构建单个项目,通常我们会为此目的使用容器,这些容器旨在被丢弃然后扔掉了。