مؤخرا تم الإعلان عن إطلاق "Rebuilderd" والتي يتم وضعها كـ نظام تحقق مستقل للحزم الثنائية أن يسمح بتنظيم عملية التحقق من حزم التوزيع من خلال تنفيذ عملية إنشاء قيد التشغيل تقارن الحزم القابلة للتنزيل بالحزم المستلمة نتيجة إعادة البناء على النظام المحلي.
وبعبارة أخرى، يوفر هذا النظام خدمة تراقب حالة فهرس الحزمة ويبدأ تلقائيًا في إعادة إنشاء حزم جديدة في البيئة المرجعية ، حالته متزامنة مع إعدادات البيئة حزمة بناء Arch Linux الرئيسية.
عند التجميع مرة أخرى ، الفروق الدقيقة مثل المراسلات الدقيقة للتبعيات تؤخذ في الاعتبار، واستخدام التراكيب والإصدارات غير المتغيرة من أدوات البناء ، ومجموعة الخيارات المتشابهة والإعدادات الافتراضية ، والحفاظ على ترتيب تجميع الملف (باستخدام نفس طرق الفرز).
تستبعد إعدادات عملية البناء المترجم من إضافة معلومات عامة غير متسقة مثل القيم العشوائية ، والارتباطات إلى مسارات الملفات ، وبيانات حول تاريخ ووقت التجميع.
حول Rebuilderd
يتوفر حاليًا الدعم التجريبي فقط للتحقق من حزم Arch Linux مع إعادة البناء ، لكنها تخطط لإضافة دعم دبيان قريبًا.
حاليا، يتم توفير إصدارات قابلة للتكرار لـ 84.1٪ من الحزم من مستودع Arch Linux الرئيسي ، حصل على 83.8٪ من مستودع الإضافات و 76.9٪ من مستودع المجتمع. للمقارنة ، هذا الرقم في دبيان 10 هو 94,1٪.
في حين أن الإنشاءات هي جزء مهم من الأمن ، كما هي إعطاء أي مستخدم الفرصة للتأكد أن حزم البايت التي تقدمها حزمة التوزيع تطابق الحزم المجمعة شخصيًا من المصدر.
بدون القدرة على التحقق من هوية الثنائي المترجم ، يمكن للمستخدم أن يثق بشكل أعمى فقط في البنية التحتية للبناء الخاصة بشخص آخر ، مما يعرض المحول البرمجي أو أدوات التجميع للخطر حيث يمكن أن يؤدي إلى استبدال العلامة المخفية.
التثبيت والتنفيذ
في أبسط الحالات ، لتشغيل buildd ، يكفي تثبيت حزمة buildd من المستودع العادي ، واستيراد مفتاح GPG للتحقق من البيئة وتنشيط خدمة النظام المقابلة. من الممكن تنفيذ شبكة من عدة مثيلات معاد بناؤها.
لتثبيت، يجب أن نفتح محطة طرفية ونكتب فيها الأمر التالي:
sudo pacman -S rebuilderd
فعلت هذا، الآن يجب علينا استيراد مفتاح GPG ، منذ ذلك الحين يجب على Rebuilderd التحقق من صورة تمهيد Arch Linux ، لهذا في المحطة ، سيتعين علينا كتابة الأمر التالي:
gpg --auto-key-locate nodefault,wkd --locate-keys pierre@archlinux.de
بعد هذا يتعين علينا إضافة مستخدمنا إلى مجموعة Rebuilderd ، منذ ذلك الحين قد نتلقى خطأ:
usermod -aG rebuilderd $USER
الآن علينا ببساطة التحقق من أن Rebuilderd قيد التشغيل بالفعل حول النظام ، لهذا ، علينا فقط كتابة:
rebuildctl status
وإذا أردنا مشاركة النتائج على الشبكة ، فعلينا كتابة:
يتيح systemctl الآن إعادة إنشاء بناء عامل @ ألفا
من المهم الآن أن نأخذ في الاعتبار أن Rebuilderd لن يتخذ أي إجراء حتى يتم تحديده بشكل صريح من مكان مزامنة حزم النظام ، ولهذا يتعين علينا تعديل ملف /etc/rebuilderd-sync.conf حيث يتم تكوين ملفات تعريف المزامنة أسماء ملفات التعريف هذه فريدة:
مثال على ذلك ما يلي:
## rebuild all of core
[profile."archlinux-core"]
distro = "archlinux"
suite = "core"
architecture = "x86_64"
source = "https://ftp.halifax.rwth-aachen.de/archlinux/core/os/x86_64/core.db"
## rebuild community packages of specific maintainers
#[profile."archlinux-community"]
#distro = "archlinux"
#suite = "community"
#architecture = "x86_64"
#source = "https://ftp.halifax.rwth-aachen.de/archlinux/community/os/x86_64/community.db"
#maintainer = ["somebody"]
بمجرد تعديل الملف ، عليك ببساطة تمكين المؤقت لمزامنة ملف التعريف تلقائيًا:
systemctl enable --now rebuilderd-sync@archlinux-core.timer
أخيرا إذا كنت تريد معرفة المزيد عن Rebuilderd، يجب أن يعلموا أنه مكتوب بلغة Rust ويتم توزيعه بموجب ترخيص GPLv3 ويمكنك التحقق من جميع تفاصيله والكود في الرابط التالي.