توزیع آرچ لینوکس، ساختهای ایمیج کانتینر قابل تکرار را معرفی کرده است که تضمین میکند فایلهای باینری ارائه شده در ایمیج، از کد منبع ارائه شده ساخته شدهاند و هیچ تغییر پنهانی در آنها وجود ندارد. ایمیجهای قابل تکرار آرچ لینوکس در Docker Hub تحت برچسب "repro" میزبانی میشوند. هر کسی میتواند یک ایمیج کانتینر از کد منبع بسازد که با ایمیجهای نهایی توزیع شده توسط پروژه یکسان باشد و تضمین میکند که زیرساخت ساخت، کامپایلر و ابزارهای ساخت توزیع به خطر نمیافتند.
هنگام ایجاد نسخههای قابل تکرار، ما نکات ظریفی مانند تطبیق دقیق وابستگیها؛ استفاده از مجموعهای ثابت و نسخهای از ابزارهای ساخت؛ مجموعهای یکسان از گزینهها و تنظیمات پیشفرض؛ حفظ ترتیب ساخت فایلها (با استفاده از روشهای مرتبسازی یکسان)؛ و غیرفعال کردن افزودن اطلاعات سرویس فرار توسط کامپایلر، مانند مقادیر تصادفی، ارجاعات مسیر فایل و دادههای تاریخ و زمان ساخت را در نظر میگیریم. قابلیت تکرار ساخت همچنین تحت تأثیر خطاها و شرایط رقابتی در ابزارهای ساخت قرار میگیرد.
تصاویر قابل تکثیر به صورت جداگانه ارائه میشوند، زیرا برای اطمینان از تکثیر کامل، کلیدهایی برای مدیر بسته پکمن ندارند. اگر نیاز به بهروزرسانی یا نصب بستهها از طریق پکمن در این تصاویر دارید، باید دستور را برای ایجاد مجدد کلید اصلی اجرا کنید ("pacman-key --init && pacman-key --populate archlinux"). برای تأیید اینکه نسخه ساخته شده شما با تصویری که از طریق Docker Hub توزیع شده است یکسان است، میتوانید هشهای برگردانده شده توسط دستور "podman inspect --format '{{.Digest}}" را مقایسه کنید. یا از ابزار diffoci استفاده کنید.
منبع: opennet.ru
