有没有一种方法可以创建一个干净的基于Debian的映像(我希望它用于容器,但也可以用于虚拟(,只要安装的包和debconf参数相同,就可以自定义选择完全相同的二进制包?
基本上有两种用途:
- 一个指定其包含的包的确切版本的映像可以独立验证(使用快照或重建包,只要Debian能够使这些构建可复制(
- 轻松检查是否有任何包有新版本,因为映像可以在夜间简单地重建,并且只有在包中发生实际更改时,其校验和才会更改
它可以从debian发布的基本图像(例如docker图像debian:stable
(和apt构建,也可以使用debotstrap(IIRC,基本debian图像也使用debotStrap构建(或其他合适的构建器构建。
如果您想保证这一点,请构建一次图像,使用docker save
或docker push
将其保存在某个位置,然后将该图像用作基础图像。
docker save
:https://docs.docker.com/engine/reference/commandline/save/docker push
:https://docs.docker.com/engine/reference/commandline/push/
编辑:这是行不通的,请参阅下面的评论。
您可以使用mmdebstrap,默认情况下(如果设置了SOURCE_DATE_EPOCH
环境变量(,它应该创建可复制的安装,否则我认为这将被视为一个错误。
或者你可以使用deberrotype
Debian中的其他工具也有一个wiki页面跟踪这一点,网址为https://wiki.debian.org/ReproducibleInstalls.