Дистрибуцията Arch Linux осигурява възпроизводима сборка на образи на контейнери, което позволява да се уверите, че предоставените в образа бинарни файлове са събрани от предоставения изходен код и не съдържат скрити промени. Възпроизводимите образи на Arch Linux са публикувани в Docker Hub с таг repro. Всеки желаещ може да създаде от изходния код образ на контейнер бит по бит, който съвпада с разпространяваните от проекта готови образи, и да се увери, че инфраструктурата за сборка на дистрибуцията, компилаторът и инструментариумът за сборка не са компрометирани.
При формирането на възпроизводими сборки се вземат предвид следните нюанси: точно съвпадение на зависимостите; използване на неизменен състав и версии на инструментариума за сборка; идентичен набор от опции и настройки по подразбиране; запазване на реда на сборка на файловете (прилагане на същите методи за сортиране); деактивиране на добавянето от компилатора на променлива служебна информация, като случайни стойности, връзки към файлови пътища и данни за дата и време на сборка. Възпроизводимостта на сборките също е повлияна от грешки и условия на състезание в инструментариума.
Възпроизводимите образи се доставят отделно, тъй като за осигуряване на пълна възпроизводимост в тях не са включени ключовете за пакетния мениджър pacman. При необходимост от обновление или инсталиране на пакети чрез pacman в тези образи е необходимо да се изпълни команда за преразгряване на хранилището на ключове («pacman-key —init && pacman-key —populate archlinux»). За проверка на идентичността на собствената ви сборка с разпространявания през Docker Hub образ, можете да сравните хешовете, получени от командата «podman inspect —format '{{.Digest}}' », или да използвате утилитата diffoci.
Източник: opennet.ru
