Dystrybucja łuku Linux Zapewniamy powtarzalne kompilacje obrazów kontenerów, gwarantując, że pliki binarne zawarte w obrazie są kompilowane z dostarczonego kodu źródłowego i nie zawierają ukrytych modyfikacji. Powtarzalne obrazy Arch Linux hostowany na Docker Hub z tagiem „repro”. Każdy może zbudować obraz kontenera z kodu źródłowego, który jest identyczny z predefiniowanymi obrazami projektu, zapewniając bezpieczeństwo infrastruktury kompilacji, kompilatora i narzędzi do kompilacji dystrybucji.
Tworząc powtarzalne kompilacje, bierzemy pod uwagę takie niuanse, jak precyzyjne dopasowanie zależności; używanie spójnego zestawu i wersji narzędzi do kompilacji; identyczny zestaw domyślnych opcji i ustawień; zachowanie kolejności kompilacji plików (z użyciem tych samych metod sortowania); oraz wyłączenie dodawania przez kompilator zmiennych informacji o usługach, takich jak wartości losowe, odwołania do ścieżek plików oraz dane dotyczące daty i godziny kompilacji. Na powtarzalność kompilacji wpływają również błędy i sytuacje wyścigu w narzędziach do kompilacji.
Obrazy do odtworzenia są dostarczane osobno, ponieważ, aby zapewnić pełną powtarzalność, nie zawierają kluczy do menedżera pakietów Pacman. Aby zaktualizować lub zainstalować pakiety za pośrednictwem Pacmana w tych obrazach, należy uruchomić polecenie ponownego utworzenia magazynu kluczy („pacman-key --init && pacman-key --populate archlinux”). Aby sprawdzić, czy Twoja kompilacja jest identyczna z obrazem dystrybuowanym za pośrednictwem Docker Hub, możesz porównać wartości skrótu zwrócone przez polecenie „podman inspect --format '{{.Digest}}”. „lub skorzystaj z narzędzia diffoci.
Źródło: opennet.ru
