【问题标题】:Is there a durable store for deb files (like a maven repo?)是否有 deb 文件的持久存储(如 maven 存储库?)
【发布时间】:2015-12-30 03:10:59
【问题描述】:

我有一个依赖于 libssl1.0.2_1.0.2d-3_amd64.deb 的 maven 构建的 docker 映像,但现在有一个 404 并已被 libssl1.0.2_1.0.2e-1_amd64.deb 取代。

这是一个问题,因为 maven 构建意味着持久 - 即您可以在未来的任何时候重建它们。主要的 maven repo 是持久的,因此从中提取的人工制品将在未来存在。我可以将我需要的 debs 移动到 maven repo 中,但这有点滥用其他人的存储......

那么有没有保证存在的debian文件的持久存储......至少在革命/流星撞击/侏罗纪复活等之前。

【问题讨论】:

  • 您需要创建一个单独的 docker 映像,其中包含您需要的文件,以便引用您创建的文件...除此之外,我不明白为什么 Maven 构建依赖于 deb 包?
  • maven build正在创建docker镜像,所以需要安装deb包来准备镜像。当然,我可以创建一个基础 docker 镜像(我们也可以),但这只是将问题转移到生成基础镜像的构建中......另外,我们现在需要一个持久的 docker 镜像存储!

标签: maven repository debian deb


【解决方案1】:

您可以使用免费的开源工具自己完成这项工作。您可以创建自己的 APT repository 来存储 Debian 软件包。如果您有兴趣使用 GPG 签名来签署存储库元数据read this

创建存储库后,您可以在/etc/apt/sources.list.d/ 中创建一个指向您的存储库的配置文件。您可以运行apt-get update 来刷新系统的apt 缓存,然后运行apt-get install 来安装您选择的软件包。

顺便说一句,您可以通过运行:apt-get install packagename=version 来安装特定版本的软件包。

例如,要安装 1.0 版的“test”,运行:apt-get install test=1.0

或者,如果您不想自己处理任何这些,您可以使用packagecloud.io 来托管 Debian、RPM、RubyGem 和 Python PyPI 存储库。许多使用我们服务的人都有您的确切用例,他们所依赖的 Debian 软件包从公共存储库中消失了,因此他们将它们上传给我们。

【讨论】:

  • 谢谢,但从 maven repos 的意义上说,这些都不耐用。内部 APT 存储库不适合将被其他人使用并且可能比创建它的组织寿命更长的开源项目。 packagecloud.io 也是如此,如果创建项目的组织不复存在,那么账单就不会得到支付,人工制品也会消失,项目也不会再构建。
  • 我们为开源项目提供免费计划,因此无需支付任何费用。但除此之外没有其他选择。由 ubuntu 或 debian 生成的通用存储库不会保留旧版本的软件,因此您无能为力。
猜你喜欢
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多