-1

As a web developer turned server administrator it's obvious to me that version control in servers is simply missing. We try to compensate with heavy weight solutions like virtual machines. But since composer (phps package manager) has shown us that the eligant and light weight way of dealing with version control is to have package management file (composer.json file which becomes a single source of high level truth) and since apt just like composer is simply a package manager (but for Linux) surely apt has something similarly eligant (a package management file)?

Technolo Jesus
  • 147
  • 2
  • 9

1 Answers1

0

With files like the composer.json file, people declare dependencies for their projects against other projects. The end project, which is often a web app of some sort, often does not end up using composer to install, but is instead installed from elsewhere, often via Git or a deployment script. This is typical of most language-specific package managers.

With system package managers like apt, the end project is installed via a system package (in this case, a .deb), and so it specifies its dependencies in that package, which are satisfied when the package is installed with apt. Thus, it's not necessary to have a special file to declare that, as it's already built into the package.

If you're asking about how the dependencies are specified for a system package, it depends on the package type. For Debian packages, they're specified in the source in debian/control. You can read the Debian Policy Manual for more information.

If you're asking about setting up sets of packages in a limited environment that doesn't affect the rest of the system, usually for building a single project, typically we use containers for that purpose, which are intended to be discarded and thrown away.

bk2204
  • 64,793
  • 6
  • 84
  • 100