4

有没有办法创建一个干净的基于 Debian 的映像(我希望它用于容器,但它也可能用于虚拟),并自定义选择软件包,只要安装的软件包和 debconf 参数,这些软件包将是二进制完全相同的是相同的?

这基本上有两种用途:

  • 可以独立验证指定其包含的软件包的确切版本的图像(使用快照或重建软件包,只要 Debian 设法使这些构建可重现)
  • 轻松检查是否有任何包有新版本,因为可以简单地每晚重建映像,并且只有在包中有实际更改时其校验和才会更改。

它可以从 debian 发布的基础镜像(例如 docker 镜像debian:stable)和 apt 或使用 debootstrap(IIRC 基本 Debian 镜像也使用 debootstrap 构建)或其他合适的构建器构建。

4

2 回答 2

2

如果您想保证这一点,请构建您的图像一次,将其保存在某个地方,然后docker save使用docker push该图像作为基础图像。

docker savehttps
docker push : //docs.docker.com/engine/reference/commandline/save/ :https: //docs.docker.com/engine/reference/commandline/push/

编辑:这行不通,请参阅下面的评论。

于 2021-06-29T08:20:57.047 回答
1

您可以使用mmdebstrap,默认情况下应该创建可重现的安装(如果SOURCE_DATE_EPOCH设置了环境变量),如果没有,我认为这将被视为错误。

或者你可以使用debuerreotype

在https://wiki.debian.org/ReproducibleInstalls上还有一个 wiki 页面跟踪 Debian 中的其他工具。

于 2021-08-01T02:30:26.113 回答